z_6_d_filetest.gno
1.82 Kb · 58 lines
1// PKGPATH: gno.land/r/gnoland/boards2/v1/hub/filetests/z_6_d_filetest
2
3// Test getting flags from a comment
4package z_6_d_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 comment hub.Comment
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 commentID := boards2.CreateReply(cross(cur), boardID, threadID, 0, "Comment")
26
27 // Invite member
28 boards2.InviteMember(cross(cur), boardID, admin, "admin")
29 boards2.InviteMember(cross(cur), boardID, moderator, "moderator")
30
31 // Update flagging threshold to two flags
32 boards2.SetFlaggingThreshold(cross(cur), boardID, 2)
33
34 // Add first flag
35 testing.SetRealm(testing.NewUserRealm(admin))
36 boards2.FlagReply(cross(cur), boardID, threadID, commentID, "Reason 1")
37
38 // Add second flag
39 testing.SetRealm(testing.NewUserRealm(moderator))
40 boards2.FlagReply(cross(cur), boardID, threadID, commentID, "Reason 2")
41
42 // Get readonly comment
43 testing.SetRealm(testing.NewCodeRealm("gno.land/r/gnoland/boards2/test"))
44 comment, _ = hub.GetComment(cross(cur), uint64(boardID), uint64(threadID), uint64(commentID))
45}
46
47func main(cur realm) {
48 testing.SetRealm(testing.NewCodeRealm("gno.land/r/gnoland/boards2/test"))
49 flags := hub.GetFlags(cross(cur), comment.BoardID, comment.ThreadID, comment.ID, 0, comment.FlagCount)
50
51 for _, f := range flags {
52 println(f.User, f.Reason)
53 }
54}
55
56// Output:
57// g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5 Reason 1
58// g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj Reason 2