feat($httpBackend): add expect/when shortcut methods

This commit is contained in:
Igor Minar 2011-12-28 10:27:38 -08:00 committed by Vojta Jina
parent a13b5ed3bc
commit b911e303ec
2 changed files with 30 additions and 0 deletions

15
src/angular-mocks.js vendored
View file

@ -671,6 +671,9 @@ angular.module.ngMock.$HttpBackendProvider = function() {
}; };
}; };
createShortMethods('when');
$httpBackend.expect = function(method, url, data, headers) { $httpBackend.expect = function(method, url, data, headers) {
var expectation = new MockHttpExpectation(method, url, data, headers); var expectation = new MockHttpExpectation(method, url, data, headers);
expectations.push(expectation); expectations.push(expectation);
@ -681,6 +684,9 @@ angular.module.ngMock.$HttpBackendProvider = function() {
}; };
}; };
createShortMethods('expect');
$httpBackend.flush = function(count) { $httpBackend.flush = function(count) {
if (!responses.length) throw Error('No pending request to flush !'); if (!responses.length) throw Error('No pending request to flush !');
@ -715,6 +721,15 @@ angular.module.ngMock.$HttpBackendProvider = function() {
}; };
return $httpBackend; return $httpBackend;
function createShortMethods(prefix) {
angular.forEach(['GET', 'PUT', 'POST', 'DELETE', 'PATCH', 'JSONP'], function(method) {
$httpBackend[prefix + method] = function(url, data, headers) {
return $httpBackend[prefix](method, url, data, headers)
}
});
}
}; };
}; };

View file

@ -750,6 +750,21 @@ describe('mocks', function() {
}); });
describe('expect/when shorcuts', function() {
angular.forEach(['expect', 'when'], function(prefix) {
angular.forEach(['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'JSONP'], function(method) {
var shortcut = prefix + method;
it('should provide ' + shortcut + ' shortcut method', function() {
hb[shortcut]('/foo').respond('bar');
hb(method, '/foo', undefined, callback);
hb.flush();
expect(callback).toHaveBeenCalledOnceWith(200, 'bar', '');
});
});
});
});
describe('MockHttpExpectation', function() { describe('MockHttpExpectation', function() {
it('should accept url as regexp', function() { it('should accept url as regexp', function() {