Я пишу тестовые примеры жасмина для углового контроллера, который имеет функцию init, имеющую массив обещаний, которые необходимо разрешить:
(function () {
angular.controller("xyz", ['$scope', "Utility", "Api",
function ($scope, Utility, Api) {
var locals = $scope.locals = {
id: 1,
amount: 2,
products: 3
};
function init() {
locals.busyPromise = Utility.resolveAll(
{
name: 'a',
promise: Api.get,
then: function (response) { locals.id = 2; }
},
{
name: 'b',
promise: Api.find,
then: function (response) { locals.amount = 4; }
}
).then(function (response) { locals.products = 6; });
}
init();
}
])
})();
Утилита - это внешний сценарий, который разрешает каждое обещание в массиве и выполняетзатем их функция для установки локальных свойств.После того, как все обещания в массиве разрешены, он переходит к функции executeAll и выполняет ее.
Мой вопрос заключается в том, как мы можем посмеяться над Utility.resolveAll, вводя зависимости в Jasmine.В моем случае, что бы я ни пытался, оно никогда не входит в блок индивидуальных обещаний и идет непосредственно к блоку resolAll.