<!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', function() {

  var service, mockedService;

  beforeEach(module('testingService'));

  beforeEach(function() {

    mockedService = {};
    mockedService.sayFoo = jasmine.createSpy('someOtherService ').andReturn('foo');

    module(function($provide) {
      $provide.value('someOtherService', mockedService);
    });

    inject(function(testService) {
      service = testService;
    });
  });

  it('should have some other service inejcted', function() {
    expect(service.callOtherService()).toBe('foo');
  });
});