@nestjs-mod/testing
TypeScript icon, indicating that this package has built-in type declarations

2.12.9 • Public • Published

@nestjs-mod/testing

Modules and utilities for writing application tests

NPM version monthly downloads Telegram bot

Installation

npm i --save-dev @nestjs/testing @nestjs-mod/testing

Modules

Link Category Description
DefaultTestNestApplicationCreate system Default test NestJS application creator.
DefaultTestNestApplicationInitializer system Default test NestJS application initializer.

Modules descriptions

DefaultTestNestApplicationCreate

Default test NestJS application creator.

Use in NestJS-mod

Use without options.

import { bootstrapNestApplication } from '@nestjs-mod/common';
import { DefaultTestNestApplicationCreate } from '@nestjs-mod/testing';

bootstrapNestApplication({
  modules: {
    system: [DefaultTestNestApplicationCreate.forRoot()],
  },
});

Example of use with override provider.

import { bootstrapNestApplication } from '@nestjs-mod/common';
import { DefaultTestNestApplicationCreate } from '@nestjs-mod/testing';
import { Injectable } from '@nestjs/common';

@Injectable()
export class CatsService {
  findAll() {
    return ['cats'];
  }
}

const fakeCatsService = { findAll: () => ['test'] };

bootstrapNestApplication({
  modules: {
    system: [
      DefaultTestNestApplicationCreate.forRoot({
        staticConfiguration: {
          wrapTestingModuleBuilder: (testingModuleBuilder) =>
            testingModuleBuilder.overrideProvider(CatsService).useValue(fakeCatsService),
        },
      }),
    ],
  },
});

Static configuration

Key Description Constraints Default Value
wrapTestingModuleBuilder Method for additional actions with TestingModuleBuilder optional - -
defaultLogger Default logger for application optional - -

Back to Top


DefaultTestNestApplicationInitializer

Default test NestJS application initializer.

Use in NestJS-mod

Use without options.

import { bootstrapNestApplication } from '@nestjs-mod/common';
import { DefaultTestNestApplicationCreate, DefaultTestNestApplicationInitializer } from '@nestjs-mod/testing';

bootstrapNestApplication({
  modules: {
    system: [DefaultTestNestApplicationCreate.forRoot(), DefaultTestNestApplicationInitializer.forRoot()],
  },
});

An example of getting a provider after running a test application.

import { bootstrapNestApplication } from '@nestjs-mod/common';
import { DefaultTestNestApplicationCreate, DefaultTestNestApplicationInitializer } from '@nestjs-mod/testing';
import { Injectable } from '@nestjs/common';

@Injectable()
export class CatsService {
  findAll() {
    return ['cats'];
  }
}

bootstrapNestApplication({
  modules: {
    system: [
      DefaultTestNestApplicationCreate.forRoot(),
      DefaultTestNestApplicationInitializer.forRoot({
        staticConfiguration: {
          postInit: async ({ app }) => {
            if (app) {
              const catsService = app.get(CatsService);
              console.log(catsService.findAll());
            }
          },
        },
      }),
    ],
  },
});

Static configuration

Key Description Constraints Default Value
preInit Method for additional actions before init optional - -
postInit Method for additional actions after init optional - -
defaultLogger Default logger for test application optional - -

Back to Top

Links

License

MIT

Package Sidebar

Install

npm i @nestjs-mod/testing

Weekly Downloads

8

Version

2.12.9

License

MIT

Unpacked Size

40 kB

Total Files

14

Last publish

Collaborators

  • endykaufman