forked from Cutlery/immich
		
	* tests for person service * tests for auth service * tests for access core * improve tests for album service * fix missing brackets and remove comments * tests for asset service * tests for face recognition * tests for job service * feedback * tests for search service (broken) * fix: disabled search test * tests for smart-info service * tests for storage template service * tests for user service * fix formatting of untouched files LOL * attempt to fix formatting * streamline api utils, add asset api for uploading files * test upload of assets * fix formatting * move test-utils to correct folder * test add assets to album * use random bytes instead of test image * (e2e) test albums with assets * (e2e) complete tests for album endpoints * (e2e) tests for asset endpoint * fix: asset upload/import dto validation * (e2e) tests for statistics asset endpoint * fix wrong describe text * (e2e) tests for people with faces * (e2e) clean up person tests * (e2e) tests for partner sharing endpoints * (e2e) tests for link sharing * (e2e) tests for the asset time bucket endpoint * fix minor issues * remove access.core.spec.ts * chore: wording * chore: organize test api files * chore: fix test describe * implement feedback * fix race condition in album tests --------- Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
		
			
				
	
	
		
			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;
 | 
						|
  },
 | 
						|
};
 |