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}