@betsys-nestjs/test-cleaner
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

Test cleaner library

This library is for purpose of development and testing only. It helps you to set/delete entries in Redis and/or purge RabbitMQ queues (basically to clean up after tests)

Environment variables

No environment variables are necessay.

Dependencies

Package Version
@betsys-nestjs/logger ^4.0.1
@betsys-nestjs/rabbit-mq ^4.0.0
@betsys-nestjs/redis ^4.0.1
@betsys-nestjs/config-utils ^1.0.3
@betsys-nestjs/monitoring ^5.0.0
@nestjs/terminus ^9.0.0
@types/node ^18.11.18
@types/amqplib ^0.10.1
amqplib ^0.10.3

Usage

In order to be able to use the test cleaner in your tests, you have to import the TestCleanerModule into your testing module:

import { TestCleanerModule, TestCleanerConfig } from '@betsys-nestjs/test-cleaner';

describe('Some test', () => {
    beforeAll(async () => {
        const moduleRef = await Test.createTestingModule({
            imports: [
                TestsCleanerModule.forFeature({
                    redisConfig: {
                        uri: 'some-redis-uri',
                        prefix: 'test'
                    },
                    rabbitMqConfig: {
                        uri: 'some-rabbit-uri'
                    },
                    queueNames: [
                        'queue-to-purge-1',
                        'queue-to-purge-2',
                    ],
                } as TestCleanerConfig),
                ...
            ],
        }).compile();
    }
}

In the configuration, you have to provide redisConfig. Rabbit configuration is not mandatory, but please bear in mind, that if you provide rabbitMqConfig, you have to provide also queueNames as well and vice versa.

In your testing modules you can than use instance of RabbitCleaningService and RedisCleaningService:

beforeEach(async () => {
    const redisCleaner = moduleRef.get<RedisCleaningService>(RedisCleaningService);
    await redisCleaner.flushAll();
    
    const rabbitCleaner = moduleRef.get<RabbitCleaningService>(RabbitCleaningService);
    await this.rabbitCleaner.purgeQueues();
});

Readme

Keywords

none

Package Sidebar

Install

npm i @betsys-nestjs/test-cleaner

Weekly Downloads

0

Version

3.0.0

License

MIT

Unpacked Size

9.57 kB

Total Files

11

Last publish

Collaborators

  • betsys-development
  • pawelnowak1
  • andrejsoucek
  • jammie88
  • jiraspe2
  • jakubschneller
  • javor454
  • krizacekcz
  • flyrell