Я использую Chai и Mocha для тестирования своих вспомогательных функций. Я использовал JSDOM для включения atob и btoa. Это мой файл setup.js:
const { JSDOM } = require('jsdom');
const jsdom = new JSDOM('<!doctype html><html><body></body></html>');
const { window } = jsdom;
global.window = window;
global.document = window.document
global.btoa = window.btoa;
global.atob = window.atob;
Когда я пытаюсь запустить свои тесты, я получаю эту ошибку:
TypeError: Right-hand side of 'instanceof' is not an object.
Моя тестовая функция:
describe('helpers', () => {
const testObject = { id: 1 };
const encodedObject = base64EncodeObject(testObject);
const decodedObject = base64DecodeObject(encodedObject);
describe('base64DecodeObject()', () => {
it('decoded object should match original object', () => {
assert.deepEqual(decodedObject, testObject);
});
});
});
Целевая функция:
const base64DecodeObject = (base64String) => {
let object = atob(base64String);
object = JSON.parse(object);
return object;
}