mirror of
https://github.com/immich-app/immich.git
synced 2024-12-23 02:06:15 +02:00
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
|
import { CreateUserDto, UpdateUserDto, UserResponseDto } from '@app/domain';
|
||
|
import request from 'supertest';
|
||
|
|
||
|
export const userApi = {
|
||
|
create: async (server: any, accessToken: string, dto: CreateUserDto) => {
|
||
|
const { status, body } = await request(server)
|
||
|
.post('/user')
|
||
|
.set('Authorization', `Bearer ${accessToken}`)
|
||
|
.send(dto);
|
||
|
|
||
|
expect(status).toBe(201);
|
||
|
expect(body).toMatchObject({
|
||
|
id: expect.any(String),
|
||
|
createdAt: expect.any(String),
|
||
|
updatedAt: expect.any(String),
|
||
|
email: dto.email,
|
||
|
});
|
||
|
|
||
|
return body as UserResponseDto;
|
||
|
},
|
||
|
get: async (server: any, accessToken: string, id: string) => {
|
||
|
const { status, body } = await request(server)
|
||
|
.get(`/user/info/${id}`)
|
||
|
.set('Authorization', `Bearer ${accessToken}`);
|
||
|
|
||
|
expect(status).toBe(200);
|
||
|
expect(body).toMatchObject({ id });
|
||
|
|
||
|
return body as UserResponseDto;
|
||
|
},
|
||
|
update: async (server: any, accessToken: string, dto: UpdateUserDto) => {
|
||
|
const { status, body } = await request(server).put('/user').set('Authorization', `Bearer ${accessToken}`).send(dto);
|
||
|
|
||
|
expect(status).toBe(200);
|
||
|
expect(body).toMatchObject({ id: dto.id });
|
||
|
|
||
|
return body as UserResponseDto;
|
||
|
},
|
||
|
delete: async (server: any, accessToken: string, id: string) => {
|
||
|
const { status, body } = await request(server).delete(`/user/${id}`).set('Authorization', `Bearer ${accessToken}`);
|
||
|
|
||
|
expect(status).toBe(200);
|
||
|
expect(body).toMatchObject({ id, deletedAt: expect.any(String) });
|
||
|
|
||
|
return body as UserResponseDto;
|
||
|
},
|
||
|
};
|