diff --git a/packages/thirdweb/src/extensions/erc1155/drop1155.test.ts b/packages/thirdweb/src/extensions/erc1155/drop1155.test.ts index 8320074b65e..f1bbc35b0f8 100644 --- a/packages/thirdweb/src/extensions/erc1155/drop1155.test.ts +++ b/packages/thirdweb/src/extensions/erc1155/drop1155.test.ts @@ -16,6 +16,7 @@ import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-co import { resolvePromisedValue } from "../../utils/promise/resolve-promised-value.js"; import { toEther } from "../../utils/units.js"; import { generateMerkleTreeInfoERC1155 } from "../airdrop/write/merkleInfoERC1155.js"; +import { name } from "../common/read/name.js"; import { deployERC20Contract } from "../prebuilts/deploy-erc20.js"; import { deployERC1155Contract } from "../prebuilts/deploy-erc1155.js"; import { balanceOf } from "./__generated__/IERC1155/read/balanceOf.js"; @@ -45,12 +46,22 @@ describe.runIf(process.env.TW_SECRET_KEY)( chain: ANVIL_CHAIN, client: TEST_CLIENT, params: { - name: "Test DropERC1155", + name: "EditionDrop", contractURI: TEST_CONTRACT_URI, }, type: "DropERC1155", }); + expect(contractAddress).toBeDefined(); + const deployedName = await name({ + contract: getContract({ + client: TEST_CLIENT, + chain: ANVIL_CHAIN, + address: contractAddress, + }), + }); + expect(deployedName).toBe("EditionDrop"); + contract = getContract({ address: contractAddress, chain: ANVIL_CHAIN, diff --git a/packages/thirdweb/src/extensions/erc1155/token1155.test.ts b/packages/thirdweb/src/extensions/erc1155/token1155.test.ts index 0396f8bca50..efb5c195d90 100644 --- a/packages/thirdweb/src/extensions/erc1155/token1155.test.ts +++ b/packages/thirdweb/src/extensions/erc1155/token1155.test.ts @@ -11,6 +11,7 @@ import { import { resolveContractAbi } from "../../contract/actions/resolve-abi.js"; import { type ThirdwebContract, getContract } from "../../contract/contract.js"; import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js"; +import { name } from "../common/read/name.js"; import { deployERC1155Contract } from "../prebuilts/deploy-erc1155.js"; import { balanceOf } from "./__generated__/IERC1155/read/balanceOf.js"; import { totalSupply } from "./__generated__/IERC1155/read/totalSupply.js"; @@ -37,12 +38,22 @@ describe.runIf(process.env.TW_SECRET_KEY)("TokenERC1155", () => { chain: ANVIL_CHAIN, client: TEST_CLIENT, params: { - name: "Test TokenERC1155", + name: "Edition", contractURI: TEST_CONTRACT_URI, }, type: "TokenERC1155", }); + expect(contractAddress).toBeDefined(); + const deployedName = await name({ + contract: getContract({ + client: TEST_CLIENT, + chain: ANVIL_CHAIN, + address: contractAddress, + }), + }); + expect(deployedName).toBe("Edition"); + contract = getContract({ address: contractAddress, chain: ANVIL_CHAIN, diff --git a/packages/thirdweb/src/extensions/erc1155/write/mintAdditionalSupplyToBatch.test.ts b/packages/thirdweb/src/extensions/erc1155/write/mintAdditionalSupplyToBatch.test.ts index 0cba2b0c342..bcd87076aaa 100644 --- a/packages/thirdweb/src/extensions/erc1155/write/mintAdditionalSupplyToBatch.test.ts +++ b/packages/thirdweb/src/extensions/erc1155/write/mintAdditionalSupplyToBatch.test.ts @@ -1,4 +1,3 @@ -import {} from "viem"; import { describe, expect, it } from "vitest"; import { TEST_ACCOUNT_C } from "~test/test-wallets.js"; import { optimizeMintBatchContent } from "./mintAdditionalSupplyToBatch.js"; diff --git a/packages/thirdweb/src/extensions/erc20/drop20.test.ts b/packages/thirdweb/src/extensions/erc20/drop20.test.ts index 56d1e55082f..fbd1c26b7c8 100644 --- a/packages/thirdweb/src/extensions/erc20/drop20.test.ts +++ b/packages/thirdweb/src/extensions/erc20/drop20.test.ts @@ -1,5 +1,4 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js"; import { VITALIK_WALLET } from "../../../test/src/addresses.js"; import { ANVIL_CHAIN } from "../../../test/src/chains.js"; import { TEST_CLIENT } from "../../../test/src/test-clients.js"; @@ -13,6 +12,7 @@ import { type ThirdwebContract, getContract } from "../../contract/contract.js"; import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js"; import { resolvePromisedValue } from "../../utils/promise/resolve-promised-value.js"; import { toEther } from "../../utils/units.js"; +import { name } from "../common/read/name.js"; import { deployERC20Contract } from "../prebuilts/deploy-erc20.js"; import { getClaimConditions } from "./drops/read/getClaimConditions.js"; import { claimTo } from "./drops/write/claimTo.js"; @@ -35,11 +35,20 @@ describe.runIf(process.env.TW_SECRET_KEY)( client: TEST_CLIENT, params: { name: "Test DropERC20", - contractURI: TEST_CONTRACT_URI, }, type: "DropERC20", }); + expect(contractAddress).toBeDefined(); + const deployedName = await name({ + contract: getContract({ + client: TEST_CLIENT, + chain: ANVIL_CHAIN, + address: contractAddress, + }), + }); + expect(deployedName).toBe("Test DropERC20"); + contract = getContract({ address: contractAddress, chain: ANVIL_CHAIN, diff --git a/packages/thirdweb/src/extensions/erc721/drop721.test.ts b/packages/thirdweb/src/extensions/erc721/drop721.test.ts index 6eab9713cd2..115ddb2adaf 100644 --- a/packages/thirdweb/src/extensions/erc721/drop721.test.ts +++ b/packages/thirdweb/src/extensions/erc721/drop721.test.ts @@ -13,6 +13,7 @@ import { type ThirdwebContract, getContract } from "../../contract/contract.js"; import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js"; import { resolvePromisedValue } from "../../utils/promise/resolve-promised-value.js"; import { toEther } from "../../utils/units.js"; +import { name } from "../common/read/name.js"; import { deployERC20Contract } from "../prebuilts/deploy-erc20.js"; import { deployERC721Contract } from "../prebuilts/deploy-erc721.js"; import { balanceOf } from "./__generated__/IERC721A/read/balanceOf.js"; @@ -40,11 +41,19 @@ describe.runIf(process.env.TW_SECRET_KEY)( client: TEST_CLIENT, params: { name: "Test DropERC721", - contractURI: TEST_CONTRACT_URI, }, type: "DropERC721", }); + contract = getContract({ + address: contractAddress, + chain: ANVIL_CHAIN, + client: TEST_CLIENT, + }); + + const deployedName = await name({ contract }); + expect(deployedName).toBe("Test DropERC721"); + const erc20ContractAddress = await deployERC20Contract({ account: TEST_ACCOUNT_A, chain: ANVIL_CHAIN, @@ -61,12 +70,6 @@ describe.runIf(process.env.TW_SECRET_KEY)( chain: ANVIL_CHAIN, client: TEST_CLIENT, }); - - contract = getContract({ - address: contractAddress, - chain: ANVIL_CHAIN, - client: TEST_CLIENT, - }); // this deploys a contract, it may take some time }, 120_000); diff --git a/packages/thirdweb/src/extensions/erc721/read/getNFT.test.ts b/packages/thirdweb/src/extensions/erc721/read/getNFT.test.ts index fff3d912ce1..3574221e162 100644 --- a/packages/thirdweb/src/extensions/erc721/read/getNFT.test.ts +++ b/packages/thirdweb/src/extensions/erc721/read/getNFT.test.ts @@ -1,16 +1,5 @@ import { describe, expect, it } from "vitest"; - -import { ANVIL_CHAIN } from "~test/chains.js"; -import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js"; -import { TEST_CLIENT } from "~test/test-clients.js"; import { DOODLES_CONTRACT } from "~test/test-contracts.js"; -import { TEST_ACCOUNT_A } from "~test/test-wallets.js"; -import { getContract } from "../../../contract/contract.js"; -import { deployERC721Contract } from "../../../extensions/prebuilts/deploy-erc721.js"; -import { sendAndConfirmTransaction } from "../../../transaction/actions/send-and-confirm-transaction.js"; -import { parseNFT } from "../../../utils/nft/parseNft.js"; -import { setTokenURI } from "../__generated__/INFTMetadata/write/setTokenURI.js"; -import { mintTo } from "../write/mintTo.js"; import { getNFT } from "./getNFT.js"; describe.runIf(process.env.TW_SECRET_KEY)("erc721.getNFT", () => { @@ -99,60 +88,4 @@ describe.runIf(process.env.TW_SECRET_KEY)("erc721.getNFT", () => { } `); }); - - it("should return a default value if the URI of the token doesn't exist", async () => { - /** - * To create this test scenario, we first deploy an NFTCollection/Edition contract, - * mint a token, then purposefully change that token's URI to an empty string, using setTokenURI - */ - const contract = getContract({ - address: await deployERC721Contract({ - chain: ANVIL_CHAIN, - client: TEST_CLIENT, - account: TEST_ACCOUNT_A, - type: "TokenERC721", - params: { - name: "", - contractURI: TEST_CONTRACT_URI, - }, - }), - chain: ANVIL_CHAIN, - client: TEST_CLIENT, - }); - - await sendAndConfirmTransaction({ - transaction: mintTo({ - contract, - nft: { name: "token 0" }, - to: TEST_ACCOUNT_A.address, - }), - account: TEST_ACCOUNT_A, - }); - - await sendAndConfirmTransaction({ - transaction: setTokenURI({ - contract, - tokenId: 0n, - // Need to have some spaces because NFTMetadata.sol does not allow to update an empty valud - uri: " ", - }), - account: TEST_ACCOUNT_A, - }); - - expect(await getNFT({ contract, tokenId: 0n })).toStrictEqual( - parseNFT( - { - id: 0n, - type: "ERC721", - uri: "", - }, - { - tokenId: 0n, - tokenUri: "", - type: "ERC721", - owner: null, - }, - ), - ); - }); }); diff --git a/packages/thirdweb/src/extensions/erc721/read/getNFTs.test.ts b/packages/thirdweb/src/extensions/erc721/read/getNFTs.test.ts index 1f2dfd18a1f..656c10fb5e8 100644 --- a/packages/thirdweb/src/extensions/erc721/read/getNFTs.test.ts +++ b/packages/thirdweb/src/extensions/erc721/read/getNFTs.test.ts @@ -1,17 +1,8 @@ -import { type Abi, toFunctionSelector } from "viem"; import { describe, expect, it } from "vitest"; -import { ANVIL_CHAIN } from "~test/chains.js"; -import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js"; -import { TEST_CLIENT } from "~test/test-clients.js"; import { DOODLES_CONTRACT, UNISWAPV3_FACTORY_CONTRACT, } from "~test/test-contracts.js"; -import { TEST_ACCOUNT_B } from "~test/test-wallets.js"; -import { resolveContractAbi } from "../../../contract/actions/resolve-abi.js"; -import { getContract } from "../../../contract/contract.js"; -import { deployERC721Contract } from "../../../extensions/prebuilts/deploy-erc721.js"; -import { isGetNFTSupported } from "./getNFT.js"; import { getNFTs } from "./getNFTs.js"; describe.runIf(process.env.TW_SECRET_KEY)("erc721.getNFTs", () => { @@ -197,29 +188,6 @@ describe.runIf(process.env.TW_SECRET_KEY)("erc721.getNFTs", () => { // TODO find a contract that we can use that has "1 indexed" NFTs, then re-enable this test }); - it("isGetNFTsSupported should work", async () => { - const contract = getContract({ - address: await deployERC721Contract({ - chain: ANVIL_CHAIN, - client: TEST_CLIENT, - type: "TokenERC721", - params: { - name: "", - contractURI: TEST_CONTRACT_URI, - }, - account: TEST_ACCOUNT_B, - }), - chain: ANVIL_CHAIN, - client: TEST_CLIENT, - }); - - const abi = await resolveContractAbi(contract); - const selectors = abi - .filter((f) => f.type === "function") - .map((f) => toFunctionSelector(f)); - expect(isGetNFTSupported(selectors)).toBe(true); - }); - it("should throw error if totalSupply and nextTokenIdToMint are not supported", async () => { await expect(() => getNFTs({ contract: UNISWAPV3_FACTORY_CONTRACT }), diff --git a/packages/thirdweb/src/extensions/erc721/token721.test.ts b/packages/thirdweb/src/extensions/erc721/token721.test.ts new file mode 100644 index 00000000000..77662a33b5e --- /dev/null +++ b/packages/thirdweb/src/extensions/erc721/token721.test.ts @@ -0,0 +1,115 @@ +import { type Abi, toFunctionSelector } from "viem"; +import { describe, expect, it } from "vitest"; +import { ANVIL_CHAIN } from "~test/chains.js"; +import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js"; +import { TEST_CLIENT } from "~test/test-clients.js"; +import { TEST_ACCOUNT_B } from "~test/test-wallets.js"; +import { resolveContractAbi } from "../../contract/actions/resolve-abi.js"; +import { type ThirdwebContract, getContract } from "../../contract/contract.js"; +import { name } from "../../extensions/common/read/name.js"; +import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js"; +import { parseNFT } from "../../utils/nft/parseNft.js"; +import { deployERC721Contract } from "../prebuilts/deploy-erc721.js"; +import { tokenURI } from "./__generated__/IERC721A/read/tokenURI.js"; +import { setTokenURI } from "./__generated__/INFTMetadata/write/setTokenURI.js"; +import { getNFT, isGetNFTSupported } from "./read/getNFT.js"; +import { mintTo } from "./write/mintTo.js"; + +const client = TEST_CLIENT; +const chain = ANVIL_CHAIN; +const account = TEST_ACCOUNT_B; + +let token721Contract: ThirdwebContract; + +describe.runIf(process.env.TW_SECRET_KEY)("deployERC721", () => { + it("should deploy ERC721 token", async () => { + const address = await deployERC721Contract({ + client, + chain, + account, + type: "TokenERC721", + params: { + name: "NFTCollection", + contractURI: TEST_CONTRACT_URI, + }, + }); + expect(address).toBeDefined(); + token721Contract = getContract({ + client: TEST_CLIENT, + chain: ANVIL_CHAIN, + address, + }); + const deployedName = await name({ contract: token721Contract }); + expect(deployedName).toBe("NFTCollection"); + }); + + it("should mint an nft when passed an object", async () => { + const transaction = mintTo({ + contract: token721Contract, + nft: { name: "token 0" }, + to: account.address, + }); + await sendAndConfirmTransaction({ + transaction, + account, + }); + + const nft = await getNFT({ contract: token721Contract, tokenId: 0n }); + expect(nft.metadata.name).toBe("token 0"); + }); + + it("should mint an nft when passed a string", async () => { + const transaction = mintTo({ + contract: token721Contract, + nft: "ipfs://fake-token-uri", + to: account.address, + }); + await sendAndConfirmTransaction({ + transaction, + account, + }); + const _uri = await tokenURI({ contract: token721Contract, tokenId: 1n }); + expect(_uri).toBe("ipfs://fake-token-uri"); + }); + + it("isGetNFTsSupported should work", async () => { + const abi = await resolveContractAbi(token721Contract); + const selectors = abi + .filter((f) => f.type === "function") + .map((f) => toFunctionSelector(f)); + expect(isGetNFTSupported(selectors)).toBe(true); + }); + + it("should return a default value if the URI of the token doesn't exist", async () => { + /** + * mint a token, then purposefully change that token's URI to an empty string, using setTokenURI + */ + await sendAndConfirmTransaction({ + transaction: setTokenURI({ + contract: token721Contract, + tokenId: 1n, + // Need to have some spaces because NFTMetadata.sol does not allow to update an empty value + uri: " ", + }), + account, + }); + + expect( + await getNFT({ contract: token721Contract, tokenId: 1n }), + ).toStrictEqual( + parseNFT( + { + id: 1n, + type: "ERC721", + uri: "", + }, + { + tokenId: 1n, + tokenUri: "", + type: "ERC721", + owner: null, + }, + ), + ); + }); +}); diff --git a/packages/thirdweb/src/extensions/erc721/write/mintTo.test.ts b/packages/thirdweb/src/extensions/erc721/write/mintTo.test.ts deleted file mode 100644 index fd3ddf239bf..00000000000 --- a/packages/thirdweb/src/extensions/erc721/write/mintTo.test.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { beforeEach, describe, expect, it } from "vitest"; -import { ANVIL_CHAIN } from "~test/chains.js"; -import { TEST_CLIENT } from "~test/test-clients.js"; -import { TEST_ACCOUNT_A } from "~test/test-wallets.js"; - -import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js"; -import { - type ThirdwebContract, - getContract, -} from "../../../contract/contract.js"; -import { deployERC721Contract } from "../../../extensions/prebuilts/deploy-erc721.js"; -import { sendAndConfirmTransaction } from "../../../transaction/actions/send-and-confirm-transaction.js"; -import { tokenURI } from "../__generated__/IERC721A/read/tokenURI.js"; -import { getNFT } from "../read/getNFT.js"; -import { mintTo } from "./mintTo.js"; - -let contract: ThirdwebContract; -const account = TEST_ACCOUNT_A; -const client = TEST_CLIENT; -const chain = ANVIL_CHAIN; - -describe.runIf(!!process.env.TW_SECRET_KEY)("erc721 mintTo extension", () => { - beforeEach(async () => { - const address = await deployERC721Contract({ - client, - chain, - account, - type: "TokenERC721", - params: { - name: "NFTDrop", - contractURI: TEST_CONTRACT_URI, - }, - }); - contract = getContract({ - address, - client, - chain, - }); - }); - - it("should mint an nft when passed an object", async () => { - const transaction = mintTo({ - contract, - nft: { name: "token 0" }, - to: account.address, - }); - await sendAndConfirmTransaction({ - transaction, - account, - }); - - const nft = await getNFT({ contract, tokenId: 0n }); - expect(nft.metadata.name).toBe("token 0"); - }); - - it("should mint an nft when passed a string", async () => { - const transaction = mintTo({ - contract, - nft: "ipfs://fake-token-uri", - to: account.address, - }); - await sendAndConfirmTransaction({ - transaction, - account, - }); - const _uri = await tokenURI({ contract, tokenId: 0n }); - expect(_uri).toBe("ipfs://fake-token-uri"); - }); -}); diff --git a/packages/thirdweb/src/extensions/prebuilts/deploy-erc1155.test.ts b/packages/thirdweb/src/extensions/prebuilts/deploy-erc1155.test.ts deleted file mode 100644 index 47cc2863c82..00000000000 --- a/packages/thirdweb/src/extensions/prebuilts/deploy-erc1155.test.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { describe, expect, it } from "vitest"; -import { ANVIL_CHAIN } from "../../../test/src/chains.js"; -import { TEST_CLIENT } from "../../../test/src/test-clients.js"; -import { TEST_ACCOUNT_B } from "../../../test/src/test-wallets.js"; -import { getContract } from "../../contract/contract.js"; -import { name } from "../common/read/name.js"; -import { deployERC1155Contract } from "./deploy-erc1155.js"; - -const account = TEST_ACCOUNT_B; - -describe.runIf(process.env.TW_SECRET_KEY)("deployERC1155", () => { - it("should deploy ERC1155 drop", async () => { - const address = await deployERC1155Contract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - account, - type: "DropERC1155", - params: { - name: "EditionDrop", - symbol: "NFTD", - }, - }); - expect(address).toBeDefined(); - const deployedName = await name({ - contract: getContract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - address, - }), - }); - expect(deployedName).toBe("EditionDrop"); - }); - - it("should deploy ERC1155 token", async () => { - const address = await deployERC1155Contract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - account, - type: "TokenERC1155", - params: { - name: "Edition", - }, - }); - expect(address).toBeDefined(); - const deployedName = await name({ - contract: getContract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - address, - }), - }); - expect(deployedName).toBe("Edition"); - }); -}); diff --git a/packages/thirdweb/src/extensions/prebuilts/deploy-erc20.test.ts b/packages/thirdweb/src/extensions/prebuilts/deploy-erc20.test.ts deleted file mode 100644 index 354f87c4793..00000000000 --- a/packages/thirdweb/src/extensions/prebuilts/deploy-erc20.test.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { describe, expect, it } from "vitest"; -import { ANVIL_CHAIN } from "../../../test/src/chains.js"; -import { TEST_CLIENT } from "../../../test/src/test-clients.js"; -import { TEST_ACCOUNT_D } from "../../../test/src/test-wallets.js"; -import { getContract } from "../../contract/contract.js"; -import { name } from "../common/read/name.js"; -import { deployERC20Contract } from "./deploy-erc20.js"; - -const account = TEST_ACCOUNT_D; - -// skip this test suite if there is no secret key available to test with -// TODO: remove reliance on secret key during unit tests entirely -describe.runIf(process.env.TW_SECRET_KEY)("deployERC20", () => { - it("should deploy ERC20 drop", async () => { - const address = await deployERC20Contract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - account, - type: "DropERC20", - params: { - name: "TokenDrop", - symbol: "NFTD", - }, - }); - expect(address).toBeDefined(); - const deployedName = await name({ - contract: getContract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - address, - }), - }); - expect(deployedName).toBe("TokenDrop"); - }); - - it("should deploy ERC20 token", async () => { - const address = await deployERC20Contract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - account, - type: "TokenERC20", - params: { - name: "Token", - }, - }); - expect(address).toBeDefined(); - const deployedName = await name({ - contract: getContract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - address, - }), - }); - expect(deployedName).toBe("Token"); - }); -}); diff --git a/packages/thirdweb/src/extensions/prebuilts/deploy-erc721.test.ts b/packages/thirdweb/src/extensions/prebuilts/deploy-erc721.test.ts index d04925f84e1..eefb338f913 100644 --- a/packages/thirdweb/src/extensions/prebuilts/deploy-erc721.test.ts +++ b/packages/thirdweb/src/extensions/prebuilts/deploy-erc721.test.ts @@ -11,48 +11,6 @@ const account = TEST_ACCOUNT_B; // skip this test suite if there is no secret key available to test with // TODO: remove reliance on secret key during unit tests entirely describe.runIf(process.env.TW_SECRET_KEY)("deployERC721", () => { - it("should deploy ERC721 drop", async () => { - const address = await deployERC721Contract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - account, - type: "DropERC721", - params: { - name: "NFTDrop", - }, - }); - expect(address).toBeDefined(); - const deployedName = await name({ - contract: getContract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - address, - }), - }); - expect(deployedName).toBe("NFTDrop"); - }); - - it("should deploy ERC721 token", async () => { - const address = await deployERC721Contract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - account, - type: "TokenERC721", - params: { - name: "NFTCollection", - }, - }); - expect(address).toBeDefined(); - const deployedName = await name({ - contract: getContract({ - client: TEST_CLIENT, - chain: ANVIL_CHAIN, - address, - }), - }); - expect(deployedName).toBe("NFTCollection"); - }); - it("should deploy ERC721 open edition", async () => { const address = await deployERC721Contract({ client: TEST_CLIENT,