jasmine + angular ex 8
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() {
console.log("LastNameService creation - start", Date.now());
for (var i = 0; i < 10000; i++);
console.log("LastNameService creation - end", Date.now());
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;
};
//OtherModule
angular.module('OtherModule', [])
.service('LastNameService', LastNameService);
//MyModule
angular.module('MyModule', ['OtherModule'])
.service('GreeterService', ['LastNameService', Greeter]);
})();
//--------------specs------------
describe("MyController test suite", function() {
var GreeterService;
beforeEach(module('MyModule'));
beforeEach(inject(function(_GreeterService_) {
GreeterService = _GreeterService_;
}));
it("should greet corretly", function() {
expect(GreeterService.greet('Bob')).toBe('Hello Bob Dylen');
});
});