Skip to content

Commit

Permalink
test: update test for changement prefixDate to date
Browse files Browse the repository at this point in the history
  • Loading branch information
Necrelox committed Dec 27, 2023
1 parent 7bede12 commit 4bbfb95
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
11 changes: 7 additions & 4 deletions Tests/Units/ConsoleLoggerStrategy.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,21 @@ describe('ConsoleLoggerStrategy', (): void => {

logLevels.forEach((level: LogLevels): void => {
test(`should log a ${level} message`, (): void => {
const date: string = `[${new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '')}]`;
const date: Date = new Date();
const prefixDate: string = `[${date.toISOString().replace(/T/, ' ').replace(/\..+/, '')}]`;
strategy.log(level, date, 'hello world');
const mockMethod = mockConsole[level.toLowerCase() as keyof Console];
expect(mockMethod).toHaveBeenCalledWith(`${date} ${level} : hello world`);
expect(mockMethod).toHaveBeenCalledWith(`${prefixDate} ${level} : hello world`);
});

test(`should log a ${level} object`, (): void => {
const date: string = `[${new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '')}]`;
const date: Date = new Date();
const prefixDate: string = `[${date.toISOString().replace(/T/, ' ').replace(/\..+/, '')}]`;

const object: object = { hello: 'world' };
strategy.log(level, date, object);
const mockMethod = mockConsole[level.toLowerCase() as keyof Console];
expect(mockMethod).toHaveBeenCalledWith(`${date} ${level} : ${JSON.stringify(object)}`);
expect(mockMethod).toHaveBeenCalledWith(`${prefixDate} ${level} : ${JSON.stringify(object)}`);
});
});
});
12 changes: 7 additions & 5 deletions Tests/Units/FileLoggerStrategy.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@ describe('FileLoggerStrategy', (): void => {
[LogLevels.DEBUG, 'Debug message'],
[LogLevels.LOG, 'Log message']
])('should log a %s message', (level, message): void => {
const date: string = `[${new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '')}]`;
const date: Date = new Date();
const prefixDate: string = `[${date.toISOString().replace(/T/, ' ').replace(/\..+/, '')}]`;
fileLogger.log(level, date, message);
expect(appendFile).toHaveBeenCalledWith(`${testPath}`, `${date} ${level} : ${message}\n`, expect.any(Function));
expect(appendFile).toHaveBeenCalledWith(`${testPath}`, `${prefixDate} ${level} : ${message}\n`, expect.any(Function));
});

test.each([
Expand All @@ -35,18 +36,19 @@ describe('FileLoggerStrategy', (): void => {
[LogLevels.DEBUG, 'Debug message'],
[LogLevels.LOG, 'Log message']
])(`should log a %s object`, (level, message): void => {
const date: string = `[${new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '')}]`;
const date: Date = new Date();
const prefixDate: string = `[${date.toISOString().replace(/T/, ' ').replace(/\..+/, '')}]`;
const object: object = { hello: 'world' };
fileLogger.log(level, date, object);
expect(appendFile).toHaveBeenCalledWith(`${testPath}`, `${date} ${level} : ${JSON.stringify(object)}\n`, expect.any(Function));
expect(appendFile).toHaveBeenCalledWith(`${testPath}`, `${prefixDate} ${level} : ${JSON.stringify(object)}\n`, expect.any(Function));
});

test('should throw an error when the file cannot be written to', (): void => {
const mockError: Error = new Error('test error');
(appendFile as unknown as jest.Mock).mockImplementationOnce((path, message, callback): void => {
callback(mockError);
});
const date: string = `[${new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '')}]`;
const date: Date = new Date();
expect((): void => {
fileLogger.log(LogLevels.ERROR, date, 'Error message');
}).toThrow(mockError);
Expand Down

0 comments on commit 4bbfb95

Please sign in to comment.