Невозможно вызвать функцию spyOn (mock), вызываемую внутри события с возвращаемым типом - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь написать контрольные примеры для моего javascript кода, используя жасмин, так как я новичок в Жасмине, я борюсь с определенным сценарием. У меня есть событие нажатия кнопки, внутри которого используется функция, которая возвращает список данных. Я сталкиваюсь с множеством трудностей в насмешках. ниже мой код и spe c.

Code

$(document).on('click', '#allCheckBox', function(ev) {
  var existingMeasures = getAllGridData();
  if (existingMeasures != null && existingMeasures != undefined) {
  jQuery('#memberList').trigger("reloadGrid");
  }
});

function getAllGridData(){
  var existingMembers = $("#memberList").getGridParam("data");
  return existingMembers;
}

Spe c

describe('Member List Reload', function(){
  it('Testing AllCheckBox', function() {
    var actualData = [{'','',''}]; //some data
    setFixtures("<button id='allCheckBox'/>");
    var memberList= $("#memberList");
    var input = $('#allCheckBox');
    spyOn($("#memberList"), 'getGridParam').withArgs('data').and.returnValue(actualData);
    var spyEvent = spyOnEvent($("#memberList"), 'trigger' );
    $( input ).click();
    expect( spyEvent ).toHaveBeenTriggered();
  });
});

После запуска я получаю

Error: Expected event trigger to have been triggered on [object Object]

Если я проверю покрытие кода. Это связано с тем, что существующие значения поступают как неопределенные. Из-за чего, если l oop не устраивает. Я не уверен, какую ошибку я совершаю. Заранее благодарю за помощь

...