Я пишу ловушку, которая записывает журнал в БД, когда пользователь сделал действие. Я хочу убедиться, что все работает как положено. Поэтому я попытался написать тест для этого. Вот что у меня за крючок.
// eslint-disable-next-line no-unused-vars
module.exports = ({ name }) => {
return async context => {
const service = context.app.service('tasks');
const id = context.id;
const action = context.data.status;
let { log } = await service.get(id);
const status = `The task was ${action} on ${Date()} by jdoe#10000`;
log.push(status);
context.data.log = log;
return context;
};
};
Это то, что у меня есть для теста. Но я не уверен, что дальше
const assert = require('assert');
const feathers = require('@feathersjs/feathers');
const updateStatus = require('../../src/hooks/updatestatus-task.js');
describe('\'updateStatus\' hook', () => {
let app;
beforeEach(() => {
app = feathers();
app.use('/dummy', {
async create(data) {
return data ;
}
});
app.service('dummy').hooks({
before: updateStatus({name: 'taskLog', action: 'Approved'})
});
assert.ok(app.service('dummy'));
});