Не удается прочитать свойство «соль» null в CryptoJS.AES.decrypt

#unit-testing #jestjs #vue-test-utils #vue-jest

Вопрос:

я тестирую свое приложение с помощью jest на vuejs. Я получаю ошибку, как TypeError: Cannot read property 'salt' of null при расшифровке строки с помощью crypto-js .

 test("DASHBOARD ACCESS PERMISSION", async () => {
    let wrapper = mount(Dashboard, {
      stubs: ["router-link", "router-view"],
      vuetify,
      router,
      localVue,
    });
    wrapper.vm.checkingRoutes();
  });
 

когда тест выполняется, он запускает checkingRoutes функцию

 let key = 'abcd'
var bytes = CryptoJS.AES.decrypt('encripted key is here', key);
var data = bytes.toString(CryptoJS.enc.Utf8);
console.log(data)
 

как решить проблему на @vue/test-utils

Ответ №1:

Я решил проблему, высмеяв точную функцию, вот пример ниже

 globalFunctions => // helper or defined as global
DecKey          => // exact function that trigger to solve the issue

const decryptData = jest.spyOn(globalFunctions, "DecKey");
decryptData.mockImplementation(() => "['passing_values']");