Skip to content

Conversation

@isabellaenriquez
Copy link
Member

Fixes a bug where we didn't display add-on sub-categories that had a non-reserved budget / non-unlimited volume:

Screenshot 2025-12-05 at 11 06 05 AM

@isabellaenriquez isabellaenriquez requested a review from a team as a code owner December 5, 2025 19:06
@linear
Copy link

linear bot commented Dec 5, 2025

@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Dec 5, 2025
@codecov
Copy link

codecov bot commented Dec 5, 2025

❌ 13 Tests Failed:

Tests completed Failed Passed Skipped
12809 13 12796 10
View the top 3 failed test(s) by shortest run time
OnDemandBudgets displays per-category warning for multiple categories
Stack Traces | 0.037s run time
TestingLibraryElementError: Unable to find an element with the text: Additional logs usage is only available through a shared on-demand budget. To enable on-demand usage switch to a shared on-demand budget.. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
...
    at Object.getElementError (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/config.js:37:19)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:76:38
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:52:17
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:95:19
    at Object.getByText (.../views/onDemandBudgets/onDemandBudgets.spec.tsx:660:14)
    at Promise.finally.completed (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1559:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1499:10)
    at _callCircusTest (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1009:40)
    at _runTest (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:949:3)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:839:13)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:829:11)
    at run (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:757:3)
    at runAndTransformResultsToJestFormat (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1920:21)
    at jestAdapter (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/runner.js:101:19)
    at runTestInternal (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:272:16)
    at runTest (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:340:7)
    at Object.worker (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:494:12)
formatUsageWithUnits returns correct string for continuous profiling
Stack Traces | 0.038s run time
Error: expect(received).toBe(expected) // Object.is equality

Expected: "0"
Received: "0 hours"
    at toBe (.../gsApp/utils/billing.spec.tsx:419:46)
    at Array.forEach (<anonymous>)
    at Object.forEach (.../gsApp/utils/billing.spec.tsx:417:71)
    at Promise.finally.completed (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1559:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1499:10)
    at _callCircusTest (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1009:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:949:3)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:839:13)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:829:11)
    at run (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:757:3)
    at runAndTransformResultsToJestFormat (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1920:21)
    at jestAdapter (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/runner.js:101:19)
    at runTestInternal (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:272:16)
    at runTest (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:340:7)
    at Object.worker (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:494:12)
Subscription > UsageTotals does not include profiles for estimates on non-AM3 plans
Stack Traces | 0.045s run time
TestingLibraryElementError: Unable to find an element with the text: 15. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
...
    at Object.getElementError (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/config.js:37:19)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:76:38
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:52:17
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:95:19
    at Object.getByText (.../views/subscriptionPage/usageTotals.spec.tsx:238:19)
    at Promise.finally.completed (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1559:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1499:10)
    at _callCircusTest (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1009:40)
    at _runTest (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:949:3)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:839:13)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:829:11)
    at run (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:757:3)
    at runAndTransformResultsToJestFormat (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1920:21)
    at jestAdapter (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/runner.js:101:19)
    at runTestInternal (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:272:16)
    at runTest (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:340:7)
    at Object.worker (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:494:12)
OnDemandBudgets displays original Seer warning copy by default in per-category section
Stack Traces | 0.065s run time
TestingLibraryElementError: Unable to find an element with the text: Additional Seer usage is only available through a shared on-demand budget. To enable on-demand usage switch to a shared on-demand budget.. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
...
    at Object.getElementError (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/config.js:37:19)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:76:38
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:52:17
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:95:19
    at Object.getByText (.../views/onDemandBudgets/onDemandBudgets.spec.tsx:602:14)
    at Promise.finally.completed (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1559:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1499:10)
    at _callCircusTest (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1009:40)
    at _runTest (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:949:3)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:839:13)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:829:11)
    at run (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:757:3)
    at runAndTransformResultsToJestFormat (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1920:21)
    at jestAdapter (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/runner.js:101:19)
    at runTestInternal (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:272:16)
    at runTest (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:340:7)
    at Object.worker (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:494:12)
Subscription > UsageTotals renders continuous profiling totals
Stack Traces | 0.081s run time
TestingLibraryElementError: Unable to find an element with the text: 15. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
...
    at Object.getElementError (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/config.js:37:19)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:76:38
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:52:17
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:95:19
    at Object.getByText (.../views/subscriptionPage/usageTotals.spec.tsx:169:19)
    at Promise.finally.completed (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1559:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1499:10)
    at _callCircusTest (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1009:40)
    at _runTest (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:949:3)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:839:13)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:829:11)
    at run (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:757:3)
    at runAndTransformResultsToJestFormat (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:1920:21)
    at jestAdapter (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/runner.js:101:19)
    at runTestInternal (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:272:16)
    at runTest (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:340:7)
    at Object.worker (.../sentry/node_modules/.pnpm/jest-runner@30.0..../jest-runner/build/testWorker.js:494:12)
AM2 Checkout skips step 1 for business plan with seer
Stack Traces | 0.095s run time
Error: expect(element).not.toBeInTheDocument()

expected document not to contain element, found <div class="css-naslpp-PanelBody-textStyles e151korg0" data-test-id="body-choose-your-plan"><div class="css-19jj871-PanelItem-PlanOption-PlanOption e5ekbja20" data-test-id="am2_business"><label aria-describedby="plan-details-am2_business" aria-label="Business" class="css-14231r1-Label e5ekbja19"><div class="css-109ax9h-StyledPlan-StyledPlan e5ekbja18"><div class="css-9fr2q5-PlanContainer e5ekbja17"><input checked="" class="css-1h8yhi6-Radio-StyledRadio e5ekbja15" id="am2_business" readonly="" type="radio" value="Business" /><div class="css-1nrnurq-PlanDetails e5ekbja14" id="plan-details-am2_business"><div class="css-7d5020-Title e5ekbja4"><div class="css-hekilt-PlanName e5ekbja13">Business</div><div class="e1b0h4f90 css-1woftql-withChonk" data-test-id="tag-background" type="info"><div class="css-54ljo8-Text ed9nxmg2">Current plan</div></div></div><div class="css-p1i2he-TextBlock-Description e5ekbja12" id="plan-details-am2_business">Everything in the Team plan + deeper insight into your application health.</div><div class="css-baa46h-FeatureList e5ekbja6"><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Advanced analytics with Discover</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Enhanced issue priority and alerting</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Unlimited custom dashboards</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Advanced server-side filtering</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>SAML support</div><a class="er5y8lc0 css-11u7fec-Anchor-getLinkStyles-MoreLink e1rkoi031" href="https://sentry.io/pricing" rel="noreferrer noopener" target="_blank"><svg fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>And more...</a></div></div></div><div class="css-1ot6hv7-PriceContainer-PriceContainer e5ekbja16"><div class="css-r218qr-PriceHeader e5ekbja11">Starts At</div><div class="css-1p30c54-Price e5ekbja10"><span class="css-1p4q14h-Currency e5ekbja9">$</span><span class="css-xnyjn5-Amount e5ekbja8">89</span><span class="css-vufxn3-BillingInterval e5ekbja7">/mo</span></div><div class="e5ekbja0 e1b0h4f90 css-1pzy3ve-withChonk-EventPriceTag" data-test-id="tag-background" type="default"><div class="css-54ljo8-Text ed9nxmg2">$0.001157 / error</div></div></div></div></label></div><div class="css-1fcf87o-PanelItem-PlanOption e5ekbja20" data-test-id="am2_team"><label aria-describedby="plan-details-am2_team" aria-label="Team" class="css-14231r1-Label e5ekbja19"><div class="css-109ax9h-StyledPlan-StyledPlan e5ekbja18"><div class="css-9fr2q5-PlanContainer e5ekbja17"><input class="css-1h8yhi6-Radio-StyledRadio e5ekbja15" id="am2_team" readonly="" type="radio" value="Team" /><div class="css-1nrnurq-PlanDetails e5ekbja14" id="plan-details-am2_team"><div class="css-7d5020-Title e5ekbja4"><div class="css-hekilt-PlanName e5ekbja13">Team</div></div><div class="css-p1i2he-TextBlock-Description e5ekbja12" id="plan-details-am2_team">Resolve errors and track application performance as a team.</div><div class="css-baa46h-FeatureList e5ekbja6"><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Unlimited members</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Third-party integrations</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Metric alerts</div></div></div></div><div class="css-1ot6hv7-PriceContainer-PriceContainer e5ekbja16"><div class="css-r218qr-PriceHeader e5ekbja11">Starts At</div><div class="css-1p30c54-Price e5ekbja10"><span class="css-1p4q14h-Currency e5ekbja9">$</span><span class="css-xnyjn5-Amount e5ekbja8">29</span><span class="css-vufxn3-BillingInterval e5ekbja7">/mo</span></div><div class="e5ekbja0 e1b0h4f90 css-1pzy3ve-withChonk-EventPriceTag" data-test-id="tag-background" type="default"><div class="css-54ljo8-Text ed9nxmg2">$0.000377 / error</div></div></div></div></label></div></div> instead
    at Object.toBeInTheDocument (.../views/amCheckout/index.spec.tsx:1141:63)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
AM2 Checkout handles missing categories in subscription.categories
Stack Traces | 0.103s run time
TestingLibraryElementError: Unable to find an element by: [data-test-id="errors-volume-item"]

Ignored nodes: comments, script, style
...
    at Object.getElementError (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/config.js:37:19)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:76:38
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:52:17
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:95:19
    at Object.getByTestId (.../views/amCheckout/index.spec.tsx:1249:19)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
AM2 Checkout test business bundle standard checkout
Stack Traces | 0.103s run time
Error: expect(element).not.toBeInTheDocument()

expected document not to contain element, found <div class="css-naslpp-PanelBody-textStyles e151korg0" data-test-id="body-choose-your-plan"><div class="css-19jj871-PanelItem-PlanOption-PlanOption e5ekbja20" data-test-id="am2_business"><label aria-describedby="plan-details-am2_business" aria-label="Business" class="css-14231r1-Label e5ekbja19"><div class="css-109ax9h-StyledPlan-StyledPlan e5ekbja18"><div class="css-9fr2q5-PlanContainer e5ekbja17"><input checked="" class="css-1h8yhi6-Radio-StyledRadio e5ekbja15" id="am2_business" readonly="" type="radio" value="Business" /><div class="css-1nrnurq-PlanDetails e5ekbja14" id="plan-details-am2_business"><div class="css-7d5020-Title e5ekbja4"><div class="css-hekilt-PlanName e5ekbja13">Business</div></div><div class="css-p1i2he-TextBlock-Description e5ekbja12" id="plan-details-am2_business">Everything in the Team plan + deeper insight into your application health.</div><div class="css-baa46h-FeatureList e5ekbja6"><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Advanced analytics with Discover</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Enhanced issue priority and alerting</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Unlimited custom dashboards</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Advanced server-side filtering</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>SAML support</div><a class="er5y8lc0 css-11u7fec-Anchor-getLinkStyles-MoreLink e1rkoi031" href="https://sentry.io/pricing" rel="noreferrer noopener" target="_blank"><svg fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>And more...</a></div></div></div><div class="css-1ot6hv7-PriceContainer-PriceContainer e5ekbja16"><div class="css-r218qr-PriceHeader e5ekbja11">Starts At</div><div class="css-1p30c54-Price e5ekbja10"><span class="css-1p4q14h-Currency e5ekbja9">$</span><span class="css-xnyjn5-Amount e5ekbja8">89</span><span class="css-vufxn3-BillingInterval e5ekbja7">/mo</span></div><div class="e5ekbja0 e1b0h4f90 css-1pzy3ve-withChonk-EventPriceTag" data-test-id="tag-background" type="default"><div class="css-54ljo8-Text ed9nxmg2">$0.001157 / error</div></div></div></div></label></div><div class="css-1fcf87o-PanelItem-PlanOption e5ekbja20" data-test-id="am2_team"><label aria-describedby="plan-details-am2_team" aria-label="Team" class="css-14231r1-Label e5ekbja19"><div class="css-109ax9h-StyledPlan-StyledPlan e5ekbja18"><div class="css-9fr2q5-PlanContainer e5ekbja17"><input class="css-1h8yhi6-Radio-StyledRadio e5ekbja15" id="am2_team" readonly="" type="radio" value="Team" /><div class="css-1nrnurq-PlanDetails e5ekbja14" id="plan-details-am2_team"><div class="css-7d5020-Title e5ekbja4"><div class="css-hekilt-PlanName e5ekbja13">Team</div></div><div class="css-p1i2he-TextBlock-Description e5ekbja12" id="plan-details-am2_team">Resolve errors and track application performance as a team.</div><div class="css-baa46h-FeatureList e5ekbja6"><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Unlimited members</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Third-party integrations</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Metric alerts</div></div></div></div><div class="css-1ot6hv7-PriceContainer-PriceContainer e5ekbja16"><div class="css-r218qr-PriceHeader e5ekbja11">Starts At</div><div class="css-1p30c54-Price e5ekbja10"><span class="css-1p4q14h-Currency e5ekbja9">$</span><span class="css-xnyjn5-Amount e5ekbja8">29</span><span class="css-vufxn3-BillingInterval e5ekbja7">/mo</span></div><div class="e5ekbja0 e1b0h4f90 css-1pzy3ve-withChonk-EventPriceTag" data-test-id="tag-background" type="default"><div class="css-54ljo8-Text ed9nxmg2">$0.000377 / error</div></div></div></div></label></div></div> instead
    at Object.toBeInTheDocument (.../views/amCheckout/index.spec.tsx:1203:63)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
AM2 Checkout skips step 1 for business plan in same tier
Stack Traces | 0.163s run time
Error: expect(element).not.toBeInTheDocument()

expected document not to contain element, found <div class="css-naslpp-PanelBody-textStyles e151korg0" data-test-id="body-choose-your-plan"><div class="css-19jj871-PanelItem-PlanOption-PlanOption e5ekbja20" data-test-id="am2_business"><label aria-describedby="plan-details-am2_business" aria-label="Business" class="css-14231r1-Label e5ekbja19"><div class="css-109ax9h-StyledPlan-StyledPlan e5ekbja18"><div class="css-9fr2q5-PlanContainer e5ekbja17"><input checked="" class="css-1h8yhi6-Radio-StyledRadio e5ekbja15" id="am2_business" readonly="" type="radio" value="Business" /><div class="css-1nrnurq-PlanDetails e5ekbja14" id="plan-details-am2_business"><div class="css-7d5020-Title e5ekbja4"><div class="css-hekilt-PlanName e5ekbja13">Business</div><div class="e1b0h4f90 css-1woftql-withChonk" data-test-id="tag-background" type="info"><div class="css-54ljo8-Text ed9nxmg2">Current plan</div></div></div><div class="css-p1i2he-TextBlock-Description e5ekbja12" id="plan-details-am2_business">Everything in the Team plan + deeper insight into your application health.</div><div class="css-baa46h-FeatureList e5ekbja6"><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Advanced analytics with Discover</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Enhanced issue priority and alerting</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Unlimited custom dashboards</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Advanced server-side filtering</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>SAML support</div><a class="er5y8lc0 css-11u7fec-Anchor-getLinkStyles-MoreLink e1rkoi031" href="https://sentry.io/pricing" rel="noreferrer noopener" target="_blank"><svg fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>And more...</a></div></div></div><div class="css-1ot6hv7-PriceContainer-PriceContainer e5ekbja16"><div class="css-r218qr-PriceHeader e5ekbja11">Starts At</div><div class="css-1p30c54-Price e5ekbja10"><span class="css-1p4q14h-Currency e5ekbja9">$</span><span class="css-xnyjn5-Amount e5ekbja8">89</span><span class="css-vufxn3-BillingInterval e5ekbja7">/mo</span></div><div class="e5ekbja0 e1b0h4f90 css-1pzy3ve-withChonk-EventPriceTag" data-test-id="tag-background" type="default"><div class="css-54ljo8-Text ed9nxmg2">$0.001157 / error</div></div></div></div></label></div><div class="css-1fcf87o-PanelItem-PlanOption e5ekbja20" data-test-id="am2_team"><label aria-describedby="plan-details-am2_team" aria-label="Team" class="css-14231r1-Label e5ekbja19"><div class="css-109ax9h-StyledPlan-StyledPlan e5ekbja18"><div class="css-9fr2q5-PlanContainer e5ekbja17"><input class="css-1h8yhi6-Radio-StyledRadio e5ekbja15" id="am2_team" readonly="" type="radio" value="Team" /><div class="css-1nrnurq-PlanDetails e5ekbja14" id="plan-details-am2_team"><div class="css-7d5020-Title e5ekbja4"><div class="css-hekilt-PlanName e5ekbja13">Team</div></div><div class="css-p1i2he-TextBlock-Description e5ekbja12" id="plan-details-am2_team">Resolve errors and track application performance as a team.</div><div class="css-baa46h-FeatureList e5ekbja6"><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Unlimited members</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Third-party integrations</div><div class="css-150v4l7-Feature e5ekbja5"><svg data-test-id="plan-icon-business" fill="currentColor" height="14px" role="img" viewBox="0 0 16 16" width="14px"><path d="M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.62 3.6C8.8 3.43 9.1 3.6 9.04 3.84L8.33 6.69C8.29 6.85 8.41 7 8.57 7H12.38C12.6 7 12.71 7.27 12.55 7.43L7.38 12.4C7.2 12.57 6.9 12.4 6.96 12.16L7.67 9.31C7.71 9.15 7.59 9 7.43 9H3.62C3.4 9 3.29 8.73 3.45 8.57L8.62 3.6Z" /></svg>Metric alerts</div></div></div></div><div class="css-1ot6hv7-PriceContainer-PriceContainer e5ekbja16"><div class="css-r218qr-PriceHeader e5ekbja11">Starts At</div><div class="css-1p30c54-Price e5ekbja10"><span class="css-1p4q14h-Currency e5ekbja9">$</span><span class="css-xnyjn5-Amount e5ekbja8">29</span><span class="css-vufxn3-BillingInterval e5ekbja7">/mo</span></div><div class="e5ekbja0 e1b0h4f90 css-1pzy3ve-withChonk-EventPriceTag" data-test-id="tag-background" type="default"><div class="css-54ljo8-Text ed9nxmg2">$0.000377 / error</div></div></div></div></label></div></div> instead
    at Object.toBeInTheDocument (.../views/amCheckout/index.spec.tsx:1082:63)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
AM3 Checkout prefills with existing subscription data
Stack Traces | 0.225s run time
TestingLibraryElementError: Unable to find an accessible element with the role "textbox" and name "Pay-as-you-go budget"

Here are the accessible roles:

  heading:

  Name "Change Subscription":
  ...

  Name "Detect and fix issues faster with our AI agent":
  ...

  Name "Seer":
  ...

  Name "Find and fix issues anywhere with Seer AI debugger":
  ...

  Name "Seer":
  ...

  --------------------------------------------------
  radio:

  Name "Business":
  ...

  Name "Team":
  ...

  --------------------------------------------------
  img:

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  --------------------------------------------------
  link:

  Name "And more...":
  ...

  Name "Contact us":
  ...

  Name "Find an answer":
  ...

  Name "ask Support":
  ...

  --------------------------------------------------
  checkbox:

  Name "Add Seer to plan":
  ...

  Name "Add Seer to plan":
  ...

  Name "Add Seer to plan":
  ...

  Name "Add Seer to plan":
  ...

  --------------------------------------------------
  presentation:

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  --------------------------------------------------
  separator:

  Name "":
  ...

  Name "":
  ...

  --------------------------------------------------
  button:

  Name "Continue":
  ...

  Name "Expand section":
  ...

  Name "Expand section":
  ...

  Name "Expand section":
  ...

  --------------------------------------------------
  complementary:

  Name "":
  ...

  --------------------------------------------------

Ignored nodes: comments, script, style
...
    at Object.getElementError (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/config.js:37:19)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:76:38
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:52:17
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:95:19
    at Object.getByRole (.../views/amCheckout/index.spec.tsx:1865:19)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
AM3 Checkout prefills with existing subscription data with plan trial
Stack Traces | 0.253s run time
TestingLibraryElementError: Unable to find an accessible element with the role "textbox" and name "Pay-as-you-go budget"

Here are the accessible roles:

  heading:

  Name "Change Subscription":
  ...

  Name "Detect and fix issues faster with our AI agent":
  ...

  Name "Seer":
  ...

  Name "Find and fix issues anywhere with Seer AI debugger":
  ...

  Name "Seer":
  ...

  --------------------------------------------------
  radio:

  Name "Business":
  ...

  Name "Team":
  ...

  --------------------------------------------------
  img:

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  --------------------------------------------------
  link:

  Name "And more...":
  ...

  Name "Contact us":
  ...

  Name "Find an answer":
  ...

  Name "ask Support":
  ...

  --------------------------------------------------
  checkbox:

  Name "Add Seer to plan":
  ...

  Name "Add Seer to plan":
  ...

  Name "Add Seer to plan":
  ...

  Name "Add Seer to plan":
  ...

  --------------------------------------------------
  presentation:

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  --------------------------------------------------
  separator:

  Name "":
  ...

  Name "":
  ...

  --------------------------------------------------
  button:

  Name "Continue":
  ...

  Name "Expand section":
  ...

  Name "Expand section":
  ...

  Name "Expand section":
  ...

  --------------------------------------------------
  complementary:

  Name "":
  ...

  --------------------------------------------------

Ignored nodes: comments, script, style
...
    at Object.getElementError (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/config.js:37:19)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:76:38
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:52:17
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:95:19
    at Object.getByRole (.../views/amCheckout/index.spec.tsx:1942:19)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
AM3 Checkout handles missing categories in subscription.categories
Stack Traces | 0.26s run time
TestingLibraryElementError: Unable to find an accessible element with the role "textbox" and name "Pay-as-you-go budget"

Here are the accessible roles:

  heading:

  Name "Change Subscription":
  ...

  Name "Detect and fix issues faster with our AI agent":
  ...

  Name "Seer":
  ...

  Name "Find and fix issues anywhere with Seer AI debugger":
  ...

  Name "Seer":
  ...

  --------------------------------------------------
  radio:

  Name "Business":
  ...

  Name "Team":
  ...

  --------------------------------------------------
  img:

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  --------------------------------------------------
  link:

  Name "And more...":
  ...

  Name "Contact us":
  ...

  Name "Find an answer":
  ...

  Name "ask Support":
  ...

  --------------------------------------------------
  checkbox:

  Name "Add Seer to plan":
  ...

  Name "Add Seer to plan":
  ...

  Name "Add Seer to plan":
  ...

  Name "Add Seer to plan":
  ...

  --------------------------------------------------
  presentation:

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  Name "":
  ...

  --------------------------------------------------
  separator:

  Name "":
  ...

  Name "":
  ...

  --------------------------------------------------
  button:

  Name "Continue":
  ...

  Name "Expand section":
  ...

  Name "Expand section":
  ...

  Name "Expand section":
  ...

  --------------------------------------------------
  complementary:

  Name "":
  ...

  --------------------------------------------------

Ignored nodes: comments, script, style
...
    at Object.getElementError (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/config.js:37:19)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:76:38
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:52:17
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:95:19
    at Object.getByRole (.../views/amCheckout/index.spec.tsx:2076:19)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
OnDemandBudgets AM Checkout AM checkout with AM plan - per-category budget
Stack Traces | 0.952s run time
Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)

Expected: "....../customers/org-slug/subscription/", ObjectContaining {"data": {"onDemandBudget": {"budgetMode": "per_category", "budgets": {"attachments": 3000, "errors": 1000, "logBytes": 0, "monitorSeats": 4000, "profileDuration": 0, "profileDurationUI": 0, "replays": 0, "transactions": 2000, "uptime": 0}}, "onDemandMaxSpend": 10000, "plan": "am2_business", "referrer": "billing", "reservedAttachments": 1, "reservedErrors": 50000, "reservedMonitorSeats": 1, "reservedProfileDuration": undefined, "reservedReplays": 500, "reservedSpans": undefined, "reservedTransactions": 100000, "reservedUptime": 1}}
Received: "....../customers/org-slug/subscription/", {"data": {"addOnLegacySeer": false, "addOnSeer": false, "onDemandBudget": {"budgetMode": "per_category", "budgets": {"attachments": 3000, "errors": 1000, "logBytes": 0, "monitorSeats": 4000, "profileDuration": 0, "profileDurationUI": 0, "replays": 0, "transactions": 2000, "uptime": 0}}, "onDemandMaxSpend": 10000, "plan": "am2_business", "referrer": "billing", "reservedAttachments": 1, "reservedErrors": 50000, "reservedMonitorSeats": 1, "reservedReplays": 500, "reservedTransactions": 100000, "reservedUptime": 1}, "error": [Function error], "method": "PUT", "success": [Function success]}

Number of calls: 1
    at Object.toHaveBeenCalledWith (.../amCheckout/steps/onDemandBudgets.spec.tsx:209:28)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

).flatMap(addOnInfo => addOnInfo.dataCategories);
const addOnDataCategories = Object.values(subscription.planDetails.addOnCategories)
.flatMap(addOnInfo => addOnInfo.dataCategories)
.filter(category => checkIsAddOnChildCategory(subscription, category, true));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Categories with zero reserved hidden when add-on has mixed values

When an add-on has multiple data categories with mixed reserved values (some with non-zero reserved volume, some with zero), categories with zero reserved become invisible. This happens because: (1) zero-reserved categories are added to addOnDataCategories and filtered out of the main list, (2) but the add-on section returns null when ANY sub-category has non-zero reserved. The comment on line 89-90 claims these categories will render in sortedCategories, but this only applies to categories that fail checkIsAddOnChildCategory - zero-reserved categories pass the check and get excluded from both locations.

Additional Locations (1)

Fix in Cursor Fix in Web

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

documenting assumption for now since we don't currently support a mix

Comment on lines +128 to 138
isChildProduct
parentProduct={apiName}
usageData={usageData}
organization={organization}
/>
);
})
: null}
</Fragment>
);
})}

This comment was marked as outdated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants