z_1_filetest.gno
1.67 Kb · 64 lines
1// PKGPATH: gno.land/r/test/proposal
2// SEND: 100000000ugnot
3
4package proposal
5
6import (
7 "testing"
8
9 "gno.land/p/nt/testutils/v0"
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" // so that the govdao initializer is executed
14)
15
16var g1user = testutils.TestAddress("g1user") // g1vuch2um9wf047h6lta047h6lta047h6l2ewm6w
17
18const (
19 validMoniker = "test-1"
20 validDescription = "test-1's description"
21 validServerType = valopers.ServerTypeOnPrem
22 validAddress = address("g1sp8v98h2gadm5jggtzz9w5ksexqn68ympsd68h")
23 validPubKey = "gpub1pggj7ard9eg82cjtv4u52epjx56nzwgjyg9zqwpdwpd0f9fvqla089ndw5g9hcsufad77fml2vlu73fk8q8sh8v72cza5p"
24)
25
26func init(cur realm) {
27 testing.SetOriginCaller(g1user)
28 daoinit.InitWithUsers(cross(cur), g1user)
29
30 // Register a validator: OriginCaller must equal operator addr (squat guard).
31 testing.SetOriginCaller(validAddress)
32 valopers.Register(cross(cur), validMoniker, validDescription, validServerType, validAddress, validPubKey)
33
34 // Switch back to g1user for the GovDAO submission.
35 testing.SetOriginCaller(g1user)
36
37 if err := revive(func() {
38 pr := proposal.NewValidatorProposalRequest(cross(cur), validAddress)
39 dao.MustCreateProposal(cross(cur), pr)
40 }); err != nil {
41 println("r: ", err)
42 } else {
43 println("OK")
44 }
45}
46
47func main(cur realm) {
48 println(dao.Render(cross(cur), ""))
49}
50
51// Output:
52// OK
53// # GovDAO
54// ## Members
55// [> Go to Memberstore <](/r/gov/dao/v3/memberstore)
56// ## Proposals
57// ### [Prop #0 - Add valoper test\-1 to the valset](/r/gov/dao:0)
58// Author: g1vuch2um9wf047h6lta047h6lta047h6l2ewm6w
59//
60// Status: ACTIVE
61//
62// Tiers eligible to vote: T1, T2, T3
63//
64// ---