setup_test.gno
1.25 Kb · 44 lines
1package abt
2
3import (
4 "chain"
5 "testing"
6
7 "gno.land/p/nt/grc20/v0"
8 "gno.land/p/nt/testutils/v0"
9 "gno.land/r/akkadia/beta/admin"
10)
11
12var abtTest = struct {
13 Admin, Operator, Owner, Other address
14}{
15 Admin: testutils.TestAddress("abtAdmin"),
16 Operator: testutils.TestAddress("abtOperator"),
17 Owner: testutils.TestAddress("abtOwner"),
18 Other: testutils.TestAddress("abtOther"),
19}
20
21// Call with cross(cur) so token construction uses a live ABT realm.
22func setupABT(cur realm, t *testing.T) {
23 t.Helper()
24 token, ledger = grc20.NewToken("Akkadia Beta Token", "abt", 6, 0, cur)
25 frozen = true
26 testing.SetOriginSend(chain.Coins{})
27 originalAdmin := admin.GetAdmin()
28 if originalAdmin != abtTest.Admin {
29 testing.SetOriginCaller(originalAdmin)
30 testing.SetRealm(testing.NewUserRealm(originalAdmin))
31 admin.TransferAdmin(cross(cur), abtTest.Admin)
32 testing.SetOriginCaller(abtTest.Admin)
33 testing.SetRealm(testing.NewUserRealm(abtTest.Admin))
34 admin.AcceptAdmin(cross(cur))
35 }
36 testing.SetOriginCaller(abtTest.Admin)
37 testing.SetRealm(testing.NewUserRealm(abtTest.Admin))
38 for _, operator := range admin.GetOperators() {
39 admin.UnsetOperator(cross(cur), operator)
40 }
41 admin.SetOperator(cross(cur), abtTest.Operator)
42}
43
44func captureABTRealm(cur realm) realm { return cur }