Skip to content

Commit f3a9cb6

Browse files
author
Tasos Bitsios
committed
tests working
1 parent 061e657 commit f3a9cb6

File tree

2 files changed

+47
-27
lines changed

2 files changed

+47
-27
lines changed

projects/asset_labeling-contracts/tests/asset-labeling.spec.ts

Lines changed: 46 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import { algorandFixture } from '@algorandfoundation/algokit-utils/testing'
2-
import { AssetLabelingFactory } from '../smart_contracts/artifacts/asset_labeling/AssetLabelingClient'
3-
import { Account } from 'algosdk'
2+
import {
3+
AssetLabelingClient,
4+
AssetLabelingFactory,
5+
} from '../smart_contracts/artifacts/asset_labeling/AssetLabelingClient'
6+
import { Account, Address, appendSignMultisigTransaction } from 'algosdk'
47
import { Config } from '@algorandfoundation/algokit-utils'
58
import { TransactionSignerAccount } from '@algorandfoundation/algokit-utils/types/account'
69
import {
@@ -23,14 +26,17 @@ import {
2326
// add_op nonexist label should fail
2427
// remove_op nonexist label should fail
2528

29+
const config = {
30+
populateAppCallResources: true,
31+
debug: false,
32+
traceAll: false,
33+
}
34+
2635
describe('asset labeling contract', () => {
2736
const localnet = algorandFixture()
37+
2838
beforeAll(() => {
29-
Config.configure({
30-
populateAppCallResources: true,
31-
debug: false,
32-
traceAll: false,
33-
})
39+
Config.configure(config)
3440
})
3541
beforeEach(localnet.newScope)
3642

@@ -44,33 +50,46 @@ describe('asset labeling contract', () => {
4450
return { adminClient: appClient }
4551
}
4652

47-
test('change admin', async () => {
48-
const { testAccount: adminAccount } = localnet.context
49-
const { adminClient } = await deploy(adminAccount)
53+
describe('change admin', () => {
54+
let adminClient: AssetLabelingClient
55+
let randoClient: AssetLabelingClient
56+
let adminAccount: Address & Account & TransactionSignerAccount
57+
let randoAccount: Address & Account & TransactionSignerAccount
5058

51-
const id = 'wo'
52-
const name = 'world'
59+
beforeAll(async () => {
60+
await localnet.newScope()
5361

54-
const newAdmin = await localnet.context.generateAccount({ initialFunds: (0).algos() })
62+
adminAccount = localnet.context.testAccount
63+
adminClient = (await deploy(adminAccount)).adminClient
5564

56-
await adminClient.send.changeAdmin({ args: { newAdmin: newAdmin.addr.toString() } })
57-
const storedAdmin = await adminClient.state.global.admin()
65+
randoAccount = await localnet.context.generateAccount({ initialFunds: (1).algos() })
66+
randoClient = adminClient.clone({
67+
defaultSender: randoAccount,
68+
defaultSigner: randoAccount.signer,
69+
})
70+
})
5871

59-
expect(storedAdmin.asByteArray()).toEqual(newAdmin.addr.publicKey)
60-
})
61-
test('change admin should fail when not called by admin', async () => {
62-
const { testAccount: adminAccount } = localnet.context
63-
const { adminClient } = await deploy(adminAccount)
72+
test('should work', async () => {
73+
await adminClient.send.changeAdmin({ args: { newAdmin: randoAccount.addr.toString() } })
74+
const storedAdmin = await adminClient.state.global.admin()
75+
expect(storedAdmin.asByteArray()).toEqual(randoAccount.addr.publicKey)
6476

65-
const rando = await localnet.context.generateAccount({ initialFunds: (0.2).algos() })
66-
const randoClient = adminClient.clone({
67-
defaultSender: rando,
68-
defaultSigner: rando.signer,
77+
await randoClient.send.changeAdmin({ args: { newAdmin: adminAccount.addr.toString() } })
78+
const revertedAdmin = await adminClient.state.global.admin()
79+
expect(revertedAdmin.asByteArray()).toEqual(adminAccount.addr.publicKey)
6980
})
7081

71-
await expect(() => randoClient.send.changeAdmin({ args: { newAdmin: rando.addr.toString() } })).rejects.toThrow(
72-
/ERR:UNAUTH/,
73-
)
82+
test('change admin should fail when not called by admin', async () => {
83+
await expect(() =>
84+
randoClient.send.changeAdmin({ args: { newAdmin: randoAccount.addr.toString() } }),
85+
).rejects.toThrow(/ERR:UNAUTH/)
86+
87+
await adminClient.send.changeAdmin({ args: { newAdmin: randoAccount.addr.toString() } })
88+
89+
await expect(() =>
90+
adminClient.send.changeAdmin({ args: { newAdmin: randoAccount.addr.toString() } }),
91+
).rejects.toThrow(/ERR:UNAUTH/)
92+
})
7493
})
7594

7695
test('add label', async () => {

projects/asset_labeling-contracts/tests/sdk.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ export async function addLabelToAsset(client: AssetLabelingClient, asset: bigint
8585
})
8686
return txIds[0]
8787
}
88+
8889
export async function removeLabelFromAsset(client: AssetLabelingClient, asset: bigint, label: string): Promise<string> {
8990
const { txIds } = await client.send.removeLabelFromAsset({
9091
args: { asset, label },

0 commit comments

Comments
 (0)