github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/examples/gno.land/r/demo/users/z_5_filetest.gno (about)

     1  package main
     2  
     3  // SEND: 2000000000ugnot
     4  
     5  import (
     6  	"std"
     7  
     8  	"gno.land/p/demo/testutils"
     9  	"gno.land/r/demo/users"
    10  )
    11  
    12  const admin = std.Address("g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj")
    13  
    14  func 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  // * [gnouser](/r/demo/users:gnouser)
    40  //  * [satoshi](/r/demo/users:satoshi)
    41  //
    42  // ========================================
    43  // ## user gnouser
    44  //
    45  //  * address = g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm
    46  //  * 9 invites
    47  //
    48  // my profile
    49  //
    50  // ========================================
    51  // ## user satoshi
    52  //
    53  //  * address = g1w3jhxap3ta047h6lta047h6lta047h6l4mfnm7
    54  //  * 0 invites
    55  //  * invited by g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm
    56  //
    57  // my other profile
    58  //
    59  // ========================================
    60  // unknown username badname