Skip to content

Conversation

@isabellaenriquez
Copy link
Member

@isabellaenriquez isabellaenriquez commented Nov 19, 2025

Closes BIL-1796 and BIL-1757

Depends on https://github.com/getsentry/getsentry/pull/18869

@linear
Copy link

linear bot commented Nov 19, 2025

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

codecov bot commented Nov 19, 2025

❌ 15 Tests Failed:

Tests completed Failed Passed Skipped
12592 15 12577 10
View the top 3 failed test(s) by shortest run time
utils utils.getCheckoutAPIData returns correct reserved api data
Stack Traces | 0.027s run time
Error: expect(received).toEqual(expected) // deep equality

- Expected  - 1
+ Received  + 2

@@ -1,7 +1,8 @@
  Object {
-   "addOnSeer": false,
+   "addOnLegacySeer": false,
+   "onDemandBudget": undefined,
    "onDemandMaxSpend": 100,
    "plan": "am3_business",
    "referrer": "billing",
    "reservedAttachments": 70,
    "reservedErrors": 10,
    at Object.toEqual (.../views/amCheckout/utils.spec.tsx:391:46)
    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 _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)
CheckoutOverview displays add-on when selected
Stack Traces | 0.031s run time
TestingLibraryElementError: Unable to find an element by: [data-test-id="seer-reserved"]

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 (.../amCheckout/components/checkoutOverview.spec.tsx:200: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 runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
    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)
CheckoutOverviewV2 renders with existing plan
Stack Traces | 0.091s run time
TestingLibraryElementError: Unable to find an element by: [data-test-id="seer-reserved"]

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 (.../amCheckout/components/checkoutOverviewV2.spec.tsx:100: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 runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
    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)
AmCheckout > ReviewAndConfirm can confirm changes
Stack Traces | 0.139s run time
Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)

