jefer94/choco

View on GitHub
packages/middlewares/src/middlewares.test.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { Use } from './types'

const mockCors = jest.fn()
const mockHelmet = jest.fn()
const mockMorgan = jest.fn()
const mockExpressStatic = jest.fn()
const mockBodyParserJson = jest.fn()
const mockBodyParserUrlencoded = jest.fn()
const mockMethodOverride = jest.fn()

jest.mock('cors', () => ({ __esModule: true, default: mockCors }))
jest.mock('helmet', () => ({ __esModule: true, default: mockHelmet }))
jest.mock('morgan', () => ({ __esModule: true, default: mockMorgan }))
jest.mock('method-override', () => ({ __esModule: true, default: mockMethodOverride }))

jest.mock('express', () => ({ __esModule: true,
  default: {
    static: mockExpressStatic
  } }))

jest.mock('body-parser', () => ({ __esModule: true,
  default: {
    json: mockBodyParserJson,
    urlencoded: mockBodyParserUrlencoded
  } }))

test('common use all middlewares', async () => {
  const use = (): Use => ({ use })
  const { middlewares } = await import('./middlewares')

  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
  // @ts-ignore
  middlewares({ use }, __dirname)

  expect(mockCors).toHaveBeenCalled()
  expect(mockHelmet).toHaveBeenCalled()
  expect(mockMorgan).toHaveBeenCalled()
  expect(mockExpressStatic).toHaveBeenCalled()
  expect(mockBodyParserJson).toHaveBeenCalled()
  expect(mockBodyParserUrlencoded).toHaveBeenCalled()
  expect(mockMethodOverride).toHaveBeenCalled()
})