test(utils): add unit tests for portfolio allocation utilities (#1974) - #1999
Draft
s6pa1rta3n-lab wants to merge 1 commit into
Draft
s6pa1rta3n-lab wants to merge 1 commit into
s6pa1rta3n-lab wants to merge 1 commit into
Conversation
|
@s6pa1rta3n-lab is attempting to deploy a commit to the 1nonly's projects Team on Vercel. A member of the Team first needs to authorize it. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
src/utils/portfolioAllocation.tsexporting pure functionsaggregateByRiskProfile,aggregateByAsset, andformatAllocationValue.src/utils/tests/portfolioAllocation.test.tscovering grouping/summing behavior, unknown risk profile fallback color (#666), palette cycling past length, and non-numeric amount handling.Changes
src/utils/portfolioAllocation.ts: Implements pure allocation aggregation functions with TypeScript contracts and JSDoc documentation.src/utils/tests/portfolioAllocation.test.ts: Vitest test suite asserting:aggregateByRiskProfile: Groups commitments by risk profile, sums parsed amounts, assigns configured risk colors, defaults undefined types toUnknownwith fallback color#666, assigns fallback color#666for unrecognized profile names, treats non-numeric amounts as zero, and handles empty input.aggregateByAsset: Groups commitments by asset, sums amounts, defaults missing asset names toUnknown, treats non-numeric amounts as zero, cycles asset palette colors past length 10, and handles empty input.formatAllocationValue: Formats numbers with locale separators up to two decimal places, handles integers, and rounds decimal values.Verification
pnpm exec vitest run src/utils/tests/portfolioAllocation.test.tspasses (13/13 tests).pnpm exec vitest --coverage run src/utils/tests/portfolioAllocation.test.tsreports 100% statement, branch, function, and line coverage onsrc/utils/portfolioAllocation.ts.pnpm exec prettier --check src/utils/portfolioAllocation.ts src/utils/tests/portfolioAllocation.test.tspasses.pnpm exec eslint src/utils/portfolioAllocation.ts src/utils/tests/portfolioAllocation.test.tspasses with zero errors.Closes #1974
Payout Routing
0xF46C9F6d70C50BF81ef3588AB523a90a594a2F89GCL6OXAMLD75BMTINA6EMRUDWK5THQUSHMYNLSNBCJAPZJHNYJTUNIBC