Как я могу написать модульный тест для перехвата перьев? - PullRequest
0 голосов
/ 01 мая 2019

Я пишу ловушку, которая записывает журнал в БД, когда пользователь сделал действие. Я хочу убедиться, что все работает как положено. Поэтому я попытался написать тест для этого. Вот что у меня за крючок.

   // 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'));
  });
...