2.0 KiB
2.0 KiB
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
587d824f367417b2b2512c59 | Run Functional Tests on API Endpoints using Chai-HTTP II | 2 | 301592 | run-functional-tests-on-api-endpoints-using-chai-http-ii |
--description--
As a reminder, this project is being built upon the following starter project on Repl.it, or cloned from GitHub.
--instructions--
Within tests/2_functional-tests.js
, alter the 'Test GET /hello with your name'
test (// #2
) to assert the status
and the text
response to make the test pass.
Send your name in the query, appending ?name=<your_name>
to the route. The endpoint responds with 'hello <your_name>'
.
--hints--
All tests should pass
(getUserInput) =>
$.get(getUserInput('url') + '/_api/get-tests?type=functional&n=1').then(
(data) => {
assert.equal(data.state, 'passed');
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
You should test for 'res.status' == 200
(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);
}
);
You should test for 'res.text' == 'hello Guest'
(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);
}
);
--solutions--
/**
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.
*/