text: 'use strict';
  
  const test = require('ava');
  const express = require('express');
  const proxyquire = require('proxyquire');
  const getLogger = require('../test/fixtures/no-logger');
  
  const getApp = proxyquire('./app', {
      './routes': class Index {
          router() {
              return express.Router();
          }
      },
  });
  
  test('should not throw when valid config', t => {
      const app = getApp({ getLogger, stores: {} });
      t.true(typeof app.listen === 'function');
  });
  
  test('should call preHook', t => {
      let called = 0;
      getApp({
          stores: {},
          getLogger,
          preHook: () => {
              called++;
          },
      });
      t.true(called === 1);
  });
  
  test('should call preRouterHook', t => {
      let called = 0;
      getApp({
          stores: {},
          getLogger,
          preRouterHook: () => {
              called++;
          },
      });
      t.true(called === 1);
  });
  