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:
47
frontend/tests/utils/helpers/errors.test.ts
Normal file
47
frontend/tests/utils/helpers/errors.test.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
// Mock the './log' module used by errors.ts to capture calls without console side effects
|
||||
jest.mock('../../../src/static/js/utils/helpers/log', () => ({ error: jest.fn(), warn: jest.fn() }));
|
||||
|
||||
import { logErrorAndReturnError, logWarningAndReturnError } from '../../../src/static/js/utils/helpers/errors';
|
||||
import { error as mockedError, warn as mockedWarn } from '../../../src/static/js/utils/helpers/log';
|
||||
|
||||
describe('js/utils/helpers', () => {
|
||||
describe('errors', () => {
|
||||
beforeEach(() => {
|
||||
jest.clearAllMocks();
|
||||
});
|
||||
|
||||
test('logErrorAndReturnError returns Error with first message and logs with error', () => {
|
||||
const messages = ['Primary msg', 'details', 'more'];
|
||||
const err = logErrorAndReturnError(messages);
|
||||
expect(err).toBeInstanceOf(Error);
|
||||
expect(err.message).toBe('Primary msg');
|
||||
expect(mockedError).toHaveBeenCalledTimes(1);
|
||||
expect(mockedError).toHaveBeenCalledWith(...messages);
|
||||
});
|
||||
|
||||
test('logWarningAndReturnError returns Error with first message and logs with warn', () => {
|
||||
const messages = ['Primary msg', 'details', 'more'];
|
||||
const err = logWarningAndReturnError(messages);
|
||||
expect(err).toBeInstanceOf(Error);
|
||||
expect(err.message).toBe('Primary msg');
|
||||
expect(mockedWarn).toHaveBeenCalledTimes(1);
|
||||
expect(mockedWarn).toHaveBeenCalledWith(...messages);
|
||||
});
|
||||
|
||||
test('Handles empty array creating an Error with undefined message and logs called with no args', () => {
|
||||
const messages: string[] = [];
|
||||
|
||||
const err1 = logErrorAndReturnError(messages);
|
||||
expect(err1).toBeInstanceOf(Error);
|
||||
expect(err1.message).toBe('');
|
||||
expect(mockedError).toHaveBeenCalledWith('');
|
||||
|
||||
jest.clearAllMocks();
|
||||
|
||||
const err2 = logWarningAndReturnError(messages);
|
||||
expect(err2).toBeInstanceOf(Error);
|
||||
expect(err2.message).toBe('');
|
||||
expect(mockedWarn).toHaveBeenCalledWith('');
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user