Test Setup Failed
Push — main ( 65658e...e4024b )
by Acho
02:13
created

heartbeat_service_test.go   A

Size/Duplication

Total Lines 65
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 38
dl 0
loc 65
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A httpsms.TestHeartbeatService_Index 0 27 1
A httpsms.TestHeartbeatService_IndexWithError 0 24 1
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