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}