mirror of
https://github.com/mediacms-io/mediacms.git
synced 2026-01-20 07:12:58 -05:00
feat: frontend unit tests
This commit is contained in:
54
frontend/tests/utils/helpers/log.test.ts
Normal file
54
frontend/tests/utils/helpers/log.test.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
import { warn, error } from '../../../src/static/js/utils/helpers/log';
|
||||
|
||||
describe('js/utils/helpers', () => {
|
||||
describe('log', () => {
|
||||
beforeEach(() => {
|
||||
// Setup console mocks - replaces global console methods with jest mocks
|
||||
globalThis.console.warn = jest.fn();
|
||||
globalThis.console.error = jest.fn();
|
||||
|
||||
jest.clearAllMocks();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// Restore original console methods
|
||||
jest.restoreAllMocks();
|
||||
});
|
||||
|
||||
test('Warn proxies arguments to console.warn preserving order and count', () => {
|
||||
warn('a', 'b', 'c');
|
||||
expect(console.warn).toHaveBeenCalledTimes(1);
|
||||
expect(console.warn).toHaveBeenCalledWith('a', 'b', 'c');
|
||||
});
|
||||
|
||||
test('Error proxies arguments to console.error preserving order and count', () => {
|
||||
error('x', 'y');
|
||||
expect(console.error).toHaveBeenCalledTimes(1);
|
||||
expect(console.error).toHaveBeenCalledWith('x', 'y');
|
||||
});
|
||||
|
||||
test('Warn supports zero arguments', () => {
|
||||
warn();
|
||||
expect(console.warn).toHaveBeenCalledTimes(1);
|
||||
expect((console.warn as jest.Mock).mock.calls[0].length).toBe(0);
|
||||
});
|
||||
|
||||
test('Error supports zero arguments', () => {
|
||||
error();
|
||||
expect(console.error).toHaveBeenCalledTimes(1);
|
||||
expect((console.error as jest.Mock).mock.calls[0].length).toBe(0);
|
||||
});
|
||||
|
||||
test('Warn does not call console.error and error does not call console.warn', () => {
|
||||
warn('only-warn');
|
||||
expect(console.warn).toHaveBeenCalledTimes(1);
|
||||
expect(console.error).not.toHaveBeenCalled();
|
||||
|
||||
jest.clearAllMocks();
|
||||
|
||||
error('only-error');
|
||||
expect(console.error).toHaveBeenCalledTimes(1);
|
||||
expect(console.warn).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user