jasmine + angular ex 2

by ronapelbaum

HTML

<script src="https://jasmine.github.io/2.4/lib/jasmine.js"></script>
<script src="https://jasmine.github.io/2.4/lib/jasmine-html.js"></script>
<script src="https://jasmine.github.io/2.4/lib/boot.js"></script>
<link rel="stylesheet" href="https://jasmine.github.io/2.4/lib/jasmine.css">
<script src="https://code.angularjs.org/1.4.9/angular.js"></script>
<script src="https://code.angularjs.org/1.4.9/angular-mocks.js"></script>

JavaScript

//--------------BL------------
(function() {
  var LastNameService = function() {
    this.getLastName = function(firstName) {
      switch (firstName) {
        case "Bob":
          return "Marley";
        case "Phill":
          return "Collins";
      }
    }
  };

  var Greeter = function(DataService) {
    function greet(name) {
      return "Hello " + name + " " + DataService.getLastName(name);
    }
    this.greet = greet;
  };

  angular.module('MyModule', [])
    .service('DataService', LastNameService)
    .service('GreeterService', ['DataService', Greeter]);

})();

//--------------specs------------
describe('MyModule test suite', function() {

  var GreeterService;
  beforeEach(angular.mock.module('MyModule'));

  beforeEach(angular.mock.inject(function(_GreeterService_) {
    GreeterService = _GreeterService_;
  }));

  it('should greet corretly', function() {
    //TODO fix this test
    expect(GreeterService.greet("Bob")).toBe("Hello Bob Dylen");
  })
});