Files
freeCodeCamp/curriculum/challenges/english/06-quality-assurance/quality-assurance-and-testing-with-chai/test-for-truthiness.md
Shaun Hamilton 493880ffaf feat(learn): add mocha and chai instructions (#39976)
* feat(learn): add mocha and chai instructions

* test: added one new lesson

* rename added file and add tests

* add meta to prettierignore, fix formatting

* add unit-test numbering

* add examples from boilerplate

Co-authored-by: Randell Dawson <rdawson@onepathtech.com>

* remove code comments, add description

* elaborate test testStrings

Co-authored-by: Randell Dawson <rdawson@onepathtech.com>
2020-11-26 10:05:42 -08:00

2.8 KiB

id, title, challengeType, forumTopicId
id title challengeType forumTopicId
587d824b367417b2b2512c49 Test for Truthiness 2 301596

Description

As a reminder, this project is being built upon the following starter project on Repl.it, or cloned from GitHub.

isTrue() will test for the boolean value true and isNotTrue() will pass when given anything but the boolean value of true.

assert.isTrue(true, 'this will pass with the boolean value true');
assert.isTrue('true', 'this will NOT pass with the string value 'true');
assert.isTrue(1, 'this will NOT pass with the number value 1');

isFalse() and isNotFalse() also exist, and behave similarly to their true counterparts except they look for the boolean value of false.

Instructions

Within tests/1_unit-tests.js under the test labelled #4 in the Basic Assertions suite, change each assert to either assert.isTrue or assert.isNotTrue to make the test pass (should evaluate to true). Do not alter the arguments passed to the asserts.

Tests

tests:
  - text: All tests should pass.
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=unit&n=3').then(data => {assert.equal(data.state,'passed'); }, xhr => { throw new Error(xhr.responseText); })
  - text: You should choose the correct method for the first assertion - `isTrue` vs. `isNotTrue`.
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=unit&n=3').then(data => {  assert.equal(data.assertions[0].method, 'isTrue', 'True is true'); }, xhr => { throw new Error(xhr.responseText); })
  - text: You should choose the correct method for the second assertion - `isTrue` vs. `isNotTrue`.
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=unit&n=3').then(data => {  assert.equal(data.assertions[1].method, 'isTrue', 'Double negation of a truthy value is true'); }, xhr => { throw new Error(xhr.responseText); })
  - text: You should choose the correct method for the third assertion - `isTrue` vs. `isNotTrue`.
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=unit&n=3').then(data => {  assert.equal(data.assertions[2].method, 'isNotTrue', 'A truthy object is not true - neither is a false one'); }, xhr => { throw new Error(xhr.responseText); })

Challenge Seed

Solution

/**
  Backend challenges don't need solutions, 
  because they would need to be tested against a full working project. 
  Please check our contributing guidelines to learn more.
*/