local pages = { index = { route = "/", name = "home", methods = { GET={} } }, paste = { route = "/_paste", name = "post_story", methods = { GET={}, POST={} } }, edit = { route = "/_edit", name = "edit", methods = { GET={}, POST={}, } }, --TODO:bio login = { route = "/_login", name = "login", methods = { GET={}, POST={}, } }, claim = { route = "/_claim", name = "claim", methods = { GET = {}, POST = {} } }, download = { route = "/_download", name = "download", methods = { GET = {}, } }, preview = { route = "/_preview", name = "preview", methods = { POST = {}, } }, search = { route = "/_search", name = "search", methods = { GET = {}, } } } local request_stub_m = { } function http_response(req,errcode,str) s = true end function http_request_get_host(reqstub) return "localhost:8888" end function http_request_populate_post(reqstub) reqstub.post_populated = true end describe("smr",function() for name, obj in pairs(pages) do describe("endpoint " .. name,function() for method,parameters in pairs(obj.methods) do describe("method " .. method,function() local fname = string.format("%s_%s",name,string.lower(method)) it("should be named appropriately",function() local f = assert(io.open(fname .. ".lua","r")) end) it("should run without errors",function() require(fname) end) it("should return a function",function() local pagefunc = assert(require(fname)) assert(type(pagefunc) == "function") end) it("calls http_response()",function() local pagefunc = require(fname) local s = false local reqstub = {} pagefunc(reqstub) end) end) end end) end end)