text: 'use strict';
  
  const test = require('ava');
  const { EventEmitter } = require('events');
  
  const eventStore = new EventEmitter();
  const { addEventHook } = require('./event-hook');
  const {
      FEATURE_CREATED,
      FEATURE_UPDATED,
      FEATURE_ARCHIVED,
      FEATURE_REVIVED,
  } = require('./event-type');
  
  const o = {};
  
  function testHook(feature, data) {
      o[feature] = data;
  }
  
  test.before(() => {
      addEventHook(testHook, eventStore);
  });
  
  [FEATURE_CREATED, FEATURE_UPDATED, FEATURE_ARCHIVED, FEATURE_REVIVED].forEach(
      feature => {
          test(`should invoke hook on ${feature}`, t => {
              const data = { dataKey: feature };
              eventStore.emit(feature, data);
              t.true(o[feature] === data);
          });
      },
  );
  