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";
contract TestDrippie is Drippie {
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) {
return drips[name].last;
}
......@@ -131,12 +127,12 @@ contract Drippie_Test is Test {
vm.prank(drippie.owner());
drippie.create(dripName, cfg);
Drippie.DripStatus status = drippie.dripStatus(dripName);
Drippie.DripStatus status = drippie.getDripStatus(dripName);
Drippie.DripConfig memory config = drippie.dripConfig(dripName);
assertEq(uint256(status), uint256(Drippie.DripStatus.PAUSED));
assertEq(config.interval, cfg.interval);
assertEq(drippie.getDripInterval(dripName), cfg.interval);
assertEq(config.reentrant, cfg.reentrant);
assertEq(address(config.dripcheck), address(cfg.dripcheck));
assertEq(config.checkparams, cfg.checkparams);
......@@ -186,7 +182,7 @@ contract Drippie_Test is Test {
address owner = drippie.owner();
{
Drippie.DripStatus status = drippie.dripStatus(dripName);
Drippie.DripStatus status = drippie.getDripStatus(dripName);
assertEq(uint256(status), uint256(Drippie.DripStatus.PAUSED));
}
......@@ -198,7 +194,7 @@ contract Drippie_Test is Test {
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));
}
......@@ -210,7 +206,7 @@ contract Drippie_Test is Test {
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));
}
}
......@@ -252,7 +248,7 @@ contract Drippie_Test is Test {
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));
}
......@@ -463,7 +459,7 @@ contract Drippie_Test is Test {
function test_not_active_reverts() external {
_createDefaultDrip(dripName);
Drippie.DripStatus status = drippie.dripStatus(dripName);
Drippie.DripStatus status = drippie.getDripStatus(dripName);
assertEq(uint256(status), uint256(Drippie.DripStatus.PAUSED));
vm.prank(drippie.owner());
......
......@@ -103,6 +103,24 @@ contract FaucetTest is Faucet_Initializer {
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 {
_enableFaucetAuthModules();
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