1package main
2
3// SEND: 200000000ugnot
4
5import (
6 "std"
7
8 "gno.land/p/demo/testutils"
9 "gno.land/r/demo/users"
10)
11
12const admin = std.Address("g1u7y667z64x2h7vc6fmpcprgey4ck233jaww9zq")
13
14func main() {
15 caller := std.GetOrigCaller() // main
16 users.Register("", "gnouser", "my profile")
17 // as admin, grant invites to gnouser
18 std.TestSetOrigCaller(admin)
19 users.GrantInvites(caller.String() + ":1")
20 // switch back to caller
21 std.TestSetOrigCaller(caller)
22 // invite another addr
23 test1 := testutils.TestAddress("test1")
24 users.Invite(test1.String())
25 // switch to test1
26 std.TestSetOrigCaller(test1)
27 std.TestSetOrigSend(std.Coins{{"dontcare", 1}}, nil)
28 users.Register(caller, "satoshi", "my other profile")
29 println(users.Render(""))
30 println("========================================")
31 println(users.Render("gnouser"))
32 println("========================================")
33 println(users.Render("satoshi"))
34 println("========================================")
35 println(users.Render("badname"))
36}
37
38// Output:
39// * [archives](/r/demo/users:archives)
40// * [demo](/r/demo/users:demo)
41// * [gno](/r/demo/users:gno)
42// * [gnoland](/r/demo/users:gnoland)
43// * [gnolang](/r/demo/users:gnolang)
44// * [gnouser](/r/demo/users:gnouser)
45// * [gov](/r/demo/users:gov)
46// * [nt](/r/demo/users:nt)
47// * [satoshi](/r/demo/users:satoshi)
48// * [sys](/r/demo/users:sys)
49// * [x](/r/demo/users:x)
50//
51// ========================================
52// ## user gnouser
53//
54// * address = g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm
55// * 9 invites
56//
57// my profile
58//
59// ========================================
60// ## user satoshi
61//
62// * address = g1w3jhxap3ta047h6lta047h6lta047h6l4mfnm7
63// * 0 invites
64// * invited by g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm
65//
66// my other profile
67//
68// ========================================
69// unknown username badname
z_5_filetest.gno
1.80 Kb ยท 69 lines