z_6_c_filetest.gno
1.68 Kb · 57 lines
1// PKGPATH: gno.land/r/gnoland/boards2/v1/hub/filetests/z_6_c_filetest
2
3// Test getting flags from a thread
4package z_6_c_filetest
5
6import (
7 "testing"
8
9 boards2 "gno.land/r/gnoland/boards2/v1"
10 "gno.land/r/gnoland/boards2/v1/hub"
11)
12
13const (
14 owner address = "g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh"
15 admin = "g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5"
16 moderator = "g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj"
17)
18
19var thread hub.Thread
20
21func init(cur realm) {
22 testing.SetRealm(testing.NewUserRealm(owner))
23 boardID := boards2.CreateBoard(cross(cur), "test123", false, false)
24 threadID := boards2.CreateThread(cross(cur), boardID, "Title", "Body")
25
26 // Invite members
27 boards2.InviteMember(cross(cur), boardID, admin, "admin")
28 boards2.InviteMember(cross(cur), boardID, moderator, "moderator")
29
30 // Update flagging threshold to two flags
31 boards2.SetFlaggingThreshold(cross(cur), boardID, 2)
32
33 // Add first flag
34 testing.SetRealm(testing.NewUserRealm(admin))
35 boards2.FlagThread(cross(cur), boardID, threadID, "Reason 1")
36
37 // Add second flag
38 testing.SetRealm(testing.NewUserRealm(moderator))
39 boards2.FlagThread(cross(cur), boardID, threadID, "Reason 2")
40
41 // Get readonly thread
42 testing.SetRealm(testing.NewCodeRealm("gno.land/r/gnoland/boards2/test"))
43 thread, _ = hub.GetThread(cross(cur), uint64(boardID), uint64(threadID))
44}
45
46func main(cur realm) {
47 testing.SetRealm(testing.NewCodeRealm("gno.land/r/gnoland/boards2/test"))
48 flags := hub.GetFlags(cross(cur), thread.BoardID, thread.ID, 0, 0, thread.FlagCount)
49
50 for _, f := range flags {
51 println(f.User, f.Reason)
52 }
53}
54
55// Output:
56// g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5 Reason 1
57// g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj Reason 2