Как посмеяться над решением "Да / Нет" для ngDialogue с Жасмин Карма
Я очень новичок в модульном тестировании. У меня есть один угловой сервис, который использует ngDialouge - он имеет 2 переключателя Да / Нет.
angular.module('jasminKarmaPoc1App')
.factory('fateLayingService', fateLayingService);
.....
var response = {}
response.AvoidPayment = function (playerDetails){
....
var prom = ngDialog.open(
{
template: 'scripts/decisionbox/fate-decision- modal-window.html',
controller: 'DecisionBoxController'
}
);
prom.closePromise.then(function (res) {
if (res.value === "1")
{
//***Below is the one I want to test -i.e. alert and updation of scope ****
//alert the message and update some related scope variables login
}
if (res.value === "2")
{
//**Below is the one I want to test -i.e. alert and updation of scope
//alert the message and update some related scope variables login
}
.....
return response()
Теперь я хочу выполнить модульное тестирование сообщений и проверить, обновлялся ли scope.msg в зависимости от выбора в диалоговом окне (Да дает разные сообщения, а Нет - разные сообщения). Если я хочу проверить эти сообщения, мне нужно смоделировать ngDialog, а также их выбор (да / нет), но я не совсем понимаю, как именно это сделать. Любая помощь будет оценена.
1 ответ
Я не уверен, хотите ли вы использовать open или openConfirm. вот открытый
ngDialog = jasmine.createSpyObj('ngDialog', ['open']);
ngDialog.open.and.returnValue({
closePromise : {
then : function(callback) {
callback({value: 1});
}
}
});
/* Test with res.value = 1*/
response.AvoidPayment();