107 lines
2.7 KiB
Solidity
107 lines
2.7 KiB
Solidity
// SPDX-License-Identifier: MIT
|
|
|
|
pragma solidity ^0.8.17;
|
|
|
|
import "./TestBase.sol";
|
|
|
|
contract Test_FleekERC721_Mint is Test_FleekERC721_Base {
|
|
function setUp() public {
|
|
baseSetUp();
|
|
}
|
|
|
|
function test_mint() public {
|
|
uint256 mint = mintDefault(deployer);
|
|
|
|
assertEq(mint, 0);
|
|
assertEq(CuT.ownerOf(mint), deployer);
|
|
}
|
|
|
|
function test_mintingMintedToken() public {
|
|
uint256 firstMint = mintDefault(deployer);
|
|
uint256 secondMint = mintDefault(deployer);
|
|
|
|
assertEq(firstMint, 0);
|
|
assertEq(secondMint, 1);
|
|
}
|
|
|
|
function test_mintTwoTokensForTwoAddresses() public {
|
|
uint256 firstMint = mintDefault(deployer);
|
|
|
|
transferENS("fleek.eth", deployer);
|
|
uint256 secondMint = CuT.mint(
|
|
address(12),
|
|
"Different App Name",
|
|
"This is a different description for another app.",
|
|
"https://fleek.xyz",
|
|
"fleek.eth",
|
|
"94e8ba38568aea4fb277a37a4c472d94a6ce880a",
|
|
"https://github.com/a-different/repository",
|
|
TestConstants.LOGO_1,
|
|
0x654321,
|
|
false,
|
|
deployer
|
|
);
|
|
|
|
assertEq(firstMint, 0);
|
|
assertEq(secondMint, 1);
|
|
}
|
|
|
|
function test_mintWithAutoApprovalAPsOn() public {
|
|
transferENS("fleek.eth", deployer);
|
|
uint256 mint = CuT.mint(
|
|
address(12),
|
|
"Different App Name",
|
|
"This is a different description for another app.",
|
|
"https://fleek.xyz",
|
|
"fleek.eth",
|
|
"94e8ba38568aea4fb277a37a4c472d94a6ce880a",
|
|
"https://github.com/a-different/repository",
|
|
TestConstants.LOGO_1,
|
|
0x654321,
|
|
true,
|
|
deployer
|
|
);
|
|
|
|
assertEq(mint, 0);
|
|
}
|
|
|
|
function test_balanceOfDeployerAfterAndBeforeMinting() public {
|
|
assertEq(CuT.balanceOf(deployer), 0);
|
|
|
|
mintDefault(deployer);
|
|
|
|
assertEq(CuT.balanceOf(deployer), 1);
|
|
}
|
|
|
|
function testFuzz_mint(
|
|
address to,
|
|
string memory appName,
|
|
string memory description,
|
|
string memory externalURL,
|
|
string memory ens,
|
|
string memory commitHash,
|
|
string memory gitRepository,
|
|
string memory logo,
|
|
uint24 color,
|
|
bool autoApprovalAp
|
|
) public {
|
|
vm.assume(to != address(0));
|
|
transferENS(ens, deployer);
|
|
uint256 tokenId = CuT.mint(
|
|
to,
|
|
appName,
|
|
description,
|
|
externalURL,
|
|
ens,
|
|
commitHash,
|
|
gitRepository,
|
|
logo,
|
|
color,
|
|
autoApprovalAp,
|
|
deployer
|
|
);
|
|
assertEq(tokenId, 0);
|
|
assertEq(CuT.ownerOf(tokenId), to);
|
|
}
|
|
}
|