$scope.load = function() {
deferred = $q.defer();
myService.send('SomeRequestMessage');
deferred.promise.then(function(data) {
var modalPopup = loadModal.open('TITLE', data);
modalPoupup.result.then(function(action) {
if(angular.isDefined(action.dirName)) {
myService.sendReq(action.dirName);
}
});
});
};
У меня есть модульный тест для вышеуказанной функции следующим образом:
describe('my tests, ', function () {
var deferred;
var lRootScope;
var lmodalInstance;
beforeEach(inject(function($q, $rootScope) {
deferred = $q.defer();
lRootScope = $rootScope;
lmodalInstance = sinon.stub( { open: function() {}, close: function() {} } );
lmodalInstance.open.returns({ result: deferred.promise});
}));
xit('should call the popup open method once when the open button is pressed.', function () {
var callBack =sinon.stub();
scope.load();
expect(lModalInstance.open.calledOnce).toBe(true);
});
Этот тест не пройден и выдает "Expected false to be true."
Может быть ниже строки кода, выполняемой и сразу же блок Метод ожидаемого теста проверяется без подтверждения обещания (не уверен).
myService.send('SomeRequestMessage');
Пожалуйста, помогите исправить этот тест.