Expected: "checkout.product_select", {"organization": {"access": [Array], "aggregatedDataConsent": false, "alertsMemberWrite": false, "allowJoinRequests": false, "allowMemberInvite": true, "allowMemberProjectCreation": false, "allowSharedIssues": false, "allowSuperuserAccess": false, "attachmentsRole": "member", "availableRoles": [Array], "avatar": [Object], "codecovAccess": false, "dataScrubber": false, "dataScrubberDefaults": false, "dateCreated": "2017-10-17T02:41:20.000Z", "debugFilesRole": "", "defaultAutofixAutomationTuning": "off", "defaultRole": "", "enableSeerCoding": true, "enhancedPrivacy": false, "eventsMemberAdmin": false, "features": [Array], "githubNudgeInvite": false, "githubPRBot": false, "gitlabPRBot": false, "hideAiFeatures": false, "id": "3", "isDefault": false, "isDynamicallySampled": true, "isEarlyAdopter": false, "issueAlertsThreadFlag": false, "links": [Object], "metricAlertsThreadFlag": false, "name": "Organization Name", "onboardingTasks": [Array], "openMembership": false, "orgRoleList": [Array], "pendingAccessRequests": 0, "quota": [Object], "relayPiiConfig": null, "require2FA": false, "requiresSso": false, "safeFields": [Array], "samplingMode": "organization", "scrapeJavaScript": true, "scrubIPAddresses": false, "sensitiveFields": [Array], "slug": "org-slug", "status": [Object], "storeCrashReports": 0, "streamlineOnly": true, "targetSampleRate": 1, "teamRoleList": [Array], "trustedRelays": [Array]}, "seer": {"enabled": true, "previously_enabled": false}, "subscription": {"accountBalance": -10000, "addOns": [Object], "billingEmail": null, "billingInterval": "monthly", "billingPeriodEnd": "2018-10-24", "billingPeriodStart": "2018-09-25", "canCancel": false, "canGracePeriod": true, "canSelfServe": true, "canTrial": true, "cancelAtPeriodEnd": false, "categories": [Object], "companyName": null, "contactInfo": null, "contractInterval": "monthly", "contractPeriodEnd": "2018-10-24", "contractPeriodStart": "2018-09-25", "countryCode": null, "customPrice": null, "customPricePcss": null, "dataRetention": null, "dateJoined": "2018-09-10T23:58:10.167Z", "gdprDetails": null, "gracePeriodEnd": null, "gracePeriodStart": null, "hadCustomDynamicSampling": false, "hasDismissedForcedTrialNotice": false, "hasDismissedTrialEndingNotice": false, "hasOverageNotificationsDisabled": false, "hasRestrictedIntegration": false, "hasSoftCap": false, "id": "", "isBundleEligible": false, "isEnterpriseTrial": false, "isExemptFromForcedTrial": false, "isForcedTrial": false, "isFree": true, "isGracePeriod": false, "isHeroku": false, "isManaged": false, "isOverMemberLimit": false, "isPartner": false, "isPastDue": false, "isPerformancePlanTrial": false, "isSelfServePartner": false, "isSponsored": false, "isSuspended": false, "isTrial": false, "lastTrialEnd": null, "membersDeactivatedFromLimit": 0, "msaUpdatedForDataConsent": false, "name": "Organization Name", "onDemandDisabled": false, "onDemandInvoiced": false, "onDemandMaxSpend": 0, "onDemandPeriodEnd": "2018-10-24", "onDemandPeriodStart": "2018-09-25", "onDemandSpendUsed": 0, "partner": null, "paymentSource": [Object], "pendingChanges": null, "plan": "am1_f", "planDetails": [Object], "planTier": "am1", "productTrials": [Array], "renewalDate": "2018-10-25", "reservedBudgets": [Array], "slug": "org-slug", "spendAllocationEnabled": false, "sponsoredType": null, "status": "active", "supportsOnDemand": true, "suspensionReason": null, "totalLicenses": 1, "totalMembers": 1, "totalProjects": 0, "trialEnd": null, "trialPlan": null, "trialTier": null, "type": "credit card", "usageExceeded": false, "usedLicenses": 1, "vatID": null, "vatStatus": null}}
Received
       1
          "checkout.upgrade",
        @@ -1,6 +1,9 @@
          Object {
        +   "attachments": 1,
        +   "errors": 100000,
        +   "monitorSeats": 1,
            "organization": Object {
              "access": Array [
                "org:read",
                "org:write",
                "org:admin",
        @@ -155,14 +158,19 @@
                  "name": "Team Admin",
                },
              ],
              "trustedRelays": Array [],
            },
        -   "seer": Object {
        -     "enabled": true,
        -     "previously_enabled": false,
        -   },
        +   "plan": "am2_team",
        +   "previous_attachments": 1,
        +   "previous_errors": 5000,
        +   "previous_monitorSeats": 1,
        +   "previous_plan": "am1_f",
        +   "previous_replays": 50,
        +   "previous_transactions": 10000,
        +   "previous_uptime": 1,
        +   "replays": 500,
            "subscription": Object {
              "accountBalance": -10000,
              "addOns": Object {
                "legacySeer": Object {
                  "apiName": "legacySeer",
        @@ -678,6 +686,8 @@
              "usageExceeded": false,
              "usedLicenses": 1,
              "vatID": null,
              "vatStatus": null,
            },
        +   "transactions": 100000,
        +   "uptime": 1,
          },
       2
          "checkout.product_select",
        @@ -1,6 +1,10 @@
          Object {
        +   "legacySeer": Object {
        +     "enabled": true,
        +     "previously_enabled": false,
        +   },
            "organization": Object {
              "access": Array [
                "org:read",
                "org:write",
                "org:admin",
        @@ -154,14 +158,10 @@
                  "isRetired": false,
                  "name": "Team Admin",
                },
              ],
              "trustedRelays": Array [],
        -   },
        -   "seer": Object {
        -     "enabled": true,
        -     "previously_enabled": false,
            },
            "subscription": Object {
              "accountBalance": -10000,
              "addOns": Object {
                "legacySeer": Object {,
       3
          "checkout.transactions_upgrade",
        @@ -155,14 +155,12 @@
                  "name": "Team Admin",
                },
              ],
              "trustedRelays": Array [],
            },
        -   "seer": Object {
        -     "enabled": true,
        -     "previously_enabled": false,
        -   },
        +   "plan": "am2_team",
        +   "previous_transactions": 10000,
            "subscription": Object {
              "accountBalance": -10000,
              "addOns": Object {
                "legacySeer": Object {
                  "apiName": "legacySeer",
        @@ -678,6 +676,7 @@
              "usageExceeded": false,
              "usedLicenses": 1,
              "vatID": null,
              "vatStatus": null,
            },
        +   "transactions": 100000,
          },

Number of calls: 3
    at Object.toHaveBeenCalledWith (.../amCheckout/steps/reviewAndConfirm.spec.tsx:286:37)
Cart renders form data
Stack Traces | 0.146s run time
TestingLibraryElementError: Unable to find an element by: [data-test-id="summary-item-product-seer"]

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 (.../amCheckout/components/cart.spec.tsx:173:29)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
ChangePlanAction Seer Budget initializes Seer budget checkbox based on current subscription
Stack Traces | 0.265s run time
Error: expect(element).toBeChecked()

Received element is not checked:
  <input class="e1b0h4f90 css-kgzt8f-NativeHiddenCheckbox-withChonk eqjv9bp2" id="addOnLegacyseer" name="addOnLegacyseer" type="checkbox" />
    at Object.toBeChecked (.../gsAdmin/components/changePlanAction.spec.tsx:485:28)
ProductSelect can enable and disable products
Stack Traces | 1.03s run time
Error: Unable to find an element by: [data-test-id="product-option-seer"]

Ignored nodes: comments, script, style
...
    at waitForWrapper (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/wait-for.js:163:27)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:86:33
    at Object.findByTestId (.../amCheckout/steps/productSelect.spec.tsx:236:38)
    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)
ProductSelect renders with correct annual price and monthly credits for products
Stack Traces | 1.04s run time
Error: Unable to find an element by: [data-test-id="product-option-seer"]

Ignored nodes: comments, script, style
...
    at waitForWrapper (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/wait-for.js:163:27)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:86:33
    at Object.findByTestId (.../amCheckout/steps/productSelect.spec.tsx:178:38)
    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)
