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

difftreelog

fix tests around foreign flag

Daniel Shiposha2023-10-18parent: #dbb52bb.patch.diff
in: master

3 files changed

modifiedjs-packages/playgrounds/types.tsdiffbeforeafterboth
160 External = 1,160 External = 1,
161 /// Supports ERC721Metadata161 /// Supports ERC721Metadata
162 Erc721metadata = 64,162 Erc721metadata = 64,
163 /// Tokens in foreign collections can be transferred, but not burnt
164 Foreign = 128,
165}163}
166164
167export interface ICollectionCreationOptions {165export interface ICollectionCreationOptions {
modifiedjs-packages/tests/createCollection.test.tsdiffbeforeafterboth
107 flags: [CollectionFlag.Erc721metadata],107 flags: [CollectionFlag.Erc721metadata],
108 }, 'nft');108 }, 'nft');
109
110 // User can not set Foreign flag itself
111
112 await expect(mintCollectionHelper(helper, alice, {
113 name: 'name', description: 'descr', tokenPrefix: 'COL',
114 flags: [CollectionFlag.Foreign],
115 }, 'nft')).to.be.rejectedWith(/common.NoPermission/);
116
117 await expect(mintCollectionHelper(helper, alice, {
118 name: 'name', description: 'descr', tokenPrefix: 'COL',
119 flags: [CollectionFlag.Erc721metadata, CollectionFlag.Foreign],
120 }, 'nft')).to.be.rejectedWith(/common.NoPermission/);
121 });109 });
122110
123 itSub('Create new collection with extra fields', async ({helper}) => {111 itSub('Create new collection with extra fields', async ({helper}) => {
modifiedjs-packages/tests/eth/createCollection.test.tsdiffbeforeafterboth
14041404
1405 {1405 {
1406 const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: 0}).send();1406 const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: 0}).send();
1407 expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({foreign: false, erc721metadata: false});1407 expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({erc721metadata: false});
1408 }1408 }
14091409
1410 {1410 {
1411 const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: 64}).send();1411 const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: 64}).send();
1412 expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({foreign: false, erc721metadata: true});1412 expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({erc721metadata: true});
1413 }1413 }
1414 });1414 });
14151415
1416 itEth('NFT: can\'t set foreign flag number', async ({helper}) => {1416 itEth('NFT: cannot set a reserved flag number', async ({helper}) => {
1417 const owner = await helper.eth.createAccountWithBalance(donor);1417 const owner = await helper.eth.createAccountWithBalance(donor);
14181418
1419 {1419 {
14301430
1431 {1431 {
1432 const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: [CollectionFlag.Erc721metadata]}).send();1432 const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: [CollectionFlag.Erc721metadata]}).send();
1433 expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({foreign: false, erc721metadata: true});1433 expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({erc721metadata: true});
1434 }1434 }
1435 });1435 });
1436
1437 itEth('NFT: foreign flag enum is ignored', async ({helper}) => {
1438 const owner = await helper.eth.createAccountWithBalance(donor);
1439
1440 {
1441 await expect(helper.eth.createCollection(owner, {...createCollectionData, flags: [CollectionFlag.Foreign]}).call({from: owner})).to.be.rejectedWith(/internal flags were used/);
1442 }
1443
1444 {
1445 await expect(helper.eth.createCollection(owner, {...createCollectionData, flags: [CollectionFlag.Erc721metadata | CollectionFlag.Foreign]}).call({from: owner})).to.be.rejectedWith(/internal flags were used/);
1446 }
1447 });
1448 });1436 });
1449});1437});
14501438