def __init__(self, model_name): self.model_name = model_name self.model_name_camel_case = sh.camel_case_lower(model_name) self.controller = [ "const db = require(INSERT DB PATH);", " ", "const " + model_name + " = db." + self.model_name_camel_case + ";" ]
def generate_exports(self): self.add_line_to_controller(" ") self.add_line_to_controller("module.exports = {") self.add_line_to_controller("\tget" + self.model_name + ",") self.add_line_to_controller("\tget" + sh.pluralize(self.model_name) + ",") self.add_line_to_controller("\tadd" + self.model_name + ",") self.add_line_to_controller("\tupdate" + self.model_name + ",") self.add_line_to_controller("\tremove" + self.model_name + ",") self.add_function_closer()
def test_startswith_multi_returns_false_when_string_does_not_startswith( text: str, prefixes: str): """ Tests if the `StringHelper.startswith_multi()` method returns false when the string does not starts with a value. """ # Arrange result = StringHelper.startswith_multi(text, prefixes) # Assert assert result == False
def test_remove_postfix_works_as_intended(text: str, postfix: str, expected: str): """ Tests if the `StringHelper.remove_postfix()` method removes the postfix from the string. """ # Act actual = StringHelper.remove_postfix(text, postfix) # Assert assert actual == expected
def test_startswith_multi_returns_true_when_string_startswith( text: str, prefixes: str): """ Tests if the `StringHelper.startswith_multi()` method returns true when the string starts with a value. """ # Arrange result = StringHelper.startswith_multi(text, prefixes) # Assert assert result == True
def generate_find_all(self): self.add_line_to_controller("") self.add_comment_to_controller(comment="Get every " + self.model_name + " from the db") self.add_function_header("get" + sh.pluralize(self.model_name)) self.add_line_to_controller("\t" + self.model_name + ".findAll().then((" + sh.pluralize(self.model_name_camel_case) + " ) => {") self.add_line_to_controller("\t\t return res.status(200).json({" + sh.pluralize(self.model_name_camel_case) + "});") self.add_line_to_controller("\t}).catch((err) => {") self.add_line_to_controller("\t\t return res.status(400).json({") self.add_line_to_controller( '\t\t\t content : "No ' + sh.pluralize(sh.break_camel_case(self.model_name_camel_case)) + ' found"') self.add_line_to_controller("\t });") self.add_line_to_controller("\t});") self.add_function_closer()
def generate_find_one(self): self.add_line_to_controller("") self.add_comment_to_controller(comment="Get one " + self.model_name + " from the db") self.add_function_header("get" + self.model_name) self.add_line_to_controller("") self.add_line_to_controller("\tconst id = req.params.id") self.add_line_to_controller("") self.add_line_to_controller("\t" + self.model_name + ".findOne({where : { id : id }}).then((" + self.model_name_camel_case + ") => {") self.add_line_to_controller("\t\t return res.status(200).json(" + self.model_name_camel_case + ");") self.add_line_to_controller("\t}).catch((err) => {") self.add_line_to_controller("\t\t return res.status(400).json({") self.add_line_to_controller( '\t\t\t content : "No ' + sh.pluralize(sh.break_camel_case(self.model_name_camel_case)) + ' found"') self.add_line_to_controller("\t });") self.add_line_to_controller("\t});") self.add_function_closer()
def generate_delete_one(self): self.add_line_to_controller("") self.add_comment_to_controller(comment="Remove one " + self.model_name + " from the db") self.add_function_header("remove" + self.model_name) self.add_line_to_controller("") self.add_line_to_controller("\tconst id = req.params.id") self.add_line_to_controller("") self.add_line_to_controller("\t" + self.model_name + ".destroy({ where : { id : id }}).then((" + self.model_name_camel_case + ") => {") self.add_line_to_controller( '\t\t return res.status(200).json({content : "The ' + sh.break_camel_case(self.model_name) + ' has been deleted"});') self.add_line_to_controller("\t}).catch((err) => {") self.add_line_to_controller("\t\t return res.status(400).json({") self.add_line_to_controller('\t\t\t content : "The ' + sh.break_camel_case(self.model_name) + ' has not been deleted"') self.add_line_to_controller("\t });") self.add_line_to_controller("\t});") self.add_function_closer()
def test_pluralize_y_case(self): self.assertEqual(sh.pluralize("weapon"), "weapons")
def test_pluralize_normal_case(self): self.assertEqual(sh.pluralize("quality"), "qualities")
def test_camel_case_break_upper(self): self.assertEqual("test camel case upper", sh.break_camel_case("TestCamelCaseUpper"))
def test_camel_case_break_lower(self): self.assertEqual("test camel case lower", sh.break_camel_case("testCamelCaseLower"))
def generate_remove_one(self): self.add_line_to_router("") self.add_comment_to_router(" Remove one " + sh.break_camel_case(self.model_name) + " from the db") self.add_line_to_router("" + self.router_name + '.delete("/:id", ' + self.controller_name + ".remove" + self.model_name + ");")
def generate_create(self): self.add_line_to_router("") self.add_comment_to_router(" Add one " + sh.break_camel_case(self.model_name) + " to the db") self.add_line_to_router("" + self.router_name + '.post("/", ' + self.controller_name + ".add" + self.model_name + ");")
def generate_get_all(self): self.add_line_to_router("") self.add_comment_to_router(" Get all " + sh.pluralize(sh.break_camel_case(self.model_name)) + " from the db") self.add_line_to_router("" + self.router_name + '.get("/", ' + self.controller_name + ".get" + sh.pluralize(self.model_name) + ");")
def generate_get_one(self): self.add_line_to_router("") self.add_comment_to_router(" Get one " + sh.break_camel_case(self.model_name) + " from the db") self.add_line_to_router("" + self.router_name + '.get("/:id", ' + self.controller_name + ".get" + self.model_name + ");")
def test_camel_case_upper_sentence(self): self.assertEqual(sh.camel_case_upper("test camel case upper"), "TestCamelCaseUpper")
def generate_update_one(self): self.add_line_to_router("") self.add_comment_to_router(" Update one " + sh.break_camel_case(self.model_name) + " from the db") self.add_line_to_router("" + self.router_name + '.put("/:id", ' + self.controller_name + ".update" + self.model_name + ");")
def test_camel_case_lower_sentence(self): self.assertEqual(sh.camel_case_lower("test camel case lower"), "testCamelCaseLower")
def __init__(self, model_name): self.model_name = model_name self.model_name_camel_case_lower = sh.camel_case_lower(model_name) self.router_name = sh.camel_case_lower(model_name) + "Router" self.controller_name = sh.camel_case_lower(model_name) + "Controller" self.router = ['const express = require("express");', 'const ' + self.router_name +' = express.Router();', 'const ' + self.controller_name + ' = require("INSERT CONTROLLER PATH");']
def test_camel_case_lower_upper(self): self.assertEqual(sh.camel_case_lower("TestCamelCaseLower"), "testCamelCaseLower")