ProductSelect does not render with product selected based on current subscription if plan is trial
Stack Traces | 1.04s run time
Error: Unable to find an element by: [data-test-id="product-option-seer"]

Ignored nodes: comments, script, style
...
    at waitForWrapper (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/wait-for.js:163:27)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:86:33
    at Object.findByTestId (.../amCheckout/steps/productSelect.spec.tsx:219:25)
    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)
ChangePlanAction Seer Budget includes seer parameter in form submission when checkbox is checked
Stack Traces | 1.04s run time
Error: expect(received).toHaveProperty(path, value)

Expected path: "addOnSeer"

Expected value: true
Received value: false
    at Object.toHaveProperty (.../gsAdmin/components/changePlanAction.spec.tsx:555:27)
ProductSelect renders with product selected based on current subscription
Stack Traces | 1.05s run time
Error: Unable to find an element by: [data-test-id="product-option-seer"]

Ignored nodes: comments, script, style
...
    at waitForWrapper (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/wait-for.js:163:27)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:86:33
    at Object.findByTestId (.../amCheckout/steps/productSelect.spec.tsx:198:25)
    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)
ProductSelect renders for checkout v3
Stack Traces | 1.05s run time
Error: Unable to find an element by: [data-test-id="product-option-seer"]

Ignored nodes: comments, script, style
...
    at waitForWrapper (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/wait-for.js:163:27)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:86:33
    at Object.findByTestId (.../amCheckout/steps/productSelect.spec.tsx:110:25)
    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)
ProductSelect renders
Stack Traces | 1.07s run time
Error: Unable to find an element by: [data-test-id="product-option-seer"]

Ignored nodes: comments, script, style
...
    at waitForWrapper (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/wait-for.js:163:27)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:86:33
    at Object.findByTestId (.../amCheckout/steps/productSelect.spec.tsx:83:25)
    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)
ProductSelect renders with correct monthly price and credits for products
Stack Traces | 1.08s run time
Error: Unable to find an element by: [data-test-id="product-option-seer"]

Ignored nodes: comments, script, style
...
    at waitForWrapper (.../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/wait-for.js:163:27)
    at .../sentry/node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@.../dom/dist/query-helpers.js:86:33
    at Object.findByTestId (.../amCheckout/steps/productSelect.spec.tsx:155:38)
    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)
ChangePlanAction completes form with addOns
Stack Traces | 1.21s run time
Error: Expected test not to call console.error().

If the error is expected, test for it explicitly by mocking it out using jest.spyOn(console, 'error').mockImplementation() and test that the warning occurs.

Encountered two children with the same key, `Seer`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.
    at console.captureMessage [as error] (.../sentry/node_modules/.pnpm/jest-fail-on-console@3.3..../node_modules/jest-fail-on-console/index.js:83:25)
    at .../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:6604:23
    at runWithFiberInDEV (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:874:13)
    at warnOnInvalidKey (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:6603:13)
    at reconcileChildrenArray (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:6672:31)
    at reconcileChildFibersImpl (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:6993:30)
    at .../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:7098:33
    at reconcileChildren (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:9701:13)
    at beginWork (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:12126:13)
    at runWithFiberInDEV (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:874:13)
    at performUnitOfWork (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:17641:22)
    at workLoopSync (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:17469:41)
    at renderRootSync (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:17450:11)
    at performWorkOnRoot (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:16504:11)
    at performSyncWorkOnRoot (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:18972:7)
    at flushSyncWorkAcrossRoots_impl (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:18814:21)
    at flushSyncWork$1 (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:16898:12)
    at batchedUpdates$1 (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:3263:14)
    at dispatchEventForPluginEventSystem (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:19320:7)
    at dispatchEvent (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:23585:11)
    at dispatchDiscreteEvent (.../sentry/node_modules/.pnpm/react-dom@19.2.0_react@19.2..../react-dom/cjs/react-dom-client.development.js:23553:11)
    at HTMLDivElement.callTheUserObjectsOperation (.../sentry/node_modules/.pnpm/jsdom@26.1..../living/generated/EventListener.js:26:30)
    at innerInvokeEventListeners (.../sentry/node_modules/.pnpm/jsdom@26.1..../living/events/EventTarget-impl.js:350:25)
    at invokeEventListeners (.../sentry/node_modules/.pnpm/jsdom@26.1..../living/events/EventTarget-impl.js:286:3)
    at HTMLInputElementImpl._dispatch (.../sentry/node_modules/.pnpm/jsdom@26.1..../living/events/EventTarget-impl.js:233:9)
    at HTMLInputElementImpl.dispatchEvent (.../sentry/node_modules/.pnpm/jsdom@26.1..../living/events/EventTarget-impl.js:104:17)
    at HTMLInputElement.dispatchEvent (.../sentry/node_modules/.pnpm/jsdom@26.1..../living/generated/EventTarget.js:241:34)
    at .../sentry/node_modules/.pnpm/@testing-library+user-event@14.6.1_@testing-library+dom@10.4.0/node_modules/@.../cjs/event/dispatchEvent.js:45:43
    at .../sentry/node_modules/.pnpm/@testing-library+react@16.2.0_@testing-library+dom@10.4.0_@types+react-dom@19.2.0_@type_011f94990cdc27509fa142ae9e3c3bf5/node_modules/@.../react/dist/pure.js:108:16
    at .../sentry/node_modules/.pnpm/@testing-library+react@16.2.0_@testing-library+dom@10.4.0_@types+react-dom@19.2.0_@type_011f94990cdc27509fa142ae9e3c3bf5/node_modules/@.../react/dist/act-compat.js:48:24
    at process.env.NODE_ENV.exports.act (.../sentry/node_modules/.pnpm/react@19.2..../react/cjs/react.development.js:814:22)
    at .../sentry/node_modules/.pnpm/@testing-library+react@16.2.0_@testing-library+dom@10.4.0_@types+react-dom@19.2.0_@type_011f94990cdc27509fa142ae9e3c3bf5/node_modules/@.../react/dist/act-compat.js:47:25
    at Object.eventWrapper (.../sentry/node_modules/.pnpm/@testing-library+react@16.2.0_@testing-library+dom@10.4.0_@types+react-dom@19.2.0_@type_011f94990cdc27509fa142ae9e3c3bf5/node_modules/@.../react/dist/pure.js:107:28)
    at Object.wrapEvent (.../sentry/node_modules/.pnpm/@testing-library+user-event@14.6.1_@testing-library+dom@10.4.0/node_modules/@.../cjs/event/wrapEvent.js:6:28)
    at Object.dispatchEvent (.../sentry/node_modules/.pnpm/@testing-library+user-event@14.6.1_@testing-library+dom@10.4.0/node_modules/@.../cjs/event/dispatchEvent.js:45:22)
    at Object.dispatchUIEvent (.../sentry/node_modules/.pnpm/@testing-library+user-event@14.6.1_@testing-library+dom@10.4.0/node_modules/@.../cjs/event/dispatchEvent.js:22:26)
    at Mouse.up (.../sentry/node_modules/.pnpm/@testing-library+user-event@14.6.1_@testing-library+dom@10.4.0/node_modules/@.../system/pointer/mouse.js:100:30)
    at PointerHost.release (.../sentry/node_modules/.pnpm/@testing-library+user-event@14.6.1_@testing-library+dom@10.4.0/node_modules/@.../system/pointer/index.js:87:24)
    at pointerAction (.../sentry/node_modules/.pnpm/@testing-library+user-event@14.6.1_@testing-library+dom@10.4.0/node_modules/@.../cjs/pointer/index.js:54:47)
    at Object.pointer (.../sentry/node_modules/.pnpm/@testing-library+user-event@14.6.1_@testing-library+dom@10.4.0/node_modules/@.../cjs/pointer/index.js:27:9)
    at Object.asyncWrapper (.../sentry/node_modules/.pnpm/@testing-library+react@16.2.0_@testing-library+dom@10.4.0_@types+react-dom@19.2.0_@type_011f94990cdc27509fa142ae9e3c3bf5/node_modules/@.../react/dist/pure.js:88:22)
    at Object.<anonymous> (.../gsAdmin/components/changePlanAction.spec.tsx:255:5)
    at flushUnexpectedConsoleCalls (.../sentry/node_modules/.pnpm/jest-fail-on-console@3.3..../node_modules/jest-fail-on-console/index.js:48:13)
    at Object.<anonymous> (.../sentry/node_modules/.pnpm/jest-fail-on-console@3.3..../node_modules/jest-fail-on-console/index.js:145:7)
    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 _callCircusHook (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:978:40)
    at _runTest (.../sentry/node_modules/.pnpm/jest-circus@30.0.4_babel-plugin-macros@3.1..../jest-circus/build/jestAdapterInit.js:951:5)
    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)

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

@isabellaenriquez isabellaenriquez marked this pull request as ready for review November 21, 2025 15:59
@isabellaenriquez isabellaenriquez requested a review from a team as a code owner November 21, 2025 15:59
@linear
Copy link

linear bot commented Nov 21, 2025

)
) &&
(addOnInfo.apiName !== AddOnCategory.SEER ||
!subscription.addOns?.[AddOnCategory.LEGACY_SEER]?.enabled)
Copy link
Contributor

Choose a reason for hiding this comment

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

Bug: Usage metrics for Seer hidden when Legacy Seer enabled

The addOnsToShow filter hides the SEER add-on if LEGACY_SEER is enabled. Since the SEER add-on includes unique data categories (like SEER_USER) not present in LEGACY_SEER, users with both add-ons enabled cannot see usage statistics for Seer Users.

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.

this is correct

item => item.type.startsWith('reserved_') && !item.type.endsWith('_budget')
);
// TODO(prevent): This needs to be updated once we determine how to display Prevent enablement and PAYG changes on this page
// TODO(seer): This needs to be updated once we determine how to display Seer enablement and PAYG changes on this page
Copy link
Contributor

Choose a reason for hiding this comment

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

Bug: New Seer product excluded from checkout success add-ons list

The products filter explicitly restricts items to reserved_seer_budget, causing the new reserved_seer_users invoice item type to be excluded from the add-ons list. This forces the new Seer product to be rendered as a generic volume item instead of using the updated add-on presentation logic in reservedInvoiceItemTypeToAddOn.

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.

this is fine for now since we haven't finalized what it's going to look like in the success page (see TODO)

@isabellaenriquez isabellaenriquez merged commit 945c2d2 into master Nov 21, 2025
49 checks passed
@isabellaenriquez isabellaenriquez deleted the isabella/add-on-fe branch November 21, 2025 17:12
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.

3 participants