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

1.9 KiB

id title challengeType
587d824f367417b2b2512c59 Run Functional Tests on API Endpoints using Chai-HTTP II 2

Description

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

Instructions

Replace assert.fail(). Test the status and the text.response. Make the test pass. Send you name in the query appending ?name=<your_name>, the endpoint with responds with 'hello <your_name>'.

Tests

tests:
  - text: All tests should pass
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=functional&n=1').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=1').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=1').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 [\w\d_-]/);}, xhr => { throw new Error(xhr.responseText); })

Challenge Seed

Solution

// solution required