jasmine ex 6: spies (&DI)

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">

JavaScript

//--------------BL------------
var LastNameService = function() {
    this.getLastName = function(firstName) {
        return "Marley";
    }
};

var Greeter = function() {
    var dataService = new LastNameService();

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

//------------usage---------------------
var g = new Greeter();
console.log(g.greet('Bob'));



//--------------specs------------
describe('greet test suite', function() {
    var myGreeter;

    beforeEach(function() {
        myGreeter = new Greeter();
    });

    it('should greet corretly', function() {
        expect(myGreeter.greet('Bob')).toBe('Hello Bob Marley');
    });

});