Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript JavaScript Unit Testing Behavior Driven Development with Mocha & Chai A Testing Test!

Contradictory responses from the Code Challenge

In my code, I wrote two expect statements, one "to.deep.equal" and another "to.not.deep.equal". I commented out one and then the other. Both came back with Bummer. However, I did not change clone.js, so how could both of these Bummer responses be true?

*Bummer: We tried your spec with a version of clone.js that DOESN'T work correctly, expecting the test to fail. But it passed! Better try again!

*Bummer: We tried your spec with a version of clone.js that works correctly, but the specs didn't pass!

clone_spec.js
var expect = require('chai').expect;

describe('clone', function () {
    var clone = require('./clone.js');
    it('some description string', function () {
        // YOUR CODE HERE
      var objectForCloning = {};
      expect(clone(objectForCloning)).to.deep.equal(objectForCloning);
//      expect(clone(objectForCloning)).to.not.deep.equal(objectForCloning);        
});
clone.js
function clone (objectForCloning) {
    return Object.assign({}, objectForCloning);
}

module.exports = clone;

1 Answer

Harald N
Harald N
15,830 Points

Hi Nicholas.

Try filling the objectForCloning with some key and values. e.g {a:false, b:true}.

Empty object returns false in their internal test even though everything else is working correctly.

Mark your question as answered if this fixed your problem :)