82 lines
2.2 KiB
JavaScript
82 lines
2.2 KiB
JavaScript
const chaiHttp = require("chai-http");
|
|
const chai = require("chai");
|
|
let assert = chai.assert;
|
|
const server = require("../server");
|
|
|
|
chai.use(chaiHttp);
|
|
|
|
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();
|
|
});
|
|
});
|
|
|
|
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();
|
|
});
|
|
});
|
|
});
|