2023-04-23 12:11:05 +02:00
|
|
|
const chaiHttp = require("chai-http");
|
|
|
|
const chai = require("chai");
|
Fix (Boilerplate): Add Event Parameter to test, Remove Infosec Requriements, Add Lowercase Requirement (#12)
* Fix missing event, correct example conversion
* Fix unit case
* Remove Infosec items, add lowercase requirement
* Convert to ES6, Update Packages, Fix display
* Applying @nhcarrigan's changes from site tests
* Removed unneeded mongodb ref
* Remove User Stories, Reformat README
* Apply suggestions from code review - Remove "Quality Assurance Project" Prefix
Co-authored-by: Shaun Hamilton <51722130+Sky020@users.noreply.github.com>
* Re-add the example text, clean up formatting
* Update Favicon
* Fix repo link, remove zombie.js
* Remove unused files, add sample.env
Co-authored-by: Shaun Hamilton <51722130+Sky020@users.noreply.github.com>
Co-authored-by: Rex Schrader <rex.schader@gmail.com>
2020-11-25 16:09:04 +01:00
|
|
|
let assert = chai.assert;
|
2023-04-23 12:11:05 +02:00
|
|
|
const server = require("../server");
|
2017-02-18 20:14:10 +01:00
|
|
|
|
|
|
|
chai.use(chaiHttp);
|
|
|
|
|
2023-04-23 12:11:05 +02:00
|
|
|
suite("Functional Tests", function () {
|
|
|
|
this.timeout(5000);
|
|
|
|
test("Convert a valid input such as 10L: GET request to /api/convert.", (done) => {
|
|
|
|
chai
|
|
|
|
.request(server)
|
|
|
|
.keepOpen()
|
|
|
|
.get("/api/convert?input=10L")
|
|
|
|
.end(function (err, res) {
|
|
|
|
assert.equal(res.status, 200);
|
|
|
|
assert.deepEqual(res.body, {
|
|
|
|
initNum: 10,
|
|
|
|
initUnit: "L",
|
|
|
|
returnNum: 2.64172,
|
|
|
|
returnUnit: "gal",
|
|
|
|
string: "10 liters converts to 2.64172 gallons",
|
|
|
|
});
|
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
2017-02-18 20:14:10 +01:00
|
|
|
|
2023-04-23 12:11:05 +02:00
|
|
|
test("Convert an invalid input such as 32g: GET request to /api/convert.", (done) => {
|
|
|
|
chai
|
|
|
|
.request(server)
|
|
|
|
.keepOpen()
|
|
|
|
.get("/api/convert?input=32g")
|
|
|
|
.end(function (err, res) {
|
|
|
|
assert.equal(res.status, 200);
|
|
|
|
assert.strictEqual(res.text, "invalid unit");
|
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
test("Convert an invalid number such as 3/7.2/4kg: GET request to /api/convert.", (done) => {
|
|
|
|
chai
|
|
|
|
.request(server)
|
|
|
|
.keepOpen()
|
|
|
|
.get("/api/convert?input=3/7.2/4kg")
|
|
|
|
.end(function (err, res) {
|
|
|
|
assert.equal(res.status, 200);
|
|
|
|
assert.strictEqual(res.text, "invalid number");
|
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
test("Convert an invalid number AND unit such as 3/7.2/4kilomegagram: GET request to /api/convert.", (done) => {
|
|
|
|
chai
|
|
|
|
.request(server)
|
|
|
|
.keepOpen()
|
|
|
|
.get("/api/convert?input=3/7.2/4kilomegagram")
|
|
|
|
.end(function (err, res) {
|
|
|
|
assert.equal(res.status, 200);
|
|
|
|
assert.strictEqual(res.text, "invalid number and unit");
|
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
test("Convert with no number such as kg: GET request to /api/convert.", (done) => {
|
|
|
|
chai
|
|
|
|
.request(server)
|
|
|
|
.keepOpen()
|
|
|
|
.get("/api/convert?input=kg")
|
|
|
|
.end(function (err, res) {
|
|
|
|
assert.equal(res.status, 200);
|
|
|
|
assert.deepEqual(res.body, {
|
|
|
|
initNum: 1,
|
|
|
|
initUnit: "kg",
|
|
|
|
returnNum: 2.20462,
|
|
|
|
returnUnit: "lbs",
|
|
|
|
string: "1 kilograms converts to 2.20462 pounds",
|
|
|
|
});
|
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
2017-02-18 20:14:10 +01:00
|
|
|
});
|