freeCodeCamp/curriculum/challenges/english/06-quality-assurance/quality-assurance-and-testi.../run-functional-tests-on-api...

2.0 KiB

id title challengeType forumTopicId
587d824e367417b2b2512c58 Run Functional Tests on API Endpoints using Chai-HTTP 2 301593

Description

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

Instructions

Replace assert.fail(). Test the status and the text.response. Make the test pass. Don't send a name in the query; the endpoint responds with hello Guest.

Tests

tests:
  - text: All tests should pass
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=functional&n=0').then(data => { assert.equal(data.state,'passed'); }, xhr => { throw new Error(xhr.responseText); })
  - text: You should test for 'res.status' == 200
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=functional&n=0').then(data => { assert.equal(data.assertions[0].method, 'equal'); assert.equal(data.assertions[0].args[0], 'res.status'); assert.equal(data.assertions[0].args[1], '200');}, xhr => { throw new Error(xhr.responseText); })
  - text: You should test for 'res.text' == 'hello Guest'
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=functional&n=0').then(data => { assert.equal(data.assertions[1].method, 'equal'); assert.equal(data.assertions[1].args[0], 'res.text'); assert.match(data.assertions[1].args[1], /('|")hello Guest\1/);}, 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.
*/