mirror of
https://github.com/immich-app/immich.git
synced 2024-12-29 11:24:37 +02:00
5423f1c25b
* refactor: auth dtos * chore: open api
46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
import { AuthDeviceResponseDto, LoginCredentialDto, LoginResponseDto, UserResponseDto } from '@app/domain';
|
|
import { adminSignupStub, loginResponseStub, loginStub } from '@test';
|
|
import request from 'supertest';
|
|
|
|
export const authApi = {
|
|
adminSignUp: async (server: any) => {
|
|
const { status, body } = await request(server).post('/auth/admin-sign-up').send(adminSignupStub);
|
|
|
|
expect(status).toBe(201);
|
|
|
|
return body as UserResponseDto;
|
|
},
|
|
adminLogin: async (server: any) => {
|
|
const { status, body } = await request(server).post('/auth/login').send(loginStub.admin);
|
|
|
|
expect(body).toEqual(loginResponseStub.admin.response);
|
|
expect(body).toMatchObject({ accessToken: expect.any(String) });
|
|
expect(status).toBe(201);
|
|
|
|
return body as LoginResponseDto;
|
|
},
|
|
login: async (server: any, dto: LoginCredentialDto) => {
|
|
const { status, body } = await request(server).post('/auth/login').send(dto);
|
|
|
|
expect(status).toEqual(201);
|
|
expect(body).toMatchObject({ accessToken: expect.any(String) });
|
|
|
|
return body as LoginResponseDto;
|
|
},
|
|
getAuthDevices: async (server: any, accessToken: string) => {
|
|
const { status, body } = await request(server).get('/auth/devices').set('Authorization', `Bearer ${accessToken}`);
|
|
|
|
expect(body).toEqual(expect.any(Array));
|
|
expect(status).toBe(200);
|
|
|
|
return body as AuthDeviceResponseDto[];
|
|
},
|
|
validateToken: async (server: any, accessToken: string) => {
|
|
const { status, body } = await request(server)
|
|
.post('/auth/validateToken')
|
|
.set('Authorization', `Bearer ${accessToken}`);
|
|
expect(body).toEqual({ authStatus: true });
|
|
expect(status).toBe(200);
|
|
},
|
|
};
|