Total Lines | 65 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | package httpsms |
||
2 | |||
3 | import ( |
||
4 | "context" |
||
5 | "encoding/json" |
||
6 | "github.com/NdoleStudio/httpsms-go/internal/helpers" |
||
7 | "github.com/NdoleStudio/httpsms-go/internal/stubs" |
||
8 | "github.com/stretchr/testify/assert" |
||
9 | "net/http" |
||
10 | "testing" |
||
11 | ) |
||
12 | |||
13 | func TestHeartbeatService_Index(t *testing.T) { |
||
14 | // Setup |
||
15 | t.Parallel() |
||
16 | |||
17 | // Arrange |
||
18 | apiKey := "test-api-key" |
||
19 | server := helpers.MakeTestServer(http.StatusOK, stubs.HeartbeatIndexResponse()) |
||
20 | client := New(WithBaseURL(server.URL), WithAPIKey(apiKey)) |
||
21 | |||
22 | // Act |
||
23 | heartbeats, response, err := client.Heartbeats.Index(context.Background(), &HeartbeatIndexParams{ |
||
24 | Skip: 0, |
||
25 | Owner: "+18005550199", |
||
26 | Query: nil, |
||
27 | Limit: 100, |
||
28 | }) |
||
29 | |||
30 | // Assert |
||
31 | assert.Nil(t, err) |
||
32 | |||
33 | assert.Equal(t, http.StatusOK, response.HTTPResponse.StatusCode) |
||
34 | |||
35 | jsonContent, _ := json.Marshal(heartbeats) |
||
36 | assert.JSONEq(t, string(stubs.HeartbeatIndexResponse()), string(jsonContent)) |
||
37 | |||
38 | // Teardown |
||
39 | server.Close() |
||
40 | } |
||
41 | |||
42 | func TestHeartbeatService_IndexWithError(t *testing.T) { |
||
43 | // Setup |
||
44 | t.Parallel() |
||
45 | |||
46 | // Arrange |
||
47 | apiKey := "test-api-key" |
||
48 | server := helpers.MakeTestServer(http.StatusInternalServerError, stubs.MessagesSendErrorResponse()) |
||
49 | client := New(WithBaseURL(server.URL), WithAPIKey(apiKey)) |
||
50 | |||
51 | // Act |
||
52 | _, response, err := client.Heartbeats.Index(context.Background(), &HeartbeatIndexParams{ |
||
53 | Skip: 0, |
||
54 | Owner: "+18005550199", |
||
55 | Query: nil, |
||
56 | Limit: 100, |
||
57 | }) |
||
58 | |||
59 | // Assert |
||
60 | assert.NotNil(t, err) |
||
61 | assert.Equal(t, http.StatusInternalServerError, response.HTTPResponse.StatusCode) |
||
62 | assert.Equal(t, string(stubs.MessagesSendErrorResponse()), string(*response.Body)) |
||
63 | |||
64 | // Teardown |
||
65 | server.Close() |
||
66 | } |
||
67 |