Files
core/test/mocks/MockActionModule.sol

36 lines
1.2 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
import {IPublicationActionModule} from 'contracts/interfaces/IPublicationActionModule.sol';
import {Types} from 'contracts/libraries/constants/Types.sol';
import {MockModule} from 'test/mocks/MockModule.sol';
/**
* @dev This is a simple mock Action module to be used for testing revert cases on processAction.
*/
contract MockActionModule is MockModule, IPublicationActionModule {
error MockActionModuleReverted();
function testMockActionModule() public {
// Prevents being counted in Foundry Coverage
}
// Reverts if `data` does not decode as `true`.
function initializePublicationAction(
uint256 /** profileId*/,
uint256 /** pubId*/,
address /** transactionExecutor*/,
bytes calldata data
) external pure override returns (bytes memory) {
return _decodeFlagAndRevertIfFalse(data);
}
// Reverts if `processActionParams.actionModuleData` does not decode as `true`.
function processPublicationAction(
Types.ProcessActionParams calldata processActionParams
) external pure override returns (bytes memory) {
return _decodeFlagAndRevertIfFalse(processActionParams.actionModuleData);
}
}