import { Test, TestingModule } from '@nestjs/testing'; import { RedisConfigurationRepository } from '../../adapters/secondaries/redis-configuration.repository'; import { getRedisToken } from '@liaoliaots/nestjs-redis'; const mockRedis = { get: jest.fn().mockResolvedValue('myValue'), set: jest.fn().mockImplementation(), del: jest.fn().mockImplementation(), }; describe('RedisConfigurationRepository', () => { let redisConfigurationRepository: RedisConfigurationRepository; beforeAll(async () => { const module: TestingModule = await Test.createTestingModule({ providers: [ { provide: getRedisToken('default'), useValue: mockRedis, }, RedisConfigurationRepository, ], }).compile(); redisConfigurationRepository = module.get( RedisConfigurationRepository, ); }); it('should be defined', () => { expect(redisConfigurationRepository).toBeDefined(); }); describe('interact', () => { it('should get a value', async () => { expect(await redisConfigurationRepository.get('myKey')).toBe('myValue'); }); it('should set a value', async () => { expect( await redisConfigurationRepository.set('myKey', 'myValue'), ).toBeUndefined(); }); it('should delete a value', async () => { expect(await redisConfigurationRepository.del('myKey')).toBeUndefined(); }); }); });