legacy/routes/extensibleEnums.js (48 lines of code) (raw):

var express = require("express"); var router = express.Router(); var utils = require("../util/utils"); // valid enums var tommy = { DaysOfWeek: "Monday", IntEnum: "1", name: "Tommy Tomson", }; // unexpected enum var casper = { DaysOfWeek: "Weekend", IntEnum: "2", name: "Casper Ghosty", }; // enum from allowed values var scooby = { DaysOfWeek: "Thursday", IntEnum: "2.1", name: "Scooby Scarface", }; var pathitem = function (coverage) { router.get("/pet/:petId", function (req, res, next) { var petId = req.params.petId; console.log('Inside pathItem handler with petId "' + petId + '"\n'); if (petId === "tommy") { coverage["expectedEnum"]++; res.status(200).json(tommy); } else if (petId === "casper") { res.status(200).json(casper); coverage["unexpectedEnum"]++; } else if (petId === "scooby") { res.status(200).json(scooby); coverage["allowedValueEnum"]++; } else { utils.send400(res, next, "Pet not found for " + petId); } }); router.post("/pet/addPet", function (req, res, next) { var petName = req.body.name; console.log("Inside addPet for " + petName + "\n"); if (petName === "Retriever") { coverage["roundTripEnum"]++; res.status(200).json(req.body); } else { utils.send400(res, next, "Pet info incorrect " + petName); } }); }; pathitem.prototype.router = router; module.exports = pathitem;