diff options
Diffstat (limited to 'src/client/api/client.test.ts')
| -rw-r--r-- | src/client/api/client.test.ts | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/client/api/client.test.ts b/src/client/api/client.test.ts index 5489547..27c3a0a 100644 --- a/src/client/api/client.test.ts +++ b/src/client/api/client.test.ts @@ -13,8 +13,10 @@ import { import { ApiClient, ApiClientError, + type LoginResponse, localStorageTokenStorage, type TokenStorage, + type User, } from "./client"; function createMockTokenStorage(): TokenStorage & { @@ -209,3 +211,31 @@ describe("localStorageTokenStorage", () => { expect(localStorageTokenStorage.getTokens()).toBeNull(); }); }); + +describe("InferResponseType types", () => { + it("LoginResponse has expected properties", () => { + // This test verifies the inferred types have the correct structure + // The type assertions will fail at compile time if the types are wrong + const mockResponse: LoginResponse = { + accessToken: "access-token", + refreshToken: "refresh-token", + user: { id: "123", username: "testuser" }, + }; + + expect(mockResponse.accessToken).toBe("access-token"); + expect(mockResponse.refreshToken).toBe("refresh-token"); + expect(mockResponse.user.id).toBe("123"); + expect(mockResponse.user.username).toBe("testuser"); + }); + + it("User type is correctly derived from LoginResponse", () => { + // Verify User type has expected structure + const user: User = { + id: "user-1", + username: "testuser", + }; + + expect(user.id).toBe("user-1"); + expect(user.username).toBe("testuser"); + }); +}); |
