--- a/tests/src/change-collection-owner.test.ts +++ b/tests/src/change-collection-owner.test.ts @@ -15,6 +15,12 @@ enableWhiteListExpectSuccess, setMintPermissionExpectSuccess, destroyCollectionExpectSuccess, + setCollectionSponsorExpectFailure, + confirmSponsorshipExpectFailure, + removeCollectionSponsorExpectFailure, + enableWhiteListExpectFail, + setMintPermissionExpectFailure, + destroyCollectionExpectFailure, } from './util/helpers'; chai.use(chaiAsPromised); @@ -53,7 +59,7 @@ await submitTransactionAsync(alice, changeOwnerTx); const badChangeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, alice.address); - await expect(submitTransactionAsync(alice, badChangeOwnerTx)).to.be.rejected; + await expect(submitTransactionExpectFailAsync(alice, badChangeOwnerTx)).to.be.rejected; const collectionAfterOwnerChange: any = (await api.query.nft.collectionById(collectionId)).toJSON(); expect(collectionAfterOwnerChange.Owner).to.be.deep.eq(bob.address); @@ -169,14 +175,14 @@ await submitTransactionAsync(alice, changeOwnerTx); const badChangeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, alice.address); - await expect(submitTransactionAsync(alice, badChangeOwnerTx)).to.be.rejected; + await expect(submitTransactionExpectFailAsync(alice, badChangeOwnerTx)).to.be.rejected; const collectionAfterOwnerChange: any = (await api.query.nft.collectionById(collectionId)).toJSON(); expect(collectionAfterOwnerChange.Owner).to.be.deep.eq(bob.address); - await expect(setCollectionSponsorExpectSuccess(collectionId, charlie.address, '//Alice')).to.be.rejected; - await expect(confirmSponsorshipExpectSuccess(collectionId, '//Alice')).to.be.rejected; - await expect(removeCollectionSponsorExpectSuccess(collectionId, '//Alice')).to.be.rejected; + await setCollectionSponsorExpectFailure(collectionId, charlie.address, '//Alice'); + await confirmSponsorshipExpectFailure(collectionId, '//Alice'); + await removeCollectionSponsorExpectFailure(collectionId, '//Alice'); const collectionLimits = { AccountTokenOwnershipLimit: 1, @@ -190,11 +196,11 @@ collectionId, collectionLimits, ); - await expect(submitTransactionAsync(alice, tx1)).to.be.rejected; + await expect(submitTransactionExpectFailAsync(alice, tx1)).to.be.rejected; - await expect(enableWhiteListExpectSuccess(alice, collectionId)).to.be.rejected; - await expect(setMintPermissionExpectSuccess(alice, collectionId, true)).to.be.rejected; - await expect(destroyCollectionExpectSuccess(collectionId, '//Alice')).to.be.rejected; + await enableWhiteListExpectFail(alice, collectionId); + await setMintPermissionExpectFailure(alice, collectionId, true); + await destroyCollectionExpectFailure(collectionId, '//Alice'); }); }); }); --- a/tests/src/util/helpers.ts +++ b/tests/src/util/helpers.ts @@ -1006,10 +1006,31 @@ }); } +export async function setPublicAccessModeExpectFail( + sender: IKeyringPair, collectionId: number, + accessMode: 'Normal' | 'WhiteList', +) { + await usingApi(async (api) => { + + // Run the transaction + const tx = api.tx.nft.setPublicAccessMode(collectionId, accessMode); + const events = await expect(submitTransactionExpectFailAsync(sender, tx)).to.be.rejected; + const result = getGenericResult(events); + + // What to expect + // tslint:disable-next-line:no-unused-expression + expect(result.success).to.be.false; + }); +} + export async function enableWhiteListExpectSuccess(sender: IKeyringPair, collectionId: number) { await setPublicAccessModeExpectSuccess(sender, collectionId, 'WhiteList'); } +export async function enableWhiteListExpectFail(sender: IKeyringPair, collectionId: number) { + await setPublicAccessModeExpectFail(sender, collectionId, 'WhiteList'); +} + export async function disableWhiteListExpectSuccess(sender: IKeyringPair, collectionId: number) { await setPublicAccessModeExpectSuccess(sender, collectionId, 'Normal'); }