Kata setup with Mocha and Chai

by web5me

HTML

<link rel="stylesheet" href="https://rawgit.com/ludovicofischer/mocha-chai-browser-demo/master/mocha.css">
<script src="https://rawgit.com/ludovicofischer/mocha-chai-browser-demo/master/test-lib/chai.js"></script>
<script src="https://rawgit.com/ludovicofischer/mocha-chai-browser-demo/master/test-lib/mocha.js"></script>
<div id="mocha"></div>

JavaScript

///////////// KATA CODE /////////////
// Constructor
var Kata = function(input) {
    this.input = input;
};

// Kata implementation
Kata.prototype = {
    doSomething: function() {
        return this.input;
    }
};

///////////// KATA TEST /////////////
var assert = chai.assert; mocha.setup('bdd');

describe('Kata', function() {
    var kata
        ,input = 'foo'
    ;
    
    beforeEach(function() {
        kata = new Kata(input);
    });
    
    describe('doSomething()', function() {
        
        it('should return output', function() {
            var expected = input;
            var actual = kata.doSomething();
            assert.ok(typeof kata.doSomething == 'function', 'Is callable');
            assert.equal(expected, actual, 'Should return output');
        });
        
    });
    
    it('should fail here', function() {
        assert.ok(typeof kata.fail == 'function', 'Is callable');
    });
});

mocha.run();