refactor: small test factories (#26862)

This commit is contained in:
Daniel Dietzler
2026-03-12 19:48:49 +01:00
committed by GitHub
parent 3fd24e2083
commit 001d7d083f
18 changed files with 414 additions and 389 deletions
+11 -10
View File
@@ -3,10 +3,11 @@ import { UserAdmin } from 'src/database';
import { CacheControl, JobName, UserMetadataKey } from 'src/enum';
import { UserService } from 'src/services/user.service';
import { ImmichFileResponse } from 'src/utils/file';
import { AuthFactory } from 'test/factories/auth.factory';
import { UserFactory } from 'test/factories/user.factory';
import { authStub } from 'test/fixtures/auth.stub';
import { systemConfigStub } from 'test/fixtures/system-config.stub';
import { userStub } from 'test/fixtures/user.stub';
import { factory } from 'test/small.factory';
import { newTestService, ServiceMocks } from 'test/utils';
const makeDeletedAt = (daysAgo: number) => {
@@ -28,8 +29,8 @@ describe(UserService.name, () => {
describe('getAll', () => {
it('admin should get all users', async () => {
const user = factory.userAdmin();
const auth = factory.auth({ user });
const user = UserFactory.create();
const auth = AuthFactory.create(user);
mocks.user.getList.mockResolvedValue([user]);
@@ -39,8 +40,8 @@ describe(UserService.name, () => {
});
it('non-admin should get all users when publicUsers enabled', async () => {
const user = factory.userAdmin();
const auth = factory.auth({ user });
const user = UserFactory.create();
const auth = AuthFactory.create(user);
mocks.user.getList.mockResolvedValue([user]);
@@ -105,7 +106,7 @@ describe(UserService.name, () => {
it('should throw an error if the user profile could not be updated with the new image', async () => {
const file = { path: '/profile/path' } as Express.Multer.File;
const user = factory.userAdmin({ profileImagePath: '/path/to/profile.jpg' });
const user = UserFactory.create({ profileImagePath: '/path/to/profile.jpg' });
mocks.user.get.mockResolvedValue(user);
mocks.user.update.mockRejectedValue(new InternalServerErrorException('mocked error'));
@@ -113,7 +114,7 @@ describe(UserService.name, () => {
});
it('should delete the previous profile image', async () => {
const user = factory.userAdmin({ profileImagePath: '/path/to/profile.jpg' });
const user = UserFactory.create({ profileImagePath: '/path/to/profile.jpg' });
const file = { path: '/profile/path' } as Express.Multer.File;
const files = [user.profileImagePath];
@@ -149,7 +150,7 @@ describe(UserService.name, () => {
});
it('should delete the profile image if user has one', async () => {
const user = factory.userAdmin({ profileImagePath: '/path/to/profile.jpg' });
const user = UserFactory.create({ profileImagePath: '/path/to/profile.jpg' });
const files = [user.profileImagePath];
mocks.user.get.mockResolvedValue(user);
@@ -178,7 +179,7 @@ describe(UserService.name, () => {
});
it('should return the profile picture', async () => {
const user = factory.userAdmin({ profileImagePath: '/path/to/profile.jpg' });
const user = UserFactory.create({ profileImagePath: '/path/to/profile.jpg' });
mocks.user.get.mockResolvedValue(user);
await expect(sut.getProfileImage(user.id)).resolves.toEqual(
@@ -205,7 +206,7 @@ describe(UserService.name, () => {
});
it('should queue user ready for deletion', async () => {
const user = factory.user();
const user = UserFactory.create();
mocks.user.getDeletedAfter.mockResolvedValue([{ id: user.id }]);
await sut.handleUserDeleteCheck();