git.delta.rocks / unique-network / refs/commits / 59f80a7ca362

difftreelog

fix test after burtItem redesign (partially)

Igor Kozyrev2021-10-08parent: #35ede41.patch.diff
in: master

7 files changed

modifiedtests/src/burnItem.test.tsdiffbeforeafterboth
before · tests/src/burnItem.test.ts
1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//56import { default as usingApi, submitTransactionAsync, submitTransactionExpectFailAsync } from './substrate/substrate-api';7import { Keyring } from '@polkadot/api';8import { IKeyringPair } from '@polkadot/types/types';9import { 10  createCollectionExpectSuccess, 11  createItemExpectSuccess,12  getGenericResult,13  destroyCollectionExpectSuccess,14  normalizeAccountId,15  addCollectionAdminExpectSuccess,16} from './util/helpers';1718import chai from 'chai';19import chaiAsPromised from 'chai-as-promised';20chai.use(chaiAsPromised);21const expect = chai.expect;2223let alice: IKeyringPair;24let bob: IKeyringPair;2526describe('integration test: ext. burnItem():', () => {27  before(async () => {28    await usingApi(async () => {29      const keyring = new Keyring({ type: 'sr25519' });30      alice = keyring.addFromUri('//Alice');31      bob = keyring.addFromUri('//Bob');32    });33  });3435  it('Burn item in NFT collection', async () => {36    const createMode = 'NFT';37    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode}});38    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);3940    await usingApi(async (api) => {41      const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(alice.address), 0);42      const events = await submitTransactionAsync(alice, tx);43      const result = getGenericResult(events);44      // Get the item45      const item: any = (await api.query.nft.nftItemList(collectionId, tokenId)).toJSON();46      // What to expect47      // tslint:disable-next-line:no-unused-expression48      expect(result.success).to.be.true;49      // tslint:disable-next-line:no-unused-expression50      expect(item).to.be.null;51    });52  });5354  it('Burn item in Fungible collection', async () => {55    const createMode = 'Fungible';56    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode, decimalPoints: 0 }});57    await createItemExpectSuccess(alice, collectionId, createMode); // Helper creates 10 fungible tokens58    const tokenId = 0; // ignored5960    await usingApi(async (api) => {61      // Destroy 1 of 1062      const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(alice.address), 1);63      const events = await submitTransactionAsync(alice, tx);64      const result = getGenericResult(events);65  66      // Get alice balance 67      const balance: any = (await api.query.nft.fungibleItemList(collectionId, alice.address)).toJSON();68 69      // What to expect70      expect(result.success).to.be.true;71      expect(balance).to.be.not.null;72      expect(balance.Value).to.be.equal(9);73    });74  });7576  it('Burn item in ReFungible collection', async () => {77    const createMode = 'ReFungible';78    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});79    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);8081    await usingApi(async (api) => {82      const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(alice.address), 1);83      const events = await submitTransactionAsync(alice, tx);84      const result = getGenericResult(events);85  86      // Get alice balance 87      const balance: any = (await api.query.nft.reFungibleItemList(collectionId, tokenId)).toJSON();88      89      // What to expect90      expect(result.success).to.be.true;91      expect(balance).to.be.null;92    });93  });9495  it('Burn owned portion of item in ReFungible collection', async () => {96    const createMode = 'ReFungible';97    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode}});98    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);99100    await usingApi(async (api) => {101      // Transfer 1/100 of the token to Bob102      const transfertx = api.tx.nft.transfer(normalizeAccountId(bob.address), collectionId, tokenId, 1);103      const events1 = await submitTransactionAsync(alice, transfertx);104      const result1 = getGenericResult(events1);105106      // Get balances107      const balanceBefore: any = (await api.query.nft.reFungibleItemList(collectionId, tokenId)).toJSON();108109      // Bob burns his portion110      const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(bob.address), 0);111      const events2 = await submitTransactionAsync(bob, tx);112      const result2 = getGenericResult(events2);113114      // Get balances 115      const balance: any = (await api.query.nft.reFungibleItemList(collectionId, tokenId)).toJSON();116      // console.log(balance);117      118      // What to expect before burning119      expect(result1.success).to.be.true;120      expect(balanceBefore).to.be.not.null;121      expect(balanceBefore.Owner.length).to.be.equal(2);122      expect(balanceBefore.Owner[0].Owner).to.be.deep.equal(normalizeAccountId(alice.address));123      expect(balanceBefore.Owner[0].Fraction).to.be.equal(99);124      expect(balanceBefore.Owner[1].Owner).to.be.deep.equal(normalizeAccountId(bob.address));125      expect(balanceBefore.Owner[1].Fraction).to.be.equal(1);126127      // What to expect after burning128      expect(result2.success).to.be.true;129      expect(balance).to.be.not.null;130      expect(balance.Owner.length).to.be.equal(1);131      expect(balance.Owner[0].Fraction).to.be.equal(99);132      expect(balance.Owner[0].Owner).to.be.deep.equal(normalizeAccountId(alice.address));133    });134135  });136137});138139describe('integration test: ext. burnItem() with admin permissions:', () => {140  before(async () => {141    await usingApi(async () => {142      const keyring = new Keyring({ type: 'sr25519' });143      alice = keyring.addFromUri('//Alice');144      bob = keyring.addFromUri('//Bob');145    });146  });147148  it('Burn item in NFT collection', async () => {149    const createMode = 'NFT';150    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode}});151    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);152    await addCollectionAdminExpectSuccess(alice, collectionId, bob);153154    await usingApi(async (api) => {155      const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(alice.address), 0);156      const events = await submitTransactionAsync(bob, tx);157      const result = getGenericResult(events);158      // Get the item159      const item: any = (await api.query.nft.nftItemList(collectionId, tokenId)).toJSON();160      // What to expect161      // tslint:disable-next-line:no-unused-expression162      expect(result.success).to.be.true;163      // tslint:disable-next-line:no-unused-expression164      expect(item).to.be.null;165    });166  });167168169  it('Burn item in Fungible collection', async () => {170    const createMode = 'Fungible';171    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode, decimalPoints: 0 }});172    await createItemExpectSuccess(alice, collectionId, createMode); // Helper creates 10 fungible tokens173    await addCollectionAdminExpectSuccess(alice, collectionId, bob);174    const tokenId = 0; // ignored175176    await usingApi(async (api) => {177      // Destroy 1 of 10178      const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(alice.address), 1);179      const events = await submitTransactionAsync(bob, tx);180      const result = getGenericResult(events);181  182      // Get alice balance 183      const balance: any = (await api.query.nft.fungibleItemList(collectionId, alice.address)).toJSON();184 185      // What to expect186      expect(result.success).to.be.true;187      expect(balance).to.be.not.null;188      expect(balance.Value).to.be.equal(9);189    });190  });191  192  it('Burn item in ReFungible collection', async () => {193    const createMode = 'ReFungible';194    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});195    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);196    await addCollectionAdminExpectSuccess(alice, collectionId, bob);197198    await usingApi(async (api) => {199      const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(alice.address), 1);200      const events = await submitTransactionAsync(bob, tx);201      const result = getGenericResult(events);202      // Get alice balance 203      const balance: any = (await api.query.nft.reFungibleItemList(collectionId, tokenId)).toJSON();204      205      // What to expect206      expect(result.success).to.be.true;207      expect(balance).to.be.null;208    });209  });210});211212describe('Negative integration test: ext. burnItem():', () => {213  before(async () => {214    await usingApi(async () => {215      const keyring = new Keyring({ type: 'sr25519' });216      alice = keyring.addFromUri('//Alice');217      bob = keyring.addFromUri('//Bob');218    });219  });220221  it('Burn a token in a destroyed collection', async () => {222    const createMode = 'NFT';223    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});224    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);225    await destroyCollectionExpectSuccess(collectionId);226227    await usingApi(async (api) => {228      const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(alice.address), 0);229      const badTransaction = async function () { 230        await submitTransactionExpectFailAsync(alice, tx);231      };232      await expect(badTransaction()).to.be.rejected;233    });234235  });236237  it('Burn a token that was never created', async () => {238    const createMode = 'NFT';239    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});240    const tokenId = 10;241242    await usingApi(async (api) => {243      const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(alice.address), 0);244      const badTransaction = async function () { 245        await submitTransactionExpectFailAsync(alice, tx);246      };247      await expect(badTransaction()).to.be.rejected;248    });249250  });251252  it('Burn a token using the address that does not own it', async () => {253    const createMode = 'NFT';254    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});255    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);256257    await usingApi(async (api) => {258      const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(alice.address), 0);259      const badTransaction = async function () { 260        await submitTransactionExpectFailAsync(bob, tx);261      };262      await expect(badTransaction()).to.be.rejected;263    });264265  });266267  it('Transfer a burned a token', async () => {268    const createMode = 'NFT';269    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});270    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);271272    await usingApi(async (api) => {273274      const burntx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(alice.address), 0);275      const events1 = await submitTransactionAsync(alice, burntx);276      const result1 = getGenericResult(events1);277      expect(result1.success).to.be.true;278  279      const tx = api.tx.nft.transfer(normalizeAccountId(bob.address), collectionId, tokenId, 0);280      const badTransaction = async function () { 281        await submitTransactionExpectFailAsync(alice, tx);282      };283      await expect(badTransaction()).to.be.rejected;284    });285286  });287288  it('Burn more than owned in Fungible collection', async () => {289    const createMode = 'Fungible';290    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode, decimalPoints: 0 }});291    // Helper creates 10 fungible tokens292    await createItemExpectSuccess(alice, collectionId, createMode);293    const tokenId = 0; // ignored294295    await usingApi(async (api) => {296      // Destroy 11 of 10297      const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(alice.address), 11);298      const badTransaction = async function () { 299        await submitTransactionExpectFailAsync(alice, tx);300      };301      await expect(badTransaction()).to.be.rejected;302      303      // Get alice balance 304      const balance: any = (await api.query.nft.fungibleItemList(collectionId, alice.address)).toJSON();305 306      // What to expect307      expect(balance).to.be.not.null;308      expect(balance.Value).to.be.equal(10);309    });310311  });312313});
after · tests/src/burnItem.test.ts
1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//56import { default as usingApi, submitTransactionAsync, submitTransactionExpectFailAsync } from './substrate/substrate-api';7import { Keyring } from '@polkadot/api';8import { IKeyringPair } from '@polkadot/types/types';9import { 10  createCollectionExpectSuccess, 11  createItemExpectSuccess,12  getGenericResult,13  destroyCollectionExpectSuccess,14  normalizeAccountId,15  addCollectionAdminExpectSuccess,16} from './util/helpers';1718import chai from 'chai';19import chaiAsPromised from 'chai-as-promised';20chai.use(chaiAsPromised);21const expect = chai.expect;2223let alice: IKeyringPair;24let bob: IKeyringPair;2526describe('integration test: ext. burnItem():', () => {27  before(async () => {28    await usingApi(async () => {29      const keyring = new Keyring({ type: 'sr25519' });30      alice = keyring.addFromUri('//Alice');31      bob = keyring.addFromUri('//Bob');32    });33  });3435  it('Burn item in NFT collection', async () => {36    const createMode = 'NFT';37    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode}});38    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);3940    await usingApi(async (api) => {41      const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);42      const events = await submitTransactionAsync(alice, tx);43      const result = getGenericResult(events);44      // Get the item45      const item: any = (await api.query.nft.nftItemList(collectionId, tokenId)).toJSON();46      // What to expect47      // tslint:disable-next-line:no-unused-expression48      expect(result.success).to.be.true;49      // tslint:disable-next-line:no-unused-expression50      expect(item).to.be.null;51    });52  });5354  it('Burn item in Fungible collection', async () => {55    const createMode = 'Fungible';56    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode, decimalPoints: 0 }});57    await createItemExpectSuccess(alice, collectionId, createMode); // Helper creates 10 fungible tokens58    const tokenId = 0; // ignored5960    await usingApi(async (api) => {61      // Destroy 1 of 1062      const tx = api.tx.nft.burnItem(collectionId, tokenId, 1);63      const events = await submitTransactionAsync(alice, tx);64      const result = getGenericResult(events);65  66      // Get alice balance 67      const balance: any = (await api.query.nft.fungibleItemList(collectionId, alice.address)).toJSON();68 69      // What to expect70      expect(result.success).to.be.true;71      expect(balance).to.be.not.null;72      expect(balance.Value).to.be.equal(9);73    });74  });7576  it('Burn item in ReFungible collection', async () => {77    const createMode = 'ReFungible';78    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});79    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);8081    await usingApi(async (api) => {82      const tx = api.tx.nft.burnItem(collectionId, tokenId, 1);83      const events = await submitTransactionAsync(alice, tx);84      const result = getGenericResult(events);85  86      // Get alice balance 87      const balance: any = (await api.query.nft.reFungibleItemList(collectionId, tokenId)).toJSON();88      89      // What to expect90      expect(result.success).to.be.true;91      expect(balance).to.be.null;92    });93  });9495  it.only('Burn owned portion of item in ReFungible collection', async () => {96    const createMode = 'ReFungible';97    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode}});98    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);99100    await usingApi(async (api) => {101      // Transfer 1/100 of the token to Bob102      const transfertx = api.tx.nft.transfer(normalizeAccountId(bob.address), collectionId, tokenId, 1);103      const events1 = await submitTransactionAsync(alice, transfertx);104      const result1 = getGenericResult(events1);105106      // Get balances107      const balanceBefore: any = (await api.query.nft.reFungibleItemList(collectionId, tokenId)).toJSON();108109      // Bob burns his portion110      const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);111      const events2 = await submitTransactionAsync(bob, tx);112      const result2 = getGenericResult(events2);113114      // Get balances 115      const balance: any = (await api.query.nft.reFungibleItemList(collectionId, tokenId)).toJSON();116      // console.log(balance);117      118      // What to expect before burning119      expect(result1.success).to.be.true;120      expect(balanceBefore).to.be.not.null;121      expect(balanceBefore.Owner.length).to.be.equal(2);122      expect(balanceBefore.Owner[0].Owner).to.be.deep.equal(normalizeAccountId(alice.address));123      expect(balanceBefore.Owner[0].Fraction).to.be.equal(99);124      expect(balanceBefore.Owner[1].Owner).to.be.deep.equal(normalizeAccountId(bob.address));125      expect(balanceBefore.Owner[1].Fraction).to.be.equal(1);126127      // What to expect after burning128      expect(result2.success).to.be.true;129      expect(balance).to.be.not.null;130      expect(balance.Owner.length).to.be.equal(1);131      expect(balance.Owner[0].Fraction).to.be.equal(99);132      expect(balance.Owner[0].Owner).to.be.deep.equal(normalizeAccountId(alice.address));133    });134135  });136137});138139describe('integration test: ext. burnItem() with admin permissions:', () => {140  before(async () => {141    await usingApi(async () => {142      const keyring = new Keyring({ type: 'sr25519' });143      alice = keyring.addFromUri('//Alice');144      bob = keyring.addFromUri('//Bob');145    });146  });147148  it('Burn item in NFT collection', async () => {149    const createMode = 'NFT';150    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode}});151    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);152    await addCollectionAdminExpectSuccess(alice, collectionId, bob);153154    await usingApi(async (api) => {155      const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);156      const events = await submitTransactionAsync(bob, tx);157      const result = getGenericResult(events);158      // Get the item159      const item: any = (await api.query.nft.nftItemList(collectionId, tokenId)).toJSON();160      // What to expect161      // tslint:disable-next-line:no-unused-expression162      expect(result.success).to.be.true;163      // tslint:disable-next-line:no-unused-expression164      expect(item).to.be.null;165    });166  });167168169  it.only('Burn item in Fungible collection', async () => {170    const createMode = 'Fungible';171    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode, decimalPoints: 0 }});172    await createItemExpectSuccess(alice, collectionId, createMode); // Helper creates 10 fungible tokens173    await addCollectionAdminExpectSuccess(alice, collectionId, bob);174    const tokenId = 0; // ignored175176    await usingApi(async (api) => {177      // Destroy 1 of 10178      const tx = api.tx.nft.burnItem(collectionId, tokenId, 1);179      const events = await submitTransactionAsync(bob, tx);180      const result = getGenericResult(events);181  182      // Get alice balance 183      const balance: any = (await api.query.nft.fungibleItemList(collectionId, alice.address)).toJSON();184 185      // What to expect186      expect(result.success).to.be.true;187      expect(balance).to.be.not.null;188      expect(balance.Value).to.be.equal(9);189    });190  });191  192  it.only('Burn item in ReFungible collection', async () => {193    const createMode = 'ReFungible';194    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});195    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);196    await addCollectionAdminExpectSuccess(alice, collectionId, bob);197198    await usingApi(async (api) => {199      const tx = api.tx.nft.burnItem(collectionId, tokenId, 1);200      const events = await submitTransactionAsync(bob, tx);201      const result = getGenericResult(events);202      // Get alice balance 203      const balance: any = (await api.query.nft.reFungibleItemList(collectionId, tokenId)).toJSON();204      205      // What to expect206      expect(result.success).to.be.true;207      expect(balance).to.be.null;208    });209  });210});211212describe('Negative integration test: ext. burnItem():', () => {213  before(async () => {214    await usingApi(async () => {215      const keyring = new Keyring({ type: 'sr25519' });216      alice = keyring.addFromUri('//Alice');217      bob = keyring.addFromUri('//Bob');218    });219  });220221  it('Burn a token in a destroyed collection', async () => {222    const createMode = 'NFT';223    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});224    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);225    await destroyCollectionExpectSuccess(collectionId);226227    await usingApi(async (api) => {228      const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);229      const badTransaction = async function () { 230        await submitTransactionExpectFailAsync(alice, tx);231      };232      await expect(badTransaction()).to.be.rejected;233    });234235  });236237  it('Burn a token that was never created', async () => {238    const createMode = 'NFT';239    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});240    const tokenId = 10;241242    await usingApi(async (api) => {243      const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);244      const badTransaction = async function () { 245        await submitTransactionExpectFailAsync(alice, tx);246      };247      await expect(badTransaction()).to.be.rejected;248    });249250  });251252  it('Burn a token using the address that does not own it', async () => {253    const createMode = 'NFT';254    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});255    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);256257    await usingApi(async (api) => {258      const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);259      const badTransaction = async function () { 260        await submitTransactionExpectFailAsync(bob, tx);261      };262      await expect(badTransaction()).to.be.rejected;263    });264265  });266267  it('Transfer a burned a token', async () => {268    const createMode = 'NFT';269    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode }});270    const tokenId = await createItemExpectSuccess(alice, collectionId, createMode);271272    await usingApi(async (api) => {273274      const burntx = api.tx.nft.burnItem(collectionId, tokenId, 0);275      const events1 = await submitTransactionAsync(alice, burntx);276      const result1 = getGenericResult(events1);277      expect(result1.success).to.be.true;278  279      const tx = api.tx.nft.transfer(normalizeAccountId(bob.address), collectionId, tokenId, 0);280      const badTransaction = async function () { 281        await submitTransactionExpectFailAsync(alice, tx);282      };283      await expect(badTransaction()).to.be.rejected;284    });285286  });287288  it('Burn more than owned in Fungible collection', async () => {289    const createMode = 'Fungible';290    const collectionId = await createCollectionExpectSuccess({mode: {type: createMode, decimalPoints: 0 }});291    // Helper creates 10 fungible tokens292    await createItemExpectSuccess(alice, collectionId, createMode);293    const tokenId = 0; // ignored294295    await usingApi(async (api) => {296      // Destroy 11 of 10297      const tx = api.tx.nft.burnItem(collectionId, tokenId, 11);298      const badTransaction = async function () { 299        await submitTransactionExpectFailAsync(alice, tx);300      };301      await expect(badTransaction()).to.be.rejected;302      303      // Get alice balance 304      const balance: any = (await api.query.nft.fungibleItemList(collectionId, alice.address)).toJSON();305 306      // What to expect307      expect(balance).to.be.not.null;308      expect(balance.Value).to.be.equal(10);309    });310311  });312313});
modifiedtests/src/check-event/burnItemEvent.test.tsdiffbeforeafterboth
--- a/tests/src/check-event/burnItemEvent.test.ts
+++ b/tests/src/check-event/burnItemEvent.test.ts
@@ -29,7 +29,7 @@
     await usingApi(async (api: ApiPromise) => {
       const collectionID = await createCollectionExpectSuccess();
       const itemID = await createItemExpectSuccess(Alice, collectionID, 'NFT');
-      const burnItem = api.tx.nft.burnItem(collectionID, itemID, normalizeAccountId(Alice.address), 1);
+      const burnItem = api.tx.nft.burnItem(collectionID, itemID, 1);
       const events = await submitTransactionAsync(Alice, burnItem);
       const msg = JSON.stringify(nftEventMessage(events));
       expect(msg).to.be.contain(checkSection);
modifiedtests/src/collision-tests/admVsOwnerTake.test.tsdiffbeforeafterboth
--- a/tests/src/collision-tests/admVsOwnerTake.test.ts
+++ b/tests/src/collision-tests/admVsOwnerTake.test.ts
@@ -34,7 +34,7 @@
       const itemId = await createItemExpectSuccess(Bob, collectionId, 'NFT');
       //
       const sendItem = api.tx.nft.transfer(normalizeAccountId(Ferdie.address), collectionId, itemId, 1);
-      const burnItem = api.tx.nft.burnItem(collectionId, itemId, normalizeAccountId(Alice.address), 1);
+      const burnItem = api.tx.nft.burnItem(collectionId, itemId, 1);
       await Promise.all([
         sendItem.signAndSend(Bob),
         burnItem.signAndSend(Alice),
modifiedtests/src/setVariableMetaData.test.tsdiffbeforeafterboth
--- a/tests/src/setVariableMetaData.test.ts
+++ b/tests/src/setVariableMetaData.test.ts
@@ -116,7 +116,7 @@
   it('fails on removed token', async () => {
     const removedTokenCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });
     const removedTokenId = await createItemExpectSuccess(alice, removedTokenCollectionId, 'NFT');
-    await burnItemExpectSuccess(alice, removedTokenCollectionId, removedTokenId, alice);
+    await burnItemExpectSuccess(alice, removedTokenCollectionId, removedTokenId);
 
     await setVariableMetaDataExpectFailure(alice, removedTokenCollectionId, removedTokenId, data);
   });
modifiedtests/src/transfer.test.tsdiffbeforeafterboth
--- a/tests/src/transfer.test.ts
+++ b/tests/src/transfer.test.ts
@@ -184,22 +184,22 @@
       1,
     );
   });
-  it('Transfer with deleted item_id', async () => {
+  it.only('Transfer with deleted item_id', async () => {
     // nft
     const nftCollectionId = await createCollectionExpectSuccess();
     const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');
-    await burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, Alice, 1);
+    await burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, 1);
     await transferExpectFailure(nftCollectionId, newNftTokenId, Alice, Bob, 1);
     // fungible
     const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});
     const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');
-    await burnItemExpectSuccess(Alice, fungibleCollectionId, newFungibleTokenId, Alice, 10);
+    await burnItemExpectSuccess(Alice, fungibleCollectionId, newFungibleTokenId, 10);
     await transferExpectFailure(fungibleCollectionId, newFungibleTokenId, Alice, Bob, 1);
     // reFungible
     const reFungibleCollectionId = await
     createCollectionExpectSuccess({mode: {type: 'ReFungible'}});
     const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');
-    await burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, Alice, 1);
+    await burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, 1);
     await transferExpectFailure(
       reFungibleCollectionId,
       newReFungibleTokenId,
modifiedtests/src/transferFrom.test.tsdiffbeforeafterboth
--- a/tests/src/transferFrom.test.ts
+++ b/tests/src/transferFrom.test.ts
@@ -246,16 +246,16 @@
       // nft
       const nftCollectionId = await createCollectionExpectSuccess();
       const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');
-      await burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, Alice, 1);
+      await burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, 1);
       await approveExpectFail(nftCollectionId, newNftTokenId, Alice, Bob);
       await transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1);      
     });
   });
-  it( 'transferFrom burnt token before approve Fungible', async () => {
+  it.only( 'transferFrom burnt token before approve Fungible', async () => {
     await usingApi(async () => {
       const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});
       const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');
-      await burnItemExpectSuccess(Alice, fungibleCollectionId, 1, Alice, 10);
+      await burnItemExpectSuccess(Alice, fungibleCollectionId, 1, 10);
       await approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);
       await transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1);
           
@@ -265,39 +265,39 @@
     await usingApi(async () => {
       const reFungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'ReFungible'}});
       const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');
-      await burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, Alice, 1);
+      await burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, 1);
       await approveExpectFail(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob);
       await transferFromExpectFail(reFungibleCollectionId, newReFungibleTokenId, Bob, Alice, Charlie, 1);
           
     });
   });
   
-  it( 'transferFrom burnt token after approve NFT', async () => {
+  it.only( 'transferFrom burnt token after approve NFT', async () => {
     await usingApi(async () => {
       // nft
       const nftCollectionId = await createCollectionExpectSuccess();
       const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');
       await approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob);
-      await burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, Alice, 1);
+      await burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, 1);
       await transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1);      
     });
   });
-  it( 'transferFrom burnt token after approve Fungible', async () => {
+  it.only( 'transferFrom burnt token after approve Fungible', async () => {
     await usingApi(async () => {
       const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});
       const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');
       await approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);
-      await burnItemExpectSuccess(Alice, fungibleCollectionId, 1, Alice, 10);
+      await burnItemExpectSuccess(Alice, fungibleCollectionId, 1, 10);
       await transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1);
           
     });
   }); 
-  it( 'transferFrom burnt token after approve ReFungible', async () => {
+  it.only( 'transferFrom burnt token after approve ReFungible', async () => {
     await usingApi(async () => {
       const reFungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'ReFungible'}});
       const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');
       await approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob);
-      await burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, Alice, 1);
+      await burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, 1);
       await transferFromExpectFail(reFungibleCollectionId, newReFungibleTokenId, Bob, Alice, Charlie, 1);
           
     });
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -700,9 +700,9 @@
   ReFungible: CreateReFungibleData;
 };
 
-export async function burnItemExpectSuccess(sender: IKeyringPair, collectionId: number, tokenId: number, owner: IKeyringPair, value = 0) {
+export async function burnItemExpectSuccess(sender: IKeyringPair, collectionId: number, tokenId: number, value = 0) {
   await usingApi(async (api) => {
-    const tx = api.tx.nft.burnItem(collectionId, tokenId, normalizeAccountId(owner.address), value);
+    const tx = api.tx.nft.burnItem(collectionId, tokenId, value);
     const events = await submitTransactionAsync(sender, tx);
     const result = getGenericResult(events);
     // Get the item