48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
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>(
|
|
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();
|
|
});
|
|
});
|
|
});
|