Как сделать MOCK для проверки модуля, который использует JQuery плагин в NODEJS с JEST? - PullRequest
0 голосов
/ 14 апреля 2020

В модуле (Messages. js), который хорошо работает в браузере и не требует TOAST, потому что он вставляется в HTML внешним файлом.

Возможно, при выполнении модульного теста на JEST я получил следующую ошибку:

TypeError: $ .toast не является функцией.

Файл : Сообщения. js

const Mensagens = function(str_msg, str_type){

    let attr = {
       title: str_msg,
       type: str_type,
       delay: 5000
    };
    $.toast(attr); // TypeError: $.toast is not a function
};

export.modules = Messages;

Файл: Messages.test. js

var Messages = require('./Messages');
window.$ = require('jquery');

// My try to do a mock for TOAST
const MyToastMock = jest.fn();
$.fn.toast = MyToastMock;

test('Testing Messages', () => {
    Mensagens('Test message', 'error');
    expect(MyToastMock.mock.calls[0][0]).toBe('Test message');
    expect(MyToastMock.mock.calls[0][1]).toBe('error');
}

Как сделать блок тест работает хорошо?

Спасибо за любую помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...