1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-03-27 18:29:39 +01:00
immich/server/src/repositories/logger.repository.spec.ts
2024-10-04 16:57:34 -04:00

40 lines
1.3 KiB
TypeScript

import { ClsService } from 'nestjs-cls';
import { ImmichWorker } from 'src/enum';
import { IConfigRepository } from 'src/interfaces/config.interface';
import { LoggerRepository } from 'src/repositories/logger.repository';
import { mockEnvData, newConfigRepositoryMock } from 'test/repositories/config.repository.mock';
import { Mocked } from 'vitest';
describe(LoggerRepository.name, () => {
let sut: LoggerRepository;
let configMock: Mocked<IConfigRepository>;
let clsMock: Mocked<ClsService>;
beforeEach(() => {
configMock = newConfigRepositoryMock();
clsMock = {
getId: vitest.fn(),
} as unknown as Mocked<ClsService>;
});
describe('formatContext', () => {
it('should use colors', () => {
configMock.getEnv.mockReturnValue(mockEnvData({ noColor: false }));
sut = new LoggerRepository(clsMock, configMock);
sut.setAppName(ImmichWorker.API);
expect(sut['formatContext']('context')).toBe('\u001B[33m[Api:context]\u001B[39m ');
});
it('should not use colors when noColor is true', () => {
configMock.getEnv.mockReturnValue(mockEnvData({ noColor: true }));
sut = new LoggerRepository(clsMock, configMock);
sut.setAppName(ImmichWorker.API);
expect(sut['formatContext']('context')).toBe('[Api:context] ');
});
});
});