Search Apps Documentation Source Content File Folder Download Copy Actions Download

z_0_a_filetest.gno

1.71 Kb ยท 64 lines
 1// PKGPATH: gno.land/r/gnops/valopers/proposal_test
 2// SEND: 20000000ugnot
 3
 4package proposal_test
 5
 6import (
 7	"testing"
 8
 9	"gno.land/p/nt/testutils"
10	"gno.land/r/gnops/valopers"
11	"gno.land/r/gnops/valopers/proposal"
12	"gno.land/r/gov/dao"
13	daoinit "gno.land/r/gov/dao/v3/init"
14	susers "gno.land/r/sys/users"
15)
16
17var g1user = testutils.TestAddress("g1user")
18
19const (
20	validMoniker     = "test-1"
21	validDescription = "test-1's description"
22	validServerType  = valopers.ServerTypeOnPrem
23	validAddress     = address("g1sp8v98h2gadm5jggtzz9w5ksexqn68ympsd68h")
24	otherAddress     = address("g1juz2yxmdsa6audkp6ep9vfv80c8p5u76e03vvh")
25	validPubKey      = "gpub1pggj7ard9eg82cjtv4u52epjx56nzwgjyg9zqwpdwpd0f9fvqla089ndw5g9hcsufad77fml2vlu73fk8q8sh8v72cza5p"
26)
27
28func init() {
29	testing.SetOriginCaller(g1user)
30	daoinit.InitWithUsers(g1user)
31	registerTestUsers(g1user)
32}
33
34const gUsersV1Path = "gno.land/r/gnoland/users/v1"
35
36// Register a namespace for every addresses
37// Necessary to test GovDAO Vote
38func registerTestUsers(addrs ...address) {
39	// Set realm to users admin to register test user
40	testing.SetRealm(testing.NewCodeRealm(gUsersV1Path))
41	for _, addr := range addrs {
42		err := susers.RegisterUser(cross, addr.String()[1:], addr)
43		if err != nil {
44			panic(err.Error() + " : " + addr.String())
45		}
46	}
47}
48
49func main() {
50	testing.SetOriginCaller(g1user)
51	// Register a validator
52	valopers.Register(cross, validMoniker, validDescription, validServerType, validAddress, validPubKey)
53	// Try to make a proposal for a non-existing validator
54
55	if err := revive(func() {
56		pr := proposal.NewValidatorProposalRequest(cross, otherAddress)
57		dao.MustCreateProposal(cross, pr)
58	}); err != nil {
59		println("r: ", err)
60	}
61}
62
63// Output:
64// r:  valoper does not exist