Files
freeCodeCamp/curriculum/challenges/english/06-information-security-and-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-an-api-response-using-chai-http-iv---put-method.english.md
Randell Dawson 46411ca1cd fix(curriculum): Convert blockquote elements to triple backtick syntax for Information Security And Quality Assurance (#35997)
* fix: converted blockquotes

* fix: added extra line before triple backtick syntax

Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* fix: corrected misc issues

* fix: properly closed em element

Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2019-05-14 06:58:09 -05:00

2.8 KiB

id, title, challengeType
id title challengeType
587d824f367417b2b2512c5b Run Functional Tests on an API Response using Chai-HTTP IV - PUT method 2

Description

As a reminder, this project is being built upon the following starter project on Glitch, or cloned from GitHub. This exercise is similar to the preceding. Look at it for the details.

Instructions

Send
{
  "surname": "da Verrazzano"
}

Replace assert.fail() and make the test pass. Check for 1) status, 2) type, 3) body.name, 4) body.surname. Follow the assertion order above, We rely on it.

Tests

tests:
  - text: All tests should pass
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=functional&n=3').then(data => { assert.equal(data.state,'passed'); }, xhr => { throw new Error(xhr.responseText); })
  - text: You should test for 'res.status' to be 200
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=functional&n=3').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.type' to be 'application/json'
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=functional&n=3').then(data => { assert.equal(data.assertions[1].method, 'equal'); assert.equal(data.assertions[1].args[0], 'res.type'); assert.equal(data.assertions[1].args[1], '\'application/json\'');}, xhr => { throw new Error(xhr.responseText); })
  - text: You should test for 'res.body.name' to be 'Giovanni'
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=functional&n=3').then(data => { assert.equal(data.assertions[2].method, 'equal'); assert.equal(data.assertions[2].args[0], 'res.body.name'); assert.equal(data.assertions[2].args[1], '\'Giovanni\'');}, xhr => { throw new Error(xhr.responseText); })
  - text: You should test for 'res.body.surname' to be 'da Verrazzano'
    testString: getUserInput => $.get(getUserInput('url') + '/_api/get-tests?type=functional&n=3').then(data => { assert.equal(data.assertions[3].method, 'equal'); assert.equal(data.assertions[3].args[0], 'res.body.surname'); assert.equal(data.assertions[3].args[1], '\'da Verrazzano\'');}, xhr => { throw new Error(xhr.responseText); })

Challenge Seed

Solution

// solution required