Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

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

How can i pass this final test

I've tried seven different commands and all were wrong, i tried deep.equal and countless others but cannot pass this, can someone explain and help.

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

describe('clone', function () {
    var clone = require('./clone.js')
    it('some description string', function () {
        expect(clone).to.have.deep.property(clone);
        // YOUR CODE HERE

    })
})
clone.js
function clone (objectForCloning) {
    return Object.assign({}, objectForCloning)
}

module.exports = clone

2 Answers

Seth Kroger
Seth Kroger
56,414 Points

In order to test out clone() you first need an object to clone. Then you test whether the clone deep.equals the object.

Unfortunately that doesn't help me, I've included an object after the var clone declaration and it didn't work. I'm totally lost on this one.

I tried this:

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

describe('clone', function () { var clone = require('./clone.js');

it('some description string', function () {
    let pin = {cc:39393};
    let toxic=clone(pin);
    expect(toxic).to.deep.equal(pin);
})

})

Seth Kroger
Seth Kroger
56,414 Points

Hmmph, the checker doesn't like ES6 for this course. Your code will pass when you change let to var.

Thanks, it worked