mirror of
https://github.com/strapi/strapi.git
synced 2025-08-12 18:53:23 +00:00
Update tests
This commit is contained in:
parent
bc890ae9d3
commit
d90f3524f7
@ -11,5 +11,5 @@ module.exports = async ({ strapi }) => {
|
||||
auditLogsService.register();
|
||||
}
|
||||
|
||||
await executeCERegister({ strapi });
|
||||
executeCERegister({ strapi });
|
||||
};
|
||||
|
@ -7,11 +7,14 @@ jest.mock('../../../../server/register');
|
||||
|
||||
describe('Audit logs service', () => {
|
||||
afterEach(() => {
|
||||
jest.resetAllMocks();
|
||||
jest.resetModules();
|
||||
jest.useRealTimers();
|
||||
});
|
||||
|
||||
afterAll(() => {
|
||||
jest.resetAllMocks();
|
||||
});
|
||||
|
||||
describe('Init with audit logs disabled', () => {
|
||||
beforeAll(() => {
|
||||
jest.mock('@strapi/strapi/lib/utils/ee', () => ({
|
||||
@ -25,14 +28,7 @@ describe('Audit logs service', () => {
|
||||
const eeAdminRegister = require('../../register');
|
||||
const mockRegister = jest.fn();
|
||||
|
||||
global.strapi = {
|
||||
admin: {
|
||||
services: {
|
||||
permission: {
|
||||
actionProvider: { registerMany: jest.fn() },
|
||||
},
|
||||
},
|
||||
},
|
||||
const strapi = {
|
||||
container: {
|
||||
register: mockRegister,
|
||||
},
|
||||
@ -46,15 +42,16 @@ describe('Audit logs service', () => {
|
||||
|
||||
describe('Init with audit logs enabled', () => {
|
||||
const mockRegister = jest.fn();
|
||||
const mockAddContentType = jest.fn();
|
||||
const mockGet = jest.fn((name) => {
|
||||
if (name === 'content-types') {
|
||||
return {
|
||||
add: mockAddContentType,
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
jest.mock('@strapi/strapi/lib/utils/ee', () => ({
|
||||
features: {
|
||||
// We only enabled audit logs
|
||||
isEnabled: (feature) => feature === 'audit-logs',
|
||||
},
|
||||
}));
|
||||
global.strapi = {
|
||||
const strapi = {
|
||||
admin: {
|
||||
services: {
|
||||
permission: {
|
||||
@ -64,6 +61,10 @@ describe('Audit logs service', () => {
|
||||
},
|
||||
container: {
|
||||
register: mockRegister,
|
||||
get: mockGet,
|
||||
},
|
||||
entityService: {
|
||||
create: jest.fn(),
|
||||
},
|
||||
eventHub: createEventHub(),
|
||||
requestContext: {
|
||||
@ -78,6 +79,25 @@ describe('Audit logs service', () => {
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const mockSaveEvent = jest.fn();
|
||||
|
||||
beforeAll(() => {
|
||||
jest.mock('@strapi/strapi/lib/utils/ee', () => ({
|
||||
features: {
|
||||
// We only enabled audit logs
|
||||
isEnabled: (feature) => feature === 'audit-logs',
|
||||
},
|
||||
}));
|
||||
|
||||
jest.mock('@strapi/provider-audit-logs-local', () => ({
|
||||
register: jest.fn(),
|
||||
saveEvent: mockSaveEvent,
|
||||
}));
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
mockSaveEvent.mockClear();
|
||||
});
|
||||
|
||||
it('should register and init the audit logs service when registered', async () => {
|
||||
@ -89,23 +109,22 @@ describe('Audit logs service', () => {
|
||||
});
|
||||
|
||||
it('should emit an event and capture it in the audit logs', async () => {
|
||||
const logSpy = jest.spyOn(console, 'log');
|
||||
|
||||
const auditLogsService = createAuditLogsService(strapi);
|
||||
auditLogsService.register();
|
||||
|
||||
jest.useFakeTimers().setSystemTime(new Date('1970-01-01T00:00:00.000Z'));
|
||||
await strapi.eventHub.emit('entry.create', { meta: 'test' });
|
||||
|
||||
// TODO: Replace with a test to save to db
|
||||
const [message, payload] = logSpy.mock.lastCall;
|
||||
expect(message).toBe('Saving event');
|
||||
expect(payload).toMatchObject({
|
||||
// Sends the processed event to a provider
|
||||
expect(mockSaveEvent).toHaveBeenCalledTimes(1);
|
||||
expect(mockSaveEvent).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
action: 'entry.create',
|
||||
date: '1970-01-01T00:00:00.000Z',
|
||||
payload: { meta: 'test' },
|
||||
userId: 1,
|
||||
});
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
it('ignores events that are not in the event map', async () => {
|
||||
@ -120,14 +139,5 @@ describe('Audit logs service', () => {
|
||||
|
||||
expect(logSpy).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should throw and error when name is empty', async () => {
|
||||
const auditLogsService = createAuditLogsService(strapi);
|
||||
auditLogsService.register();
|
||||
|
||||
await expect(() => {
|
||||
return strapi.eventHub.emit('', { meta: 'test' });
|
||||
}).rejects.toThrowError('Name is required');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -55,10 +55,6 @@ const createAuditLogsService = (strapi) => {
|
||||
};
|
||||
|
||||
const handleEvent = async (name, ...args) => {
|
||||
if (!name) {
|
||||
throw Error('Name is required');
|
||||
}
|
||||
|
||||
const processedEvent = processEvent(name, ...args);
|
||||
|
||||
if (processedEvent) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user