lukemnet/bnet-auth-service

View on GitHub
src/app.controller.spec.ts

Summary

Maintainability
B
4 hrs
Test Coverage
import { ConfigModule, registerAs } from '@nestjs/config';
import { Test, TestingModule } from '@nestjs/testing';
import { AppController } from './app.controller';
import { LoggerService } from './logger/logger.service';
import { MainService } from './main/main.service';

describe('AppController', () => {
  let appController: AppController;

  beforeEach(async () => {
    const app: TestingModule = await Test.createTestingModule({
      imports: [
        ConfigModule.forFeature(
          registerAs('endpoints', () => ({
            testEndpoint1: {
              name: 'testEndpoint1',
              url: '/testEndpoint1',
              method: 'TEST_METHOD_1',
            },
            testEndpoint2: {
              name: 'testEndpoint2',
              url: '/testEndpoint2',
              method: 'TEST_METHOD_2',
            },
          }))
        ),
        ConfigModule.forFeature(
          registerAs('redis', () => ({
            enable: false,
          }))
        ),
      ],
      controllers: [AppController],
      providers: [
        MainService,
        {
          provide: LoggerService,
          useValue: {
            debug: jest.fn(),
            log: jest.fn(),
            setLoggedClass: jest.fn(),
            setLoggedMethod: jest.fn(),
          },
        },
      ],
    }).compile();

    appController = app.get<AppController>(AppController);
  });

  it('should implement getMain method', () => {
    expect(() => {
      appController.getMain();
    }).not.toThrow();
  });
});