Search Apps Documentation Source Content File Folder Download Copy Actions Download

zp_0_a_filetest.gno

1.43 Kb · 62 lines
 1package main
 2
 3import (
 4	"testing"
 5
 6	pcommondao "gno.land/p/nt/commondao/v0"
 7
 8	"gno.land/r/nt/commondao/v0"
 9)
10
11const (
12	owner         = address("g16jpf0puufcpcjkph5nxueec8etpcldz7zwgydq") // @devx
13	user          = address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1
14	newMembers    = "g16jpf0puufcpcjkph5nxueec8etpcldz7zwgydq\ng147ah9520z0r6jh9mjr6c75rv6l8aypzvcd3f7d"
15	removeMembers = "g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5"
16)
17
18var dao *pcommondao.CommonDAO
19
20func init() {
21	testing.SetRealm(testing.NewUserRealm(owner))
22	commondao.Invite(cross, user)
23
24	testing.SetRealm(testing.NewUserRealm(user))
25	testing.SetRealm(testing.NewCodeRealm("gno.land/r/demo/test"))
26	dao = commondao.New(cross, "Foo")
27	dao.Members().Add(user)
28
29	options := commondao.GetOptions(dao.ID())
30	options.SetAllowMembersUpdate(true)
31}
32
33func main() {
34	testing.SetRealm(testing.NewUserRealm(user))
35
36	pID := commondao.CreateMembersUpdateProposal(cross, dao.ID(), newMembers, removeMembers)
37
38	p := dao.ActiveProposals().Get(pID)
39	if p == nil {
40		panic("expected proposal to be created")
41	}
42
43	println(string(p.Status()))
44	println(p.Creator() == user)
45	println(p.Definition().Title() == "Members Update")
46	println("")
47	println(p.Definition().Body())
48}
49
50// Output:
51// active
52// true
53// true
54//
55// **Members to Add:**
56// - g147ah9520z0r6jh9mjr6c75rv6l8aypzvcd3f7d
57// - g16jpf0puufcpcjkph5nxueec8etpcldz7zwgydq
58//
59//
60// **Members to Remove:**
61// - g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5
62//