Skip to content

Commit

Permalink
test: add integration tests for RoyaltyTokenDistributionWorkflows (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
sebsadface authored Jan 10, 2025
1 parent 956da2a commit 8677066
Show file tree
Hide file tree
Showing 3 changed files with 493 additions and 14 deletions.
17 changes: 17 additions & 0 deletions test/integration/BaseIntegration.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import { LicenseAttachmentWorkflows } from "../../contracts/workflows/LicenseAtt
import { GroupingWorkflows } from "../../contracts/workflows/GroupingWorkflows.sol";
import { RegistrationWorkflows } from "../../contracts/workflows/RegistrationWorkflows.sol";
import { RoyaltyWorkflows } from "../../contracts/workflows/RoyaltyWorkflows.sol";
import { RoyaltyTokenDistributionWorkflows } from "../../contracts/workflows/RoyaltyTokenDistributionWorkflows.sol";
import { WorkflowStructs } from "../../contracts/lib/WorkflowStructs.sol";

// script
Expand Down Expand Up @@ -56,6 +57,7 @@ contract BaseIntegration is Test, Script, StoryProtocolCoreAddressManager, Story
GroupingWorkflows internal groupingWorkflows;
RegistrationWorkflows internal registrationWorkflows;
RoyaltyWorkflows internal royaltyWorkflows;
RoyaltyTokenDistributionWorkflows internal royaltyTokenDistributionWorkflows;

/// @dev Story USD
SUSD internal StoryUSD = SUSD(0x48D80f8b87F7f1B6f2fBF3A7C45Eb7De6C8374F9);
Expand Down Expand Up @@ -106,6 +108,7 @@ contract BaseIntegration is Test, Script, StoryProtocolCoreAddressManager, Story
groupingWorkflows = GroupingWorkflows(groupingWorkflowsAddr);
registrationWorkflows = RegistrationWorkflows(registrationWorkflowsAddr);
royaltyWorkflows = RoyaltyWorkflows(royaltyWorkflowsAddr);
royaltyTokenDistributionWorkflows = RoyaltyTokenDistributionWorkflows(royaltyTokenDistributionWorkflowsAddr);

// set up test data
testCollectionName = "Test Collection";
Expand Down Expand Up @@ -339,4 +342,18 @@ contract BaseIntegration is Test, Script, StoryProtocolCoreAddressManager, Story
assertEq(coreMetadataViewModule.getMetadataHash(ipId), expectedMetadata.ipMetadataHash);
assertEq(coreMetadataViewModule.getNftMetadataHash(ipId), expectedMetadata.nftMetadataHash);
}

/// @dev Assert parent and derivative relationship.
function assertParentChild(
address ipIdParent,
address ipIdChild,
uint256 expectedParentCount,
uint256 expectedParentIndex
) internal view {
assertTrue(licenseRegistry.hasDerivativeIps(ipIdParent));
assertTrue(licenseRegistry.isDerivativeIp(ipIdChild));
assertTrue(licenseRegistry.isParentIp({ parentIpId: ipIdParent, childIpId: ipIdChild }));
assertEq(licenseRegistry.getParentIpCount(ipIdChild), expectedParentCount);
assertEq(licenseRegistry.getParentIp(ipIdChild, expectedParentIndex), ipIdParent);
}
}
14 changes: 0 additions & 14 deletions test/integration/workflows/DerivativeIntegration.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -401,18 +401,4 @@ contract DerivativeIntegration is BaseIntegration {

parentLicenseTemplate = pilTemplateAddr;
}

/// @dev Assert parent and derivative relationship.
function assertParentChild(
address ipIdParent,
address ipIdChild,
uint256 expectedParentCount,
uint256 expectedParentIndex
) internal view {
assertTrue(licenseRegistry.hasDerivativeIps(ipIdParent));
assertTrue(licenseRegistry.isDerivativeIp(ipIdChild));
assertTrue(licenseRegistry.isParentIp({ parentIpId: ipIdParent, childIpId: ipIdChild }));
assertEq(licenseRegistry.getParentIpCount(ipIdChild), expectedParentCount);
assertEq(licenseRegistry.getParentIp(ipIdChild, expectedParentIndex), ipIdParent);
}
}
Loading

0 comments on commit 8677066

Please sign in to comment.