44 lines
1.3 KiB
Lua
44 lines
1.3 KiB
Lua
_G.spy = spy
|
|
local mock_env = require("spec.env_mock")
|
|
local fuzzy = require("spec.fuzzgen")
|
|
require("spec.utils")
|
|
|
|
describe("smr",function()
|
|
setup(mock_env.setup)
|
|
teardown(mock_env.teardown)
|
|
it("should display an anonymously submitted post on the front page", function()
|
|
local paste_post = require("endpoints.paste_post")
|
|
local index_get = require("endpoints.index_get")
|
|
local pages = require("pages")
|
|
local config = require("config")
|
|
config.domain = "test.host"
|
|
pages_mock = mock(pages)
|
|
configure()
|
|
assert.stub(pages_mock.index).was_not_called()
|
|
local post_req = {
|
|
host = "test.host",
|
|
method = "POST",
|
|
path = "/_paste",
|
|
args = {
|
|
title = fuzzy.any(),
|
|
text = fuzzy.any(),
|
|
pasteas = "anonymous",
|
|
markup = "plain",
|
|
tags = "one;two;",
|
|
}
|
|
}
|
|
paste_post(post_req)
|
|
local get_req = {
|
|
host = "test.host",
|
|
method = "GET",
|
|
path = "/",
|
|
args = {},
|
|
}
|
|
index_get(get_req)
|
|
assert.stub(pages_mock.index).was_called()
|
|
assertf(get_req.responsecode >= 200 and get_req.responsecode < 300, "Should give a 2XX response code, got %d", get_req.responsecode)
|
|
assert(get_req.responsecode == 200, "Error code should be 200 - OK")
|
|
assert(get_req.response:find(get_req.response,1,true), "Failed to find title in string")
|
|
end)
|
|
end)
|