Search Apps Documentation Source Content File Folder Download Copy Actions Download

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