Passed
Push — main ( b6acc3...d081c0 )
by Acho
01:28
created

lemonsqueezy.TestLicenseKeysService_List   A

Complexity

Conditions 1

Size

Total Lines 20
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 10
nop 1
dl 0
loc 20
rs 9.9
c 0
b 0
f 0
1
package lemonsqueezy
2
3
import (
4
	"context"
5
	"net/http"
6
	"testing"
7
8
	"github.com/NdoleStudio/lemonsqueezy-go/internal/helpers"
9
	"github.com/NdoleStudio/lemonsqueezy-go/internal/stubs"
10
	"github.com/stretchr/testify/assert"
11
)
12
13
func TestLicenseKeysService_Get(t *testing.T) {
14
	// Setup
15
	t.Parallel()
16
17
	// Arrange
18
	server := helpers.MakeTestServer(http.StatusOK, stubs.LicenseKeyGetResponse())
19
	client := New(WithBaseURL(server.URL))
20
21
	// Act
22
	licenseKey, response, err := client.LicenseKeys.Get(context.Background(), "1")
23
24
	// Assert
25
	assert.Nil(t, err)
26
27
	assert.Equal(t, http.StatusOK, response.HTTPResponse.StatusCode)
28
	assert.Equal(t, stubs.LicenseKeyGetResponse(), *response.Body)
29
	assert.Equal(t, "1", licenseKey.Data.ID)
30
31
	// Teardown
32
	server.Close()
33
}
34
35
func TestLicenseKeysService_GetWithError(t *testing.T) {
36
	// Setup
37
	t.Parallel()
38
39
	// Arrange
40
	server := helpers.MakeTestServer(http.StatusInternalServerError, nil)
41
	client := New(WithBaseURL(server.URL))
42
43
	// Act
44
	_, response, err := client.LicenseKeys.Get(context.Background(), "1")
45
46
	// Assert
47
	assert.NotNil(t, err)
48
49
	assert.Equal(t, http.StatusInternalServerError, response.HTTPResponse.StatusCode)
50
51
	// Teardown
52
	server.Close()
53
}
54
55
func TestLicenseKeysService_List(t *testing.T) {
56
	// Setup
57
	t.Parallel()
58
59
	// Arrange
60
	server := helpers.MakeTestServer(http.StatusOK, stubs.LicenseKeysListResponse())
61
	client := New(WithBaseURL(server.URL))
62
63
	// Act
64
	licenseKeys, response, err := client.LicenseKeys.List(context.Background())
65
66
	// Assert
67
	assert.Nil(t, err)
68
69
	assert.Equal(t, http.StatusOK, response.HTTPResponse.StatusCode)
70
	assert.Equal(t, stubs.LicenseKeysListResponse(), *response.Body)
71
	assert.Equal(t, 1, len(licenseKeys.Data))
72
73
	// Teardown
74
	server.Close()
75
}
76
77
func TestLicenseKeysService_ListWithError(t *testing.T) {
78
	// Setup
79
	t.Parallel()
80
81
	// Arrange
82
	server := helpers.MakeTestServer(http.StatusInternalServerError, nil)
83
	client := New(WithBaseURL(server.URL))
84
85
	// Act
86
	_, response, err := client.LicenseKeys.List(context.Background())
87
88
	// Assert
89
	assert.NotNil(t, err)
90
91
	assert.Equal(t, http.StatusInternalServerError, response.HTTPResponse.StatusCode)
92
93
	// Teardown
94
	server.Close()
95
}
96