<!DOCTYPE html>
<html>
<head>
<link data-require="jasmine@1.3.1" data-semver="1.3.1" rel="stylesheet" href="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine.css" />
<script data-require="jasmine@1.3.1" data-semver="1.3.1" src="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine.js"></script>
<script data-require="jasmine@1.3.1" data-semver="1.3.1" src="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine-html.js"></script>
<script data-require="angular.js@1.2.16" data-semver="1.2.16" src="https://code.angularjs.org/1.2.16/angular.js"></script>
<script data-require="json2@*" data-semver="0.0.2012100-8" src="//cdnjs.cloudflare.com/ajax/libs/json2/20121008/json2.js"></script>
<script data-require="angular-mocks@1.2.16" data-semver="1.2.16" src="https://code.angularjs.org/1.2.16/angular-mocks.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
<script src="test.js"></script>
</head>
<body ng-app="app">
<div id="HTMLReporter" class="jasmine_reporter"></div>
<script>
(function() {
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 250;
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
var currentWindowOnload = window.onload;
window.onload = function() {
if (currentWindowOnload) {
currentWindowOnload();
}
execJasmine();
};
function execJasmine() {
jasmineEnv.execute();
}
})();
</script>
</body>
</html>
var app = angular.module('testingService', []);
app.service('someOtherService', ['$http', function($http) {
this.sayFoo = function() {
return 'foo';
};
}]);
app.factory('testService', ['someOtherService', function(someOtherService) {
return {
callOtherService : function() {
return someOtherService.sayFoo();
}
};
}]);
/* Styles go here */
describe('Testing services with $http dependency', function() {
var service, httpBackend, data;
beforeEach(module('testingService'));
beforeEach(inject(function(testService, _$httpBackend_) {
service = testService;
httpBackend = _$httpBackend_;
}));
it ('should be loaded', function() {
expect(service).toBeDefined();
});
it ('should return get data when calling getData', function() {
httpBackend.expectGET('something.local/data/1').respond('some data');
service.getData(1).then(function(result) {
data = result;
});
httpBackend.flush();
expect(data).toBe('some data');
});
afterEach(function() {
// make sure all requests where handled as expected.
httpBackend.verifyNoOutstandingRequest();
httpBackend.verifyNoOutstandingExpectation();
});
});