git.delta.rocks / unique-network / refs/commits / bc53a7e6ed12

difftreelog

enableDisableTransfer migrated

rkv2022-09-16parent: #ff1beac.patch.diff
in: master

1 file changed

modifiedtests/src/enableDisableTransfer.test.tsdiffbeforeafterboth
14// You should have received a copy of the GNU General Public License14// You should have received a copy of the GNU General Public License
15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
1616
17import chai from 'chai';
18import chaiAsPromised from 'chai-as-promised';17import {IKeyringPair} from '@polkadot/types/types';
19import usingApi from './substrate/substrate-api';
20import {18import {itSub, usingPlaygrounds, expect} from './util/playgrounds';
21 createItemExpectSuccess,
22 createCollectionExpectSuccess,
23 transferExpectSuccess,
24 transferExpectFailure,
25 setTransferFlagExpectSuccess,
26 setTransferFlagExpectFailure,
27} from './util/helpers';
28
29chai.use(chaiAsPromised);
3019
31describe('Enable/Disable Transfers', () => {20describe('Enable/Disable Transfers', () => {
21 let alice: IKeyringPair;
22 let bob: IKeyringPair;
23
32 it('User can transfer token with enabled transfer flag', async () => {24 before(async () => {
33 await usingApi(async (api, privateKeyWrapper) => {25 await usingPlaygrounds(async (helper, privateKey) => {
34 const alice = privateKeyWrapper('//Alice');26 const donor = privateKey('//Alice');
35 const bob = privateKeyWrapper('//Bob');
36 // nft
37 const nftCollectionId = await createCollectionExpectSuccess();
38 const newNftTokenId = await createItemExpectSuccess(alice, nftCollectionId, 'NFT');27 [alice, bob] = await helper.arrange.createAccounts([100n, 100n], donor);
39
40 // explicitely set transfer flag
41 await setTransferFlagExpectSuccess(alice, nftCollectionId, true);
42
43 await transferExpectSuccess(nftCollectionId, newNftTokenId, alice, bob, 1);
44 });28 });
45 });29 });
4630
47 it('User can\'n transfer token with disabled transfer flag', async () => {31 itSub('User can transfer token with enabled transfer flag', async ({helper}) => {
48 await usingApi(async (api, privateKeyWrapper) => {32 const collection = await helper.nft.mintCollection(alice, {
33 name: 'test',
34 description: 'test',
35 tokenPrefix: 'test',
36 limits: {
37 transfersEnabled: true,
38 },
49 const alice = privateKeyWrapper('//Alice');39 });
50 const bob = privateKeyWrapper('//Bob');
51 // nft
52 const nftCollectionId = await createCollectionExpectSuccess();40 const token = await collection.mintToken(alice, {Substrate: alice.address});
53 const newNftTokenId = await createItemExpectSuccess(alice, nftCollectionId, 'NFT');41 await token.transfer(alice, {Substrate: bob.address});
54
55 // explicitely set transfer flag
56 await setTransferFlagExpectSuccess(alice, nftCollectionId, false);42 expect(await token.getOwner()).to.be.deep.equal({Substrate: bob.address});
57
58 await transferExpectFailure(nftCollectionId, newNftTokenId, alice, bob, 1);
59 });
60 });43 });
44
45 itSub('User can\'n transfer token with disabled transfer flag', async ({helper}) => {
46 const collection = await helper.nft.mintCollection(alice, {
47 name: 'test',
48 description: 'test',
49 tokenPrefix: 'test',
50 limits: {
51 transfersEnabled: false,
52 },
53 });
54 const token = await collection.mintToken(alice, {Substrate: alice.address});
55 await expect(token.transfer(alice, {Substrate: bob.address})).to.be.rejectedWith(/common\.TransferNotAllowed/);
56 });
61});57});
6258
63describe('Negative Enable/Disable Transfers', () => {59describe('Negative Enable/Disable Transfers', () => {
60 let alice: IKeyringPair;
61 let bob: IKeyringPair;
62
64 it('Non-owner cannot change transfer flag', async () => {63 before(async () => {
65 await usingApi(async (api, privateKeyWrapper) => {64 await usingPlaygrounds(async (helper, privateKey) => {
66 const bob = privateKeyWrapper('//Bob');65 const donor = privateKey('//Alice');
67 // nft
68 const nftCollectionId = await createCollectionExpectSuccess();66 [alice, bob] = await helper.arrange.createAccounts([100n, 100n], donor);
69
70 // Change transfer flag
71 await setTransferFlagExpectFailure(bob, nftCollectionId, false);
72 });67 });
73 });68 });
69
70 itSub('Non-owner cannot change transfer flag', async ({helper}) => {
71 const collection = await helper.nft.mintCollection(alice, {
72 name: 'test',
73 description: 'test',
74 tokenPrefix: 'test',
75 limits: {
76 transfersEnabled: true,
77 },
78 });
79
80 await expect(collection.setLimits(bob, {transfersEnabled: false})).to.be.rejectedWith(/common\.NoPermission/);
81 });
74});82});
7583