Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

setup_test.gno

0.98 Kb · 35 lines
 1package lotto
 2
 3import (
 4	"chain"
 5	"testing"
 6
 7	"gno.land/p/nt/bptree/v0"
 8	"gno.land/p/nt/testutils/v0"
 9	"gno.land/r/akkadia/beta/admin"
10)
11
12var (
13	testAdmin    = testutils.TestAddress("lottoAdmin")
14	testOperator = testutils.TestAddress("lottoOperator")
15	testOwner    = testutils.TestAddress("lottoOwner")
16	testOther    = testutils.TestAddress("lottoOther")
17)
18
19// Call with cross(cur); each test resets holdings and restores the operator.
20func setupLotto(cur realm) {
21	holdings = bptree.NewBPTree32()
22	testing.SetOriginSend(chain.Coins{})
23	originalAdmin := admin.GetAdmin()
24	if originalAdmin != testAdmin {
25		testing.SetOriginCaller(originalAdmin)
26		testing.SetRealm(testing.NewUserRealm(originalAdmin))
27		admin.TransferAdmin(cross(cur), testAdmin)
28		testing.SetOriginCaller(testAdmin)
29		testing.SetRealm(testing.NewUserRealm(testAdmin))
30		admin.AcceptAdmin(cross(cur))
31	}
32	testing.SetOriginCaller(testAdmin)
33	testing.SetRealm(testing.NewUserRealm(testAdmin))
34	admin.SetOperator(cross(cur), testOperator)
35}