smr/spec/pages_sanity_spec.lua

107 lines
1.8 KiB
Lua

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)