From 83d66ebe270985416cafa89a99360bac24fe4992 Mon Sep 17 00:00:00 2001 From: jeronimoalbi Date: Fri, 31 Jan 2025 12:14:29 +0100 Subject: [PATCH] test: add missing filetest for reply creation --- examples/gno.land/r/nt/boards2/public.gno | 3 ++ .../gno.land/r/nt/boards2/z_2_a_filetest.gno | 40 ++++++++++++++++++ .../gno.land/r/nt/boards2/z_2_b_filetest.gno | 20 +++++++++ .../gno.land/r/nt/boards2/z_2_c_filetest.gno | 23 +++++++++++ .../gno.land/r/nt/boards2/z_2_d_filetest.gno | 27 ++++++++++++ .../gno.land/r/nt/boards2/z_2_h_filetest.gno | 32 +++++++++++++++ .../gno.land/r/nt/boards2/z_2_i_filetest.gno | 27 ++++++++++++ .../gno.land/r/nt/boards2/z_2_j_filetest.gno | 41 +++++++++++++++++++ 8 files changed, 213 insertions(+) create mode 100644 examples/gno.land/r/nt/boards2/z_2_a_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/z_2_b_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/z_2_c_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/z_2_d_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/z_2_h_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/z_2_i_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/z_2_j_filetest.gno diff --git a/examples/gno.land/r/nt/boards2/public.gno b/examples/gno.land/r/nt/boards2/public.gno index dfecf1cd514..cc2e36279f5 100644 --- a/examples/gno.land/r/nt/boards2/public.gno +++ b/examples/gno.land/r/nt/boards2/public.gno @@ -92,6 +92,9 @@ func CreateThread(bid BoardID, title, body string) PostID { func CreateReply(bid BoardID, threadID, replyID PostID, body string) PostID { assertIsUserCall() + body = strings.TrimSpace(body) + assertBodyIsNotEmpty(body) + caller := std.GetOrigCaller() board := mustGetBoard(bid) assertHasBoardPermission(board, caller, PermissionReplyCreate) diff --git a/examples/gno.land/r/nt/boards2/z_2_a_filetest.gno b/examples/gno.land/r/nt/boards2/z_2_a_filetest.gno new file mode 100644 index 00000000000..f9e332d2cca --- /dev/null +++ b/examples/gno.land/r/nt/boards2/z_2_a_filetest.gno @@ -0,0 +1,40 @@ +package main + +import ( + "std" + "strings" + + "gno.land/r/nt/boards2" +) + +const ( + owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + path = "test-board/1/2" + comment = "Test comment" +) + +var ( + bid boards2.BoardID + tid boards2.PostID +) + +func init() { + std.TestSetOrigCaller(owner) + bid = boards2.CreateBoard("test-board") + tid = boards2.CreateThread(bid, "Foo", "bar") +} + +func main() { + rid := boards2.CreateReply(bid, tid, 0, comment) + + // Ensure that returned ID is right + println(rid == 2) + + // Render content must contain the reply + content := boards2.Render(path) + println(strings.Contains(content, "\n> "+comment+"\n")) +} + +// Output: +// true +// true diff --git a/examples/gno.land/r/nt/boards2/z_2_b_filetest.gno b/examples/gno.land/r/nt/boards2/z_2_b_filetest.gno new file mode 100644 index 00000000000..88b2233dff3 --- /dev/null +++ b/examples/gno.land/r/nt/boards2/z_2_b_filetest.gno @@ -0,0 +1,20 @@ +package main + +import ( + "std" + + "gno.land/r/nt/boards2" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +func init() { + std.TestSetOrigCaller(owner) +} + +func main() { + boards2.CreateReply(404, 1, 0, "comment") +} + +// Error: +// board does not exist with ID: 404 diff --git a/examples/gno.land/r/nt/boards2/z_2_c_filetest.gno b/examples/gno.land/r/nt/boards2/z_2_c_filetest.gno new file mode 100644 index 00000000000..4e0779194ab --- /dev/null +++ b/examples/gno.land/r/nt/boards2/z_2_c_filetest.gno @@ -0,0 +1,23 @@ +package main + +import ( + "std" + + "gno.land/r/nt/boards2" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +var bid boards2.BoardID + +func init() { + std.TestSetOrigCaller(owner) + bid = boards2.CreateBoard("test123") +} + +func main() { + boards2.CreateReply(bid, 404, 0, "comment") +} + +// Error: +// thread does not exist with ID: 404 diff --git a/examples/gno.land/r/nt/boards2/z_2_d_filetest.gno b/examples/gno.land/r/nt/boards2/z_2_d_filetest.gno new file mode 100644 index 00000000000..66edfb3d6f2 --- /dev/null +++ b/examples/gno.land/r/nt/boards2/z_2_d_filetest.gno @@ -0,0 +1,27 @@ +package main + +import ( + "std" + + "gno.land/r/nt/boards2" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +var ( + bid boards2.BoardID + tid boards2.PostID +) + +func init() { + std.TestSetOrigCaller(owner) + bid = boards2.CreateBoard("test-board") + tid = boards2.CreateThread(bid, "Foo", "bar") +} + +func main() { + boards2.CreateReply(bid, tid, 404, "comment") +} + +// Error: +// reply does not exist with ID: 404 diff --git a/examples/gno.land/r/nt/boards2/z_2_h_filetest.gno b/examples/gno.land/r/nt/boards2/z_2_h_filetest.gno new file mode 100644 index 00000000000..e34d8d167ef --- /dev/null +++ b/examples/gno.land/r/nt/boards2/z_2_h_filetest.gno @@ -0,0 +1,32 @@ +package main + +import ( + "std" + + "gno.land/r/nt/boards2" +) + +const ( + owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + user = std.Address("g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj") // @test2 +) + +var ( + bid boards2.BoardID + tid boards2.PostID +) + +func init() { + std.TestSetOrigCaller(owner) + bid = boards2.CreateBoard("test123") + tid = boards2.CreateThread(bid, "Foo", "bar") + + std.TestSetOrigCaller(user) +} + +func main() { + boards2.CreateReply(bid, tid, 0, "Test reply") +} + +// Error: +// unauthorized diff --git a/examples/gno.land/r/nt/boards2/z_2_i_filetest.gno b/examples/gno.land/r/nt/boards2/z_2_i_filetest.gno new file mode 100644 index 00000000000..aa43805f7fd --- /dev/null +++ b/examples/gno.land/r/nt/boards2/z_2_i_filetest.gno @@ -0,0 +1,27 @@ +package main + +import ( + "std" + + "gno.land/r/nt/boards2" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +var ( + bid boards2.BoardID + tid boards2.PostID +) + +func init() { + std.TestSetOrigCaller(owner) + bid = boards2.CreateBoard("test-board") + tid = boards2.CreateThread(bid, "Foo", "bar") +} + +func main() { + boards2.CreateReply(bid, tid, 0, "") +} + +// Error: +// body is empty diff --git a/examples/gno.land/r/nt/boards2/z_2_j_filetest.gno b/examples/gno.land/r/nt/boards2/z_2_j_filetest.gno new file mode 100644 index 00000000000..3449fb1c7ba --- /dev/null +++ b/examples/gno.land/r/nt/boards2/z_2_j_filetest.gno @@ -0,0 +1,41 @@ +package main + +import ( + "std" + "strings" + + "gno.land/r/nt/boards2" +) + +const ( + owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + path = "test-board/1/2" + comment = "Second comment" +) + +var ( + bid boards2.BoardID + tid, rid boards2.PostID +) + +func init() { + std.TestSetOrigCaller(owner) + bid = boards2.CreateBoard("test-board") + tid = boards2.CreateThread(bid, "Foo", "bar") + rid = boards2.CreateReply(bid, tid, 0, "First comment") +} + +func main() { + rid2 := boards2.CreateReply(bid, tid, rid, comment) + + // Ensure that returned ID is right + println(rid2 == 3) + + // Render content must contain the sub-reply + content := boards2.Render(path) + println(strings.Contains(content, "\n> > "+comment+"\n")) +} + +// Output: +// true +// true