Files
core/test/mocks/MockFollowModule.sol
donosonaumczuk a881e340a6 test: Test updated according new ownable changes
Co-authored-by: Victor Naumik <vicnaum@gmail.com>
2023-10-31 17:53:49 -03:00

40 lines
1.3 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
import {IFollowModule} from 'contracts/interfaces/IFollowModule.sol';
import {LensModuleMetadata} from 'contracts/modules/LensModuleMetadata.sol';
/**
* @dev This is a simple mock follow module to be used for testing.
*/
contract MockFollowModule is LensModuleMetadata, IFollowModule {
function testMockFollowModule() public {
// Prevents being counted in Foundry Coverage
}
constructor(address moduleOwner) LensModuleMetadata(moduleOwner) {}
function initializeFollowModule(
uint256 /* profileId */,
address /* transactionExecutor */,
bytes calldata data
) external pure override returns (bytes memory) {
uint256 number = abi.decode(data, (uint256));
require(number == 1, 'MockFollowModule: invalid');
return new bytes(0);
}
function processFollow(
uint256 followerProfileId,
uint256 followTokenId,
address transactionExecutor,
uint256 profileId,
bytes calldata data
) external pure override returns (bytes memory) {}
function supportsInterface(bytes4 interfaceID) public pure override returns (bool) {
return interfaceID == type(IFollowModule).interfaceId || super.supportsInterface(interfaceID);
}
}