EMBER WORKSHOP: RSVP Chai-as-promised

Ember.RSVP

by jdcravens

HTML

<script src="http://builds.emberjs.com.s3.amazonaws.com/canary/ember.js"></script>
<script src="https://rawgithub.com/visionmedia/mocha/master/mocha.js"></script>
<link rel="stylesheet" href="https://rawgithub.com/visionmedia/mocha/master/mocha.css">
<script src="https://rawgithub.com/chaijs/chai/master/chai.js"></script>
<script src="https://rawgithub.com/domenic/chai-as-promised/master/lib/chai-as-promised.js"></script>
<script src="http://builds.emberjs.com/handlebars-1.0.0.js"></script>
<!-- Mocha test output goes here. -->
<div id="mocha"></div>

JavaScript

// Configure Mocha, telling both it and chai to use BDD-style tests. 
mocha.setup("bdd");
chai.should();

// Sample model test.
describe("Ember.RSVP", function () {
    var promise;
    
    beforeEach(function() {
        promise = new Em.RSVP.Promise(function(resolve, reject) {
            resolve('hoody hoo');
        });
    });
    
    it("should resolve normally", function(done) {
        promise.then(function(str) {
            str.should.equal('hoody hoo');
            done();
        });
    });
    
    it("should resolve using chai-as-promised", function (done) {
        promise.should.be.instanceOf(Em.RSVP.Promise);
        promise.should.become('hoody hoo').and.notify(done);
    });
});

// Run all our tests.
mocha.run();