diff --git a/src/adapters/User/index.test.ts b/src/adapters/User/index.test.ts new file mode 100644 index 0000000..1e26ab4 --- /dev/null +++ b/src/adapters/User/index.test.ts @@ -0,0 +1,25 @@ +import { getAuth } from 'adapters/BaseAuth'; + +import { getUserInfo } from '.'; + +jest.mock('adapters/BaseAuth'); + +describe('UserAdapter', () => { + beforeEach(() => { + (getAuth as jest.Mock).mockImplementation(() => jest.fn()); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + describe('getUserInfo', () => { + it('calls the get method from the base adapter', () => { + const expectedPath = 'me'; + + getUserInfo(); + + expect(getAuth).toHaveBeenCalledWith(expectedPath); + }); + }); +}); diff --git a/src/adapters/User/index.ts b/src/adapters/User/index.ts new file mode 100644 index 0000000..74b9b4d --- /dev/null +++ b/src/adapters/User/index.ts @@ -0,0 +1,3 @@ +import { getAuth } from 'adapters/BaseAuth'; + +export const getUserInfo = () => getAuth('me'); diff --git a/src/types/user.ts b/src/types/user.ts new file mode 100644 index 0000000..8f82ee9 --- /dev/null +++ b/src/types/user.ts @@ -0,0 +1,7 @@ +import { Resource } from './resource'; + +export interface User extends Resource { + email: string; + name: string; + avatarUrl: string; +}