diff --git a/routes/routes.js b/routes/routes.js index 8018702..ebf67ae 100644 --- a/routes/routes.js +++ b/routes/routes.js @@ -194,7 +194,6 @@ router.post('/tech-number', (req, res) => { } }) - router.post('/duck-number', (req, res) => { let num = req.body.number; let flag = false; @@ -216,5 +215,21 @@ router.post('/duck-number', (req, res) => { } }) -module.exports = router; +router.post("/leap-year", (req, res) => { + let year = req.body.year; + let message; + + if (year % 400 === 0) { + message = `The year ${year} is a leap year`; + } else if (year % 100 === 0) { + message = `The year ${year} is not a leap year`; + } else if (year % 4 === 0) { + message = `The year ${year} is a leap year`; + } else { + message = `The year ${year} is not a leap year`; + } + + res.status(200).send({ message }); +}); +module.exports = router; \ No newline at end of file diff --git a/tests/tests.js b/tests/tests.js index fd38b83..4d56df1 100644 --- a/tests/tests.js +++ b/tests/tests.js @@ -21,6 +21,35 @@ describe("Starting tests for app.js ->", () => { } }); }); + + //Add more tests here + + it("Correctly checks if a given year is leap year or not", (done) => { + const leapYears = [1912, 1928, 1936, 1948, 1980, 2000, 2012]; + const nonLeapYears = [1901, 1913, 1926, 1957, 1962, 1978, 1995]; + + for (let i = 1; i < 3; i++) { + const yearsToCheck = i === 1 ? leapYears : nonLeapYears; + for (const year of yearsToCheck) { + chai + .request(app) + .post("/leap-year") + .send({ year }) + .end((err, res) => { + if (err) { + done(err); + process.exit(1); + } else { + res.body.message.should.equal( + `The year ${year} is${i === 1 ? "" : " not"} a leap year`, + ); + } + }); + } + } + + done(); + }); it("To check if /prime endpoint is working", (done) => { chai @@ -41,6 +70,4 @@ describe("Starting tests for app.js ->", () => { } }); }); - - //Add more tests here });