Search Apps Documentation Source Content File Folder Download Copy Actions Download

z_0_filetest.gno

1.51 Kb · 51 lines
 1// PKGPATH: gno.land/r/demo/bank1
 2// SEND: 100000000ugnot
 3
 4package bank1
 5
 6import (
 7	"chain"
 8	"chain/banker"
 9	"testing"
10
11	"gno.land/r/archive/banktest"
12)
13
14func main() {
15	// set up main address and banktest addr.
16	banktestAddr := chain.PackageAddress("gno.land/r/archive/banktest")
17	mainaddr := chain.PackageAddress("gno.land/r/demo/bank1")
18	testing.SetOriginCaller(mainaddr)
19
20	// get and print balance of mainaddr.
21	// with the SEND, + 200 gnot given by the TestContext, main should have 300gnot.
22	banker_ := banker.NewBanker(banker.BankerTypeRealmSend)
23	mainbal := banker_.GetCoins(mainaddr)
24	println("main before:", mainbal)
25
26	// simulate a Deposit call. use Send + OriginSend to simulate -send.
27	banker_.SendCoins(mainaddr, banktestAddr, chain.Coins{{"ugnot", 100_000_000}})
28	testing.SetOriginSend(chain.Coins{{"ugnot", 100_000_000}})
29	testing.SetRealm(testing.NewUserRealm(mainaddr))
30	res := banktest.Deposit(cross, "ugnot", 50_000_000) // bank1 can't send? should be r/demo/bank1 to r/demo/banktest, is bank1 -> bank1.
31	println("Deposit():", res)
32
33	// print main balance after.
34	mainbal = banker_.GetCoins(mainaddr)
35	println("main after:", mainbal)
36
37	// simulate a Render(). banker should have given back all coins.
38	res = banktest.Render("")
39	println(res)
40}
41
42// Output:
43// main before: 100000000ugnot
44// Deposit(): returned!
45// main after: 50000000ugnot
46// ## recent activity
47//
48//  * g1tnpdmvrmtgql8fmxgsq9rwtst5hsxahk3f05dk 100000000ugnot sent, 50000000ugnot returned, at 2009-02-13 11:31pm UTC
49//
50// ## total deposits
51// 50000000ugnot