Search Apps Documentation Source Content File Folder Download Copy Actions Download

unlock_test.gno

1.40 Kb · 68 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() {
15	testing.SetRealm(testing.NewUserRealm(g1user))
16	ini.InitWithUsers(g1user)
17}
18
19func TestProUnlockTransfer(t *testing.T) {
20	testing.SetRealm(testing.NewUserRealm(g1user))
21
22	pr := ProposeUnlockTransferRequest()
23	id := dao.MustCreateProposal(cross, pr)
24	p, err := dao.GetProposal(cross, id)
25	urequire.NoError(t, err)
26	urequire.Equal(t, unlockTransferTitle, p.Title())
27}
28
29func TestFailUnlockTransfer(t *testing.T) {
30	testing.SetRealm(testing.NewUserRealm(g1user))
31
32	pr := ProposeUnlockTransferRequest()
33	id := dao.MustCreateProposal(cross, pr)
34	urequire.AbortsWithMessage(
35		t,
36		"proposal didn't reach supermajority yet: 66.66",
37		func() {
38			dao.ExecuteProposal(cross, id)
39		},
40	)
41}
42
43func TestExeUnlockTransfer(t *testing.T) {
44	testing.SetRealm(testing.NewUserRealm(g1user))
45
46	pr := ProposeUnlockTransferRequest()
47	id := dao.MustCreateProposal(cross, pr)
48	_, err := dao.GetProposal(cross, id)
49	urequire.NoError(t, err)
50	// urequire.True(t, dao.Active == p.Status()) // TODO
51
52	urequire.NotPanics(
53		t,
54		func() {
55			dao.MustVoteOnProposal(cross, dao.VoteRequest{
56				Option:     dao.YesVote,
57				ProposalID: dao.ProposalID(id),
58			})
59		},
60	)
61
62	urequire.NotPanics(
63		t,
64		func() {
65			dao.ExecuteProposal(cross, id)
66		},
67	)
68}