| Total Lines | 52 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | package client |
||
| 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 TestUsersService_Me(t *testing.T) { |
||
| 14 | // Setup |
||
| 15 | t.Parallel() |
||
| 16 | |||
| 17 | // Arrange |
||
| 18 | server := helpers.MakeTestServer(http.StatusOK, stubs.UsersMeResponse()) |
||
| 19 | client := New(WithBaseURL(server.URL)) |
||
| 20 | |||
| 21 | // Act |
||
| 22 | user, response, err := client.Users.Me(context.Background()) |
||
| 23 | |||
| 24 | // Assert |
||
| 25 | assert.Nil(t, err) |
||
| 26 | |||
| 27 | assert.Equal(t, http.StatusOK, response.HTTPResponse.StatusCode) |
||
| 28 | assert.Equal(t, stubs.UsersMeResponse(), *response.Body) |
||
| 29 | assert.Equal(t, "[email protected]", user.Data.Attributes.Email) |
||
| 30 | |||
| 31 | // Teardown |
||
| 32 | server.Close() |
||
| 33 | } |
||
| 34 | |||
| 35 | func TestUsersService_MeWithError(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.Users.Me(context.Background()) |
||
| 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 |