auth-api.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { AuthDeviceResponseDto, LoginCredentialDto, LoginResponseDto, UserResponseDto } from '@app/domain';
  2. import { adminSignupStub, loginResponseStub, loginStub } from '@test';
  3. import request from 'supertest';
  4. export const authApi = {
  5. adminSignUp: async (server: any) => {
  6. const { status, body } = await request(server).post('/auth/admin-sign-up').send(adminSignupStub);
  7. expect(status).toBe(201);
  8. return body as UserResponseDto;
  9. },
  10. adminLogin: async (server: any) => {
  11. const { status, body } = await request(server).post('/auth/login').send(loginStub.admin);
  12. expect(body).toEqual(loginResponseStub.admin.response);
  13. expect(body).toMatchObject({ accessToken: expect.any(String) });
  14. expect(status).toBe(201);
  15. return body as LoginResponseDto;
  16. },
  17. login: async (server: any, dto: LoginCredentialDto) => {
  18. const { status, body } = await request(server).post('/auth/login').send(dto);
  19. expect(status).toEqual(201);
  20. expect(body).toMatchObject({ accessToken: expect.any(String) });
  21. return body as LoginResponseDto;
  22. },
  23. getAuthDevices: async (server: any, accessToken: string) => {
  24. const { status, body } = await request(server).get('/auth/devices').set('Authorization', `Bearer ${accessToken}`);
  25. expect(body).toEqual(expect.any(Array));
  26. expect(status).toBe(200);
  27. return body as AuthDeviceResponseDto[];
  28. },
  29. validateToken: async (server: any, accessToken: string) => {
  30. const { status, body } = await request(server)
  31. .post('/auth/validateToken')
  32. .set('Authorization', `Bearer ${accessToken}`);
  33. expect(body).toEqual({ authStatus: true });
  34. expect(status).toBe(200);
  35. },
  36. };