lukemnet/bnet-auth-service

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

Summary

Maintainability
A
0 mins
Test Coverage
import { ConfigModule, registerAs } from '@nestjs/config';
import { Test } from '@nestjs/testing';
import { AppController } from './app.controller';
import { AppModule } from './app.module';
import { endpointsConfig, redisConfig, configValidationSchema } from './config';

describe('AppModule', () => {
  let OLD_ENV: NodeJS.ProcessEnv;

  beforeAll(() => {
    OLD_ENV = process.env;
  });

  afterAll(async () => {
    process.env = { ...OLD_ENV };
  });

  it('should compile the module', async () => {
    process.env.BAS_BATTLENET_REGION = 'us';
    process.env.BAS_CLIENT_ID = 'test-client-id';
    process.env.BAS_CLIENT_SECRET = 'test-client-secret';

    const module = await Test.createTestingModule({
      imports: [
        ConfigModule.forRoot({
          load: [
            endpointsConfig,
            redisConfig,
            registerAs('battlenet', () => ({
              region: 'us',
              clientId: 'test-client-id',
              clientSecret: 'test-client-secret',
            })),
          ],
          cache: true,
          validationSchema: configValidationSchema,
          validationOptions: {
            abortEarly: true,
          },
        }),
        AppModule,
      ],
    }).compile();

    expect(module.get(AppController)).toBeInstanceOf(AppController);
  });
});