test(v1): stub eventTypeService in events.create suite + cover unknown-type 400
The catalog-backed event_type validator (#800) makes a db('event_types') lookup before the handler runs, which consumed the first queued mock chain and shifted the pinned db() call sequence — 5 tests failed on CI. Stub isValidEventType to true (validation isn't this suite's subject) and add an explicit test for the new 400-on-unknown-type path.
This commit is contained in:
@@ -80,7 +80,16 @@ jest.mock('../../../services/webhookService', () => ({
|
|||||||
buildEventSubject: jest.fn().mockReturnValue({}),
|
buildEventSubject: jest.fn().mockReturnValue({}),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
// event_type is validated against the live event_types catalog (#800) —
|
||||||
|
// that lookup would consume the first queued db() chain and shift the
|
||||||
|
// call sequence these tests pin. Stub it valid; the invalid path has its
|
||||||
|
// own test below.
|
||||||
|
jest.mock('../../../services/eventTypeService', () => ({
|
||||||
|
isValidEventType: jest.fn().mockResolvedValue(true),
|
||||||
|
}));
|
||||||
|
|
||||||
const { db } = require('../../../database/db');
|
const { db } = require('../../../database/db');
|
||||||
|
const { isValidEventType } = require('../../../services/eventTypeService');
|
||||||
const eventsRouter = require('../events');
|
const eventsRouter = require('../events');
|
||||||
|
|
||||||
const buildApp = () => {
|
const buildApp = () => {
|
||||||
@@ -231,4 +240,16 @@ describe('v1 POST /events — issue #550 (color_theme + feedback row)', () => {
|
|||||||
.send({ ...BASE_BODY, feedback_enabled: 'maybe' })
|
.send({ ...BASE_BODY, feedback_enabled: 'maybe' })
|
||||||
.expect(400);
|
.expect(400);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('rejects an event_type unknown to the catalog with 400 (#800)', async () => {
|
||||||
|
isValidEventType.mockResolvedValueOnce(false);
|
||||||
|
const res = await request(buildApp())
|
||||||
|
.post('/events')
|
||||||
|
.send({ ...BASE_BODY, event_type: 'nope' })
|
||||||
|
.expect(400);
|
||||||
|
|
||||||
|
expect(isValidEventType).toHaveBeenCalledWith('nope');
|
||||||
|
expect(JSON.stringify(res.body.errors)).toContain('event_type');
|
||||||
|
expect(db).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user