Member 12749751 Ответов: 0

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

0 Ответов