Search Apps Documentation Source Content File Folder Download Copy Actions Download

unlock_test.gno

1.46 Kb · 65 lines
 1package params
 2
 3import (
 4	"testing"
 5
 6	"gno.land/p/nt/testutils/v0"
 7	"gno.land/p/nt/urequire/v0"
 8	"gno.land/r/gov/dao"
 9	ini "gno.land/r/gov/dao/v3/init"
10)
11
12var g1user = testutils.TestAddress("g1user")
13
14func init(cur realm) {
15	testing.SetRealm(testing.NewUserRealm(g1user))
16	ini.InitWithUsers(cross(cur), g1user)
17}
18
19func TestProUnlockTransfer(cur realm, t *testing.T) {
20	testing.SetRealm(testing.NewUserRealm(g1user))
21
22	pr := ProposeUnlockTransferRequest(cur)
23	id := dao.MustCreateProposal(cross(cur), pr)
24	p, err := dao.GetProposal(id)
25	urequire.NoError(t, err)
26	urequire.Equal(t, unlockTransferTitle, p.Title())
27}
28
29func TestFailUnlockTransfer(cur realm, t *testing.T) {
30	testing.SetRealm(testing.NewUserRealm(g1user))
31
32	pr := ProposeUnlockTransferRequest(cur)
33	id := dao.MustCreateProposal(cross(cur), pr)
34	urequire.AbortsWithMessage(
35		t, cur,
36		"proposal didn't reach supermajority yet: 66.66",
37		func() {
38			dao.ExecuteProposal(cross(cur), id)
39		},
40	)
41}
42
43func TestExeUnlockTransfer(cur realm, t *testing.T) {
44	testing.SetRealm(testing.NewUserRealm(g1user))
45
46	pr := ProposeUnlockTransferRequest(cur)
47	id := dao.MustCreateProposal(cross(cur), pr)
48	_, err := dao.GetProposal(id)
49	urequire.NoError(t, err)
50	// urequire.True(t, dao.Active == p.Status()) // TODO
51
52	urequire.NotPanics(
53		t, cur,
54		func() {
55			dao.MustVoteOnProposal(cross(cur), dao.NewVoteRequest(dao.YesVote, dao.ProposalID(id)))
56		},
57	)
58
59	urequire.NotPanics(
60		t, cur,
61		func() {
62			dao.ExecuteProposal(cross(cur), id)
63		},
64	)
65}