2016-01-04 2 views
0

Я пытаюсь проверить угловой контроллер, высмеивая вызовы, сделанные для обслуживания, используя жасмин. Я хочу проверить, есть ли успех или ошибка. Я попытался сделать это с помощью $ q, но это не повлияло на мое возвращение. Как это сделать? Я пытался так:Ошибка успеха метода заводского метода жасмина

$scope.savestuff = function() { 
       return some.method.test($scope.data, { 
       success: function() { 
        return true; 
       }, 
       error: function (error) { 
        $scope.error= error.data.message; 
       } 
     }); 
     } 

[MyCode] [1]

обслуживание:

.service('some', ['$http', '$q', function ($http, $q) { 
    var service = {}; 

    service.method = { 
     test: function (data, config) { 
      return service.run({ 
       call: $http({ 
        method: "POST", 
       }), 
       success: config.success, 
       error: config.error 
      }); 
     } 
    }; 

    return service; 
}]); 
+0

вы хотите проверить свои функции успеха и ошибок? – maurycy

+0

Да, я хочу проверить функцию успеха – john51

+0

Я не вижу метод 'action.user.update', и это поведение – maurycy

ответ

0

1. издеваться service.run,

spyOn(service, 'run').and.callFake(function(obj){ 
    return obj.success(); 
    //or obj.error({data: {message: 'Server error'}}); 
}); 

2. издеваться $http с $httpBackend

$httpBackend.expect('POST','/user/edit').respond({ 
    response: {something: here} 
}); 

3. будет издеваться action.user

spyOn(action.user, 'update')... 
+0

Вы не потрудились проверить код OP, который уже есть, не так ли? – maurycy

+0

@maurycy я сделал. И я все еще думаю, что мой ответ - это решение. – Iamisti

+0

Если бы вы знали, что он уже издевается над службой «update» – maurycy

Смежные вопросы