I've started writing a test for a service, when the test is run it passed but I don't understand how. Why does this test pass and what is an instance that would cause it to fail? I believe answering this will help me understand httpBackend mocks.
describe('Create a sale via the API', function() {
beforeEach(module('app.services'));
var service, httpBackend;
beforeEach(inject(function($injector) {
service = $injector.get('saleService');
httpBackend = $injector.get('$httpBackend');
}));
it('should return the HTTP 201 Created', function() {
httpBackend.when('POST', '/sales')
.respond({ status: '201' });
});
});
The service
angular.module('app.services')
.service('saleService',
['$rootScope',
'$http',
'$q',
function($rootScope, $http, $q) {
var sale = this;
sale.getAll = function() {
var defer = $q.defer();
$http.get('/sales')
.success(function(resp) {
defer.resolve(resp);
})
.error(function(error, status) {
defer.reject(error);
});
return defer.promise;
};
sale.createSale = function(sale) {
var defer = $q.defer();
$http.post('/sales/new', sale)
.success(function(resp) {
defer.resolve(resp);
})
.error(function(error, status) {
defer.reject(error);
});
return defer.promise;
}
sale.deleteSale = function(id) {
var defer = $q.defer();
$http.delete('/sales/delete?dataId=' + id)
.success(function(resp) {
defer.resolve(resp);
})
.error(function(error, status) {
defer.reject(error);
});
return defer.promise;
}
return sale;
}]);
Aucun commentaire:
Enregistrer un commentaire