Commit ec45fa68 authored by Michael Amadi's avatar Michael Amadi Committed by GitHub

improve drippie & faucet tests and coverage (#13040)

* improve drippie & faucet tests and coverage

* Update packages/contracts-bedrock/test/periphery/faucet/Faucet.t.sol
Co-authored-by: default avatarsmartcontracts <kelvin@optimism.io>

* Update packages/contracts-bedrock/test/periphery/faucet/Faucet.t.sol
Co-authored-by: default avatarsmartcontracts <kelvin@optimism.io>

---------
Co-authored-by: default avatarsmartcontracts <kelvin@optimism.io>
parent 974ee6ff
...@@ -16,10 +16,6 @@ import { SimpleStorage } from "test/mocks/SimpleStorage.sol"; ...@@ -16,10 +16,6 @@ import { SimpleStorage } from "test/mocks/SimpleStorage.sol";
contract TestDrippie is Drippie { contract TestDrippie is Drippie {
constructor(address owner) Drippie(owner) { } constructor(address owner) Drippie(owner) { }
function dripStatus(string memory name) external view returns (Drippie.DripStatus) {
return drips[name].status;
}
function dripStateLast(string memory name) external view returns (uint256) { function dripStateLast(string memory name) external view returns (uint256) {
return drips[name].last; return drips[name].last;
} }
...@@ -131,12 +127,12 @@ contract Drippie_Test is Test { ...@@ -131,12 +127,12 @@ contract Drippie_Test is Test {
vm.prank(drippie.owner()); vm.prank(drippie.owner());
drippie.create(dripName, cfg); drippie.create(dripName, cfg);
Drippie.DripStatus status = drippie.dripStatus(dripName); Drippie.DripStatus status = drippie.getDripStatus(dripName);
Drippie.DripConfig memory config = drippie.dripConfig(dripName); Drippie.DripConfig memory config = drippie.dripConfig(dripName);
assertEq(uint256(status), uint256(Drippie.DripStatus.PAUSED)); assertEq(uint256(status), uint256(Drippie.DripStatus.PAUSED));
assertEq(config.interval, cfg.interval); assertEq(drippie.getDripInterval(dripName), cfg.interval);
assertEq(config.reentrant, cfg.reentrant); assertEq(config.reentrant, cfg.reentrant);
assertEq(address(config.dripcheck), address(cfg.dripcheck)); assertEq(address(config.dripcheck), address(cfg.dripcheck));
assertEq(config.checkparams, cfg.checkparams); assertEq(config.checkparams, cfg.checkparams);
...@@ -186,7 +182,7 @@ contract Drippie_Test is Test { ...@@ -186,7 +182,7 @@ contract Drippie_Test is Test {
address owner = drippie.owner(); address owner = drippie.owner();
{ {
Drippie.DripStatus status = drippie.dripStatus(dripName); Drippie.DripStatus status = drippie.getDripStatus(dripName);
assertEq(uint256(status), uint256(Drippie.DripStatus.PAUSED)); assertEq(uint256(status), uint256(Drippie.DripStatus.PAUSED));
} }
...@@ -198,7 +194,7 @@ contract Drippie_Test is Test { ...@@ -198,7 +194,7 @@ contract Drippie_Test is Test {
drippie.status(dripName, Drippie.DripStatus.ACTIVE); drippie.status(dripName, Drippie.DripStatus.ACTIVE);
{ {
Drippie.DripStatus status = drippie.dripStatus(dripName); Drippie.DripStatus status = drippie.getDripStatus(dripName);
assertEq(uint256(status), uint256(Drippie.DripStatus.ACTIVE)); assertEq(uint256(status), uint256(Drippie.DripStatus.ACTIVE));
} }
...@@ -210,7 +206,7 @@ contract Drippie_Test is Test { ...@@ -210,7 +206,7 @@ contract Drippie_Test is Test {
drippie.status(dripName, Drippie.DripStatus.PAUSED); drippie.status(dripName, Drippie.DripStatus.PAUSED);
{ {
Drippie.DripStatus status = drippie.dripStatus(dripName); Drippie.DripStatus status = drippie.getDripStatus(dripName);
assertEq(uint256(status), uint256(Drippie.DripStatus.PAUSED)); assertEq(uint256(status), uint256(Drippie.DripStatus.PAUSED));
} }
} }
...@@ -252,7 +248,7 @@ contract Drippie_Test is Test { ...@@ -252,7 +248,7 @@ contract Drippie_Test is Test {
drippie.status(dripName, Drippie.DripStatus.ARCHIVED); drippie.status(dripName, Drippie.DripStatus.ARCHIVED);
Drippie.DripStatus status = drippie.dripStatus(dripName); Drippie.DripStatus status = drippie.getDripStatus(dripName);
assertEq(uint256(status), uint256(Drippie.DripStatus.ARCHIVED)); assertEq(uint256(status), uint256(Drippie.DripStatus.ARCHIVED));
} }
...@@ -463,7 +459,7 @@ contract Drippie_Test is Test { ...@@ -463,7 +459,7 @@ contract Drippie_Test is Test {
function test_not_active_reverts() external { function test_not_active_reverts() external {
_createDefaultDrip(dripName); _createDefaultDrip(dripName);
Drippie.DripStatus status = drippie.dripStatus(dripName); Drippie.DripStatus status = drippie.getDripStatus(dripName);
assertEq(uint256(status), uint256(Drippie.DripStatus.PAUSED)); assertEq(uint256(status), uint256(Drippie.DripStatus.PAUSED));
vm.prank(drippie.owner()); vm.prank(drippie.owner());
......
...@@ -103,6 +103,24 @@ contract FaucetTest is Faucet_Initializer { ...@@ -103,6 +103,24 @@ contract FaucetTest is Faucet_Initializer {
assertEq(faucet.ADMIN(), faucetContractAdmin); assertEq(faucet.ADMIN(), faucetContractAdmin);
} }
function test_configure_whenAdmin_succeeds() external {
vm.startPrank(faucetContractAdmin);
faucet.configure(optimistNftFam, Faucet.ModuleConfig("OptimistNftModule", true, 1 days, 1 ether));
(string memory name, bool enabled, uint256 ttl, uint256 amount) = faucet.modules(optimistNftFam);
assertEq(name, "OptimistNftModule");
assertEq(enabled, true);
assertEq(ttl, 1 days);
assertEq(amount, 1 ether);
assertTrue(faucet.isModuleEnabled(optimistNftFam));
}
function test_configure_whenNotAdmin_reverts() external {
vm.expectRevert("Faucet: function can only be called by admin");
faucet.configure(optimistNftFam, Faucet.ModuleConfig("OptimistNftModule", true, 1 days, 1 ether));
}
function test_authAdmin_drip_succeeds() external { function test_authAdmin_drip_succeeds() external {
_enableFaucetAuthModules(); _enableFaucetAuthModules();
bytes32 nonce = faucetHelper.consumeNonce(); bytes32 nonce = faucetHelper.consumeNonce();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment