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!

Anusha Singh
PLUS
Anusha Singh
Courses Plus Student 22,106 Points

I didn't understand the question. Can anyone give my answer?

The question is { Write a test spec that proves the clone function in clone.js returns an object where all properties match. HINT: it might help to check the Chai docs. } Please help.

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

describe('clone', function () {
    var clone = require('./clone.js')
    it('some description string', function () {

        // YOUR CODE HERE

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

module.exports = clone
Anusha Singh
Anusha Singh
Courses Plus Student 22,106 Points

I have already posted this question once, I have posted it again as no one replied

Soma -

I tried a bunch of different things then searched the internet and found this:

expect(clone({ foo: 1, bar: 2 })).to.have.any.keys('foo', 'baz');

It doesn't look like anything from the video, but I copied and pasted it in and it got me through. Hope it works for you too!

1 Answer

Miguel Canas
seal-mask
.a{fill-rule:evenodd;}techdegree
Miguel Canas
Python Development Techdegree Student 11,470 Points

Hi Soma,

The exercise is asking you to prove that the clone() method in clone.js works correctly by writing a test case, using ChaiJS.

It has done a lot of the work for you, just use the expect api from ChaiJS to write assertions where it says // YOUR CODE HERE.

What you want to assert is that if you have clone({ a: 1}) that the return value you get back should be an exact copy of that object.

Take a look at Chai's expect documentation for help on writing your assertions.

Good luck!

~ Miguel