z_iterate_realm_members_00_filetest.gno
0.98 Kb · 36 lines
1// PKGPATH: gno.land/r/gnoland/boards2/v1/filetests/z_iterate_realm_members_00_filetest
2
3package z_iterate_realm_members_00_filetest
4
5import (
6 "testing"
7
8 "gno.land/p/gnoland/boards"
9
10 boards2 "gno.land/r/gnoland/boards2/v1"
11)
12
13const (
14 owner address = "g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh"
15 bid = boards.ID(0) // Operate on realm DAO instead of individual boards
16)
17
18func init(cur realm) {
19 testing.SetRealm(testing.NewUserRealm(owner))
20 boards2.InviteMember(cross(cur), bid, "g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj", boards2.RoleAdmin)
21}
22
23func main(cur realm) {
24 testing.SetRealm(testing.NewCodeRealm("gno.land/r/gnoland/boards2/test"))
25
26 // Calling as a Boards2 sub realm should succeed
27 perms := boards2.GetRealmPermissions(cross(cur))
28 perms.IterateUsers(0, perms.UsersCount(), func(u boards.User) bool {
29 println(u.Address, string(u.Roles[0]))
30 return false
31 })
32}
33
34// Output:
35// g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh owner
36// g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj admin