Как посмеяться над решением "Да / Нет" для 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();

Другие вопросы по тегам