
<%- tplTsOnly(`/// <reference types="mocha"/>${EOL}`) -%>
<%- tplTsOnly(`import { HookContext } from '@feathersjs/feathers'${sc}${EOL}${EOL}`) -%>
<%- tplImports('assert', null) %>
<%- tplImports(hookName, pathTestToHook) %>

describe('Test <%- serviceFileName -%><%- hookFileName -%><%- htt%>.test.<%- js -%>', () => {
  // <%- lintDisableNextLineUnused %>
  let contextBefore<%- tplTsOnly(': HookContext') -%>, contextAfterPaginated<%- tplTsOnly(': HookContext') -%>,
    // <%- lintDisableNextLineUnused %>
    contextAfter<%- tplTsOnly(': HookContext') -%>, contextAfterMultiple<%- tplTsOnly(': HookContext') -%><%- sc %>

  beforeEach(() => {
    contextBefore = {
<%- tplTsOnly(`      service: null!,${EOL}`) -%>
      type: 'before',
      params: { provider: 'socketio' },
      data: {

      }
    }<%- sc %>

    contextAfter = {
<%- tplTsOnly(`      service: null!,${EOL}`) -%>
      type: 'after',
      params: { provider: 'socketio' },
      result: {

      }
    }<%- sc %>

    contextAfterMultiple = {
<%- tplTsOnly(`      service: null!,${EOL}`) -%>
      type: 'after',
      params: { provider: 'socketio' },
      result: [

      ]
    }<%- sc %>

    contextAfterPaginated = {
<%- tplTsOnly(`      service: null!,${EOL}`) -%>
      type: 'after',
      method: 'find',
      params: { provider: 'socketio' },
      result: {
        data: [

        ]
      }
    }<%- sc %>
    contextAfterPaginated.result.total = contextAfterPaginated.result.data.length<%- sc %>
  })<%- sc %>

  it('Hook exists', () => {
    assert(typeof <%- hookName -%> === 'function', 'Hook is not a function.')<%- sc %>
  })<%- sc %>

  it('???', () => {
    contextBefore.method = 'create'<%- sc %>
    assert(true)<%- sc %>

    /*
    <%- hookName -%>()(contextBefore)<%- sc %>

    assert.deepEqual(contextBefore.data, {

    })<%- sc %>
    */
  })<%- sc %>
})<%- sc %>
