Redis mocking не работает с помощью шутки
У меня есть один метод который удаляет данные из redis и я должен написать модульный тест для этого но когда я издеваюсь над внутренним методом он всегда возвращает ноль
Что я уже пробовал:
Service.js
const configValues = require('../../config/config'); const constants = require('../../helper/constants'); const asyncRedis = require('async-redis'); const redisClient = asyncRedis.createClient({ port: configValues.redisPort, host: configValues.redisHost }); module.exports = { clearDataFromRedis: async(userId) => { let removeUserDetails=await redisClient.del(userId+'_userDetails'); return removeUserDetails; }, closeRedisInstance :()=>{ redisClient.quit(); } };
Service.test.js
const {clearDataFromRedis ,closeRedisInstance} = require('../..//../src/shared-module/service'); const redis_mock = require("redis-mock"); const client = redis_mock.createClient(); describe('clearDataFromRedis',()=>{ it('should clear data from redis',async ()=>{ client.del=jest.fn().mockReturnValue(1); const result=await clearDataFromRedis('userData'); expect(result).toBe(1); }) }); afterAll(() => closeRedisInstance());
после запуска теста он всегда возвращает ноль вместо 1