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}