Passed
Push — main ( b84f1a...40456e )
by Acho
01:32
created

client.TestUsersService_MeCancelledContext   A

Complexity

Conditions 1

Size

Total Lines 20
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 11
nop 1
dl 0
loc 20
rs 9.85
c 0
b 0
f 0
1
package client
2
3
import (
4
	"context"
5
	"errors"
6
	"net/http"
7
	"testing"
8
9
	"github.com/NdoleStudio/lemonsqueezy-go/internal/helpers"
10
	"github.com/NdoleStudio/lemonsqueezy-go/internal/stubs"
11
	"github.com/stretchr/testify/assert"
12
)
13
14
func TestUsersService_Me(t *testing.T) {
15
	// Setup
16
	t.Parallel()
17
18
	// Arrange
19
	server := helpers.MakeTestServer(http.StatusOK, stubs.UsersMeResponse())
20
	client := New(WithBaseURL(server.URL))
21
22
	// Act
23
	user, response, err := client.Users.Me(context.Background())
24
25
	// Assert
26
	assert.Nil(t, err)
27
28
	assert.Equal(t, http.StatusOK, response.HTTPResponse.StatusCode)
29
	assert.Equal(t, stubs.UsersMeResponse(), *response.Body)
30
	assert.Equal(t, "[email protected]", user.Data.Attributes.Email)
31
32
	// Teardown
33
	server.Close()
34
}
35
36
func TestUsersService_MeWithError(t *testing.T) {
37
	// Setup
38
	t.Parallel()
39
40
	// Arrange
41
	server := helpers.MakeTestServer(http.StatusInternalServerError, nil)
42
	client := New(WithBaseURL(server.URL))
43
44
	// Act
45
	_, response, err := client.Users.Me(context.Background())
46
47
	// Assert
48
	assert.NotNil(t, err)
49
50
	assert.Equal(t, http.StatusInternalServerError, response.HTTPResponse.StatusCode)
51
52
	// Teardown
53
	server.Close()
54
}
55
56
func TestUsersService_MeCancelledContext(t *testing.T) {
57
	// Setup
58
	t.Parallel()
59
60
	// Arrange
61
	server := helpers.MakeTestServer(http.StatusInternalServerError, nil)
62
	client := New(WithBaseURL(server.URL))
63
	ctx, cancel := context.WithCancel(context.Background())
64
	cancel()
65
66
	// Act
67
	_, response, err := client.Users.Me(ctx)
68
69
	// Assert
70
	assert.NotNil(t, err)
71
	assert.Nil(t, response)
72
	assert.True(t, errors.Is(err, context.Canceled))
73
74
	// Teardown
75
	server.Close()
76
}
77