07 - Assert Deep Equality with .deepEqual - Quality Assurance with Chai - freeCodeCamp Tutorial
Ganesh H
This is how I think this works:
- Check the number of keys in both objects are the same
- Check that all keys in expected object are in actual object
- Compare values for each key in each object
- If they are objects, run the deepEqual() method recursively on them
- If they are arrays, check that each value at each index is the same (order matters)
- If they are different types, fail
- Otherwise, if they are the same type, but not object or array, ensure === returns true
We can use chai's deepEqual() method to check if two objects are logically the same - that they contain the same data.
Link to Challenge : https://www.freecodecamp.org/learn/quality-assurance/quality-assurance-and-testing-with-chai/assert-deep-equality-with--deepequal-and--notdeepequal Written Guide: https://www.notion.so/ganeshh123/Assert-Deep-Equality-with-deepEqual-and-notDeepEqual-d15dd944e76649f4ba9ac2a05a8d1e5e
Full Playlist for this course : https://www.youtube.com/playlist?list=PLhGp6N0DI_1SVteCORbgwlxJkAbcTiZyj All Writen Guides for this course : https://www.notion.so/ganeshh123/54ecbf7833414db885eec37f580599b4 All My Tutorials can be found at : https://www.notion.so/Tutorials-Ganesh-H-293ea420d34a464f9a1907e0405b5f26
0:00 - Concepts: 0:22 - Example Objects 01:00 - How Objects are compared 01:52 - assert.deepEqual() Asserts that actual is deeply equal to expected. https://www.chaijs.com/api/assert/#method_deepequal
05:08 - assert.notDeepEqual() Assert that actual is not deeply equal to expected. https://www.chaijs.com/api/assert/#method_notdeepequal
05:32 - Order of Keys 06:08 - Challenge Solution
-————————————————————————————————————- Chai is an assertion library, similar to Node's built-in assert. It makes testing much easier by giving you lots of assertions you can run against your code.
freeCodeCamp (also referred to as “Free Code Camp”) is a non-profit organization that consists of an interactive learning web platform, an online community forum, chat rooms, online publications and local organizations that intend to make learning web development accessible to anyone. Beginning with tutorials that introduce students to HTML, CSS and JavaScript, students progress to project assignments that they complete either alone or in pairs. Upon completion of all project tasks, students are partnered with other nonprofits to build web applications, giving the students practical development experience.
Thanks for Watching! ... https://www.youtube.com/watch?v=j_HFeMt7uks
33765523 Bytes