unlock_test.gno

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