diff --git a/src/pages/AccountSettings/AccountSettings.test.jsx b/src/pages/AccountSettings/AccountSettings.test.jsx
index 1858954dd3..d733427506 100644
--- a/src/pages/AccountSettings/AccountSettings.test.jsx
+++ b/src/pages/AccountSettings/AccountSettings.test.jsx
@@ -163,6 +163,9 @@ describe('AccountSettings', () => {
value: planValue,
isEnterprisePlan: planValue === Plans.USERS_ENTERPRISEM,
isFreePlan: planValue === Plans.USERS_BASIC,
+ isTeamPlan:
+ planValue === Plans.USERS_TEAMM ||
+ planValue === Plans.USERS_TEAMY,
},
},
},
diff --git a/src/pages/AccountSettings/AccountSettingsSideMenu.test.jsx b/src/pages/AccountSettings/AccountSettingsSideMenu.test.jsx
index aeffe58be3..88ad5145ae 100644
--- a/src/pages/AccountSettings/AccountSettingsSideMenu.test.jsx
+++ b/src/pages/AccountSettings/AccountSettingsSideMenu.test.jsx
@@ -151,6 +151,9 @@ describe('AccountSettingsSideMenu', () => {
value: planValue,
isEnterprisePlan: planValue === Plans.USERS_ENTERPRISEM,
isFreePlan: planValue === Plans.USERS_BASIC,
+ isTeamPlan:
+ planValue === Plans.USERS_TEAMM ||
+ planValue === Plans.USERS_TEAMY,
},
},
},
diff --git a/src/pages/DefaultOrgSelector/DefaultOrgSelector.test.jsx b/src/pages/DefaultOrgSelector/DefaultOrgSelector.test.jsx
index c95fa451f1..abeb710b19 100644
--- a/src/pages/DefaultOrgSelector/DefaultOrgSelector.test.jsx
+++ b/src/pages/DefaultOrgSelector/DefaultOrgSelector.test.jsx
@@ -214,6 +214,8 @@ describe('DefaultOrgSelector', () => {
...mockTrialData,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan:
+ value === Plans.USERS_TEAMM || value === Plans.USERS_TEAMY,
trialStatus,
value,
},
diff --git a/src/pages/MembersPage/MembersActivation/Activation/Activation.test.jsx b/src/pages/MembersPage/MembersActivation/Activation/Activation.test.jsx
index 5203ce935b..c53395518f 100644
--- a/src/pages/MembersPage/MembersActivation/Activation/Activation.test.jsx
+++ b/src/pages/MembersPage/MembersActivation/Activation/Activation.test.jsx
@@ -28,6 +28,7 @@ const mockedAccountDetails = {
const mockPlanData = {
isEnterprisePlan: false,
isFreePlan: true,
+ isTeamPlan: false,
baseUnitPrice: 10,
benefits: [],
billingRate: BillingRate.MONTHLY,
diff --git a/src/pages/MembersPage/MembersActivation/MembersActivation.test.jsx b/src/pages/MembersPage/MembersActivation/MembersActivation.test.jsx
index 2c9a847acd..acb655ac59 100644
--- a/src/pages/MembersPage/MembersActivation/MembersActivation.test.jsx
+++ b/src/pages/MembersPage/MembersActivation/MembersActivation.test.jsx
@@ -42,6 +42,7 @@ const mockPlanData = {
hasSeatsLeft: true,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
const server = setupServer()
diff --git a/src/pages/MembersPage/MembersList/MembersList.test.jsx b/src/pages/MembersPage/MembersList/MembersList.test.jsx
index edc6884330..424bb450ae 100644
--- a/src/pages/MembersPage/MembersList/MembersList.test.jsx
+++ b/src/pages/MembersPage/MembersList/MembersList.test.jsx
@@ -130,6 +130,9 @@ describe('MembersList', () => {
...mockPlanData,
value: planName,
isFreePlan: planName === Plans.USERS_BASIC,
+ isTeamPlan:
+ planName === Plans.USERS_TEAMM ||
+ planName === Plans.USERS_TEAMY,
planUserCount,
hasSeatsLeft,
},
diff --git a/src/pages/MembersPage/MembersList/MembersTable/MembersTable.test.jsx b/src/pages/MembersPage/MembersList/MembersTable/MembersTable.test.jsx
index c7d8a6e0b9..70a97334ae 100644
--- a/src/pages/MembersPage/MembersList/MembersTable/MembersTable.test.jsx
+++ b/src/pages/MembersPage/MembersList/MembersTable/MembersTable.test.jsx
@@ -158,6 +158,9 @@ describe('MembersTable', () => {
...mockPlanData,
value: planName,
isFreePlan: planName === Plans.USERS_BASIC,
+ isTeamPlan:
+ planName === Plans.USERS_TEAMM ||
+ planName === Plans.USERS_TEAMY,
planUserCount,
hasSeatsLeft,
},
diff --git a/src/pages/OwnerPage/HeaderBanners/ExceededUploadsAlert/ExceededUploadsAlert.test.jsx b/src/pages/OwnerPage/HeaderBanners/ExceededUploadsAlert/ExceededUploadsAlert.test.jsx
index 7d53730b28..ae2732aa35 100644
--- a/src/pages/OwnerPage/HeaderBanners/ExceededUploadsAlert/ExceededUploadsAlert.test.jsx
+++ b/src/pages/OwnerPage/HeaderBanners/ExceededUploadsAlert/ExceededUploadsAlert.test.jsx
@@ -39,6 +39,7 @@ const mockPlanDataResponse = {
hasSeatsLeft: true,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
beforeAll(() => {
diff --git a/src/pages/OwnerPage/HeaderBanners/HeaderBanners.test.jsx b/src/pages/OwnerPage/HeaderBanners/HeaderBanners.test.jsx
index 8fdc22a20c..245bc55d09 100644
--- a/src/pages/OwnerPage/HeaderBanners/HeaderBanners.test.jsx
+++ b/src/pages/OwnerPage/HeaderBanners/HeaderBanners.test.jsx
@@ -42,6 +42,7 @@ const mockPlanDataResponse = {
hasSeatsLeft: true,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
const mockPlanDataResponseNoUploadLimit = {
diff --git a/src/pages/OwnerPage/HeaderBanners/ReachingUploadLimitAlert/ReachingUploadLimitAlert.test.jsx b/src/pages/OwnerPage/HeaderBanners/ReachingUploadLimitAlert/ReachingUploadLimitAlert.test.jsx
index caddbee050..cf912dd142 100644
--- a/src/pages/OwnerPage/HeaderBanners/ReachingUploadLimitAlert/ReachingUploadLimitAlert.test.jsx
+++ b/src/pages/OwnerPage/HeaderBanners/ReachingUploadLimitAlert/ReachingUploadLimitAlert.test.jsx
@@ -32,6 +32,7 @@ const mockPlanDataResponse = {
value: Plans.USERS_PR_INAPPM,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
trialStatus: TrialStatuses.NOT_STARTED,
trialStartDate: '',
trialEndDate: '',
diff --git a/src/pages/OwnerPage/Tabs/TrialReminder/TrialReminder.test.tsx b/src/pages/OwnerPage/Tabs/TrialReminder/TrialReminder.test.tsx
index 96586cbfa8..0c2c119bbe 100644
--- a/src/pages/OwnerPage/Tabs/TrialReminder/TrialReminder.test.tsx
+++ b/src/pages/OwnerPage/Tabs/TrialReminder/TrialReminder.test.tsx
@@ -103,6 +103,9 @@ describe('TrialReminder', () => {
trialEndDate,
value: planValue,
isFreePlan: planValue === Plans.USERS_BASIC,
+ isTeamPlan:
+ planValue === Plans.USERS_TEAMM ||
+ planValue === Plans.USERS_TEAMY,
},
},
},
diff --git a/src/pages/PlanPage/subRoutes/CancelPlanPage/CancelPlanPage.test.tsx b/src/pages/PlanPage/subRoutes/CancelPlanPage/CancelPlanPage.test.tsx
index 0c6f8df263..47d0479f22 100644
--- a/src/pages/PlanPage/subRoutes/CancelPlanPage/CancelPlanPage.test.tsx
+++ b/src/pages/PlanPage/subRoutes/CancelPlanPage/CancelPlanPage.test.tsx
@@ -80,6 +80,7 @@ const mockPlanData = {
hasSeatsLeft: true,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
const queryClient = new QueryClient({
@@ -158,6 +159,9 @@ describe('CancelPlanPage', () => {
value: planValue,
isEnterprisePlan: planValue === Plans.USERS_ENTERPRISEM,
isFreePlan: planValue === Plans.USERS_BASIC,
+ isTeamPlan:
+ planValue === Plans.USERS_TEAMM ||
+ planValue === Plans.USERS_TEAMY,
},
},
},
diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx
index d89316b4c5..9ef8a15bc2 100644
--- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx
+++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx
@@ -52,6 +52,7 @@ const mockPlanDataResponse = {
hasSeatsLeft: true,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
const mockEnterpriseAccountDetailsNinetyPercent = {
diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/CurrentPlanCard.test.tsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/CurrentPlanCard.test.tsx
index 47933536a5..0ff39acec2 100644
--- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/CurrentPlanCard.test.tsx
+++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/CurrentPlanCard.test.tsx
@@ -26,6 +26,7 @@ const proPlanDetails = {
billingRate: null,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: true,
},
}
@@ -42,6 +43,7 @@ const freePlanDetails = {
],
isEnterprisePlan: false,
isFreePlan: true,
+ isTeamPlan: false,
},
}
@@ -58,6 +60,7 @@ const enterprisePlan = {
],
isEnterprisePlan: true,
isFreePlan: false,
+ isTeamPlan: false,
},
}
@@ -74,6 +77,7 @@ const usesInvoiceTeamPlan = {
],
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: true,
},
usesInvoice: true,
}
@@ -88,6 +92,7 @@ const trialPlanDetails = {
value: Plans.USERS_TRIAL,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: true,
},
}
diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/FreePlanCard.test.jsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/FreePlanCard.test.jsx
index 74e1969570..b4eb54c43f 100644
--- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/FreePlanCard.test.jsx
+++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/FreePlanCard.test.jsx
@@ -127,6 +127,7 @@ const freePlan = {
monthlyUploadLimit: null,
isFreePlan: true,
isEnterprisePlan: false,
+ isTeamPlan: false,
}
const scheduledPhase = {
@@ -224,6 +225,9 @@ describe('FreePlanCard', () => {
value: planValue,
planUserCount,
isFreePlan: planValue === Plans.USERS_BASIC,
+ isTeamPlan:
+ planValue === Plans.USERS_TEAMM ||
+ planValue === Plans.USERS_TEAMY,
},
pretrialPlan: mockPreTrialPlanInfo,
},
diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/PlanUpgradeTeam/PlanUpgradeTeam.test.jsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/PlanUpgradeTeam/PlanUpgradeTeam.test.jsx
index 8b97f07e3a..adbd6f1ae7 100644
--- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/PlanUpgradeTeam/PlanUpgradeTeam.test.jsx
+++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/PlanUpgradeTeam/PlanUpgradeTeam.test.jsx
@@ -15,6 +15,7 @@ vi.mock('shared/plan/BenefitList', () => ({ default: () => 'BenefitsList' }))
const mockPlanBasic = {
isEnterprisePlan: false,
isFreePlan: true,
+ isTeamPlan: false,
baseUnitPrice: 0,
benefits: ['Up to # user', 'Unlimited public repositories'],
billingRate: BillingRate.MONTHLY,
@@ -33,6 +34,7 @@ const mockPlanBasic = {
const mockPlanPro = {
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
baseUnitPrice: 10,
benefits: ['Up to # user', 'Unlimited public repositories'],
billingRate: BillingRate.MONTHLY,
@@ -51,6 +53,7 @@ const mockPlanPro = {
const mockPlanTrialing = {
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
baseUnitPrice: 10,
benefits: ['Up to # user', 'Unlimited public repositories'],
billingRate: BillingRate.MONTHLY,
diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/ProPlanSubheading/ProPlanSubheading.test.tsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/ProPlanSubheading/ProPlanSubheading.test.tsx
index a72f193d07..4185bc53fa 100644
--- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/ProPlanSubheading/ProPlanSubheading.test.tsx
+++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/FreePlanCard/ProPlanSubheading/ProPlanSubheading.test.tsx
@@ -25,6 +25,7 @@ const mockResponse = {
hasSeatsLeft: true,
isEnterprisePlan: false,
isFreePlan: true,
+ isTeamPlan: false,
}
const server = setupServer()
diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.test.tsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.test.tsx
index 264de4aca5..27b39f8b96 100644
--- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.test.tsx
+++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.test.tsx
@@ -30,6 +30,7 @@ vi.mock('shared/plan/ScheduledPlanDetails', () => ({
const mockProPlan = {
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
marketingName: 'Pro',
value: Plans.USERS_PR_INAPPM,
billingRate: BillingRate.MONTHLY,
@@ -48,6 +49,7 @@ const mockProPlan = {
const mockTeamPlan = {
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: true,
marketingName: 'Team',
value: Plans.USERS_TEAMM,
billingRate: BillingRate.MONTHLY,
diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx
index 608296ef86..464d7506e9 100644
--- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx
+++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx
@@ -6,7 +6,6 @@ import { PlanPageDataQueryOpts } from 'pages/PlanPage/queries/PlanPageDataQueryO
import { useAccountDetails, usePlanData } from 'services/account'
import BenefitList from 'shared/plan/BenefitList'
import ScheduledPlanDetails from 'shared/plan/ScheduledPlanDetails'
-import { isTeamPlan } from 'shared/utils/billing'
import ActionsBilling from '../shared/ActionsBilling/ActionsBilling'
import PlanPricing from '../shared/PlanPricing'
@@ -75,7 +74,7 @@ function PaidPlanCard() {
) : null}
- {isNumber(numberOfUploads) && isTeamPlan(plan?.value) ? (
+ {isNumber(numberOfUploads) && plan?.isTeamPlan ? (
Private repo uploads
diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/shared/ActionsBilling/ActionsBilling.test.jsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/shared/ActionsBilling/ActionsBilling.test.jsx
index b2dc04935a..74e6e6ac2f 100644
--- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/shared/ActionsBilling/ActionsBilling.test.jsx
+++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/shared/ActionsBilling/ActionsBilling.test.jsx
@@ -229,6 +229,9 @@ describe('Actions Billing', () => {
...trialPlanData.plan,
value: accountDetails.plan.value,
isFreePlan: accountDetails.plan.value === Plans.USERS_BASIC,
+ isTeamPlan:
+ accountDetails.plan.value === Plans.USERS_TEAMM ||
+ accountDetails.plan.value === Plans.USERS_TEAMY,
},
hasPrivateRepos,
},
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/ProPlanDetails/ProPlanDetails.test.jsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/ProPlanDetails/ProPlanDetails.test.jsx
index 229533ca82..90203d39d8 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/ProPlanDetails/ProPlanDetails.test.jsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/ProPlanDetails/ProPlanDetails.test.jsx
@@ -187,6 +187,7 @@ describe('ProPlanDetails', () => {
plan: {
...mockPlanData,
isFreePlan: !isProPlan && !isSentryPlan,
+ isTeamPlan: false,
trialStatus: isOngoingTrial
? TrialStatuses.ONGOING
: TrialStatuses.CANNOT_TRIAL,
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/SentryPlanDetails/SentryPlanDetails.test.jsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/SentryPlanDetails/SentryPlanDetails.test.jsx
index f9ac5c13af..a4d9d77d15 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/SentryPlanDetails/SentryPlanDetails.test.jsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/SentryPlanDetails/SentryPlanDetails.test.jsx
@@ -180,6 +180,7 @@ describe('SentryPlanDetails', () => {
plan: {
...mockPlanData,
isFreePlan: !isProPlan,
+ isTeamPlan: false,
trialStatus: isOngoingTrial
? TrialStatuses.ONGOING
: TrialStatuses.CANNOT_TRIAL,
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/TeamPlanDetails/TeamPlanDetails.test.jsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/TeamPlanDetails/TeamPlanDetails.test.jsx
index ba6c2b382b..99ff51afc6 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/TeamPlanDetails/TeamPlanDetails.test.jsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/TeamPlanDetails/TeamPlanDetails.test.jsx
@@ -93,6 +93,7 @@ const mockPlanData = {
hasSeatsLeft: true,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
const server = setupServer()
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/UpgradeDetails.tsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/UpgradeDetails.tsx
index 38ad1ab217..eb762823f5 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/UpgradeDetails.tsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeDetails/UpgradeDetails.tsx
@@ -1,5 +1,5 @@
import { IndividualPlan } from 'services/account'
-import { isSentryPlan, isTeamPlan } from 'shared/utils/billing'
+import { isSentryPlan, Plans } from 'shared/utils/billing'
import ProPlanDetails from './ProPlanDetails'
import SentryPlanDetails from './SentryPlanDetails'
@@ -8,7 +8,10 @@ import TeamPlanDetails from './TeamPlanDetails'
function UpgradeDetails({ selectedPlan }: { selectedPlan: IndividualPlan }) {
if (isSentryPlan(selectedPlan.value)) {
return
- } else if (isTeamPlan(selectedPlan.value)) {
+ } else if (
+ selectedPlan?.value === Plans.USERS_TEAMM ||
+ selectedPlan?.value === Plans.USERS_TEAMY
+ ) {
return
} else {
return
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/Controllers/Controller.tsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/Controllers/Controller.tsx
index 6be352a220..5153407e3c 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/Controllers/Controller.tsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/Controllers/Controller.tsx
@@ -1,7 +1,7 @@
import { UseFormRegister, UseFormSetValue } from 'react-hook-form'
import { IndividualPlan } from 'services/account'
-import { isSentryPlan, isTeamPlan } from 'shared/utils/billing'
+import { isSentryPlan, Plans } from 'shared/utils/billing'
import ProPlanController from './ProPlanController'
import SentryPlanController from './SentryPlanController'
@@ -30,7 +30,10 @@ const Controller: React.FC = ({
setFormValue,
setSelectedPlan,
}) => {
- if (isTeamPlan(newPlan?.value)) {
+ if (
+ newPlan?.value === Plans.USERS_TEAMM ||
+ newPlan?.value === Plans.USERS_TEAMY
+ ) {
return (
{
planUserCount: 1,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
if (planValue === Plans.USERS_BASIC) {
return HttpResponse.json({
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/Controllers/TeamPlanController/TeamPlanController.test.tsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/Controllers/TeamPlanController/TeamPlanController.test.tsx
index 60c90674ae..3bf310d89e 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/Controllers/TeamPlanController/TeamPlanController.test.tsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/Controllers/TeamPlanController/TeamPlanController.test.tsx
@@ -115,6 +115,7 @@ const mockPlanDataResponseMonthly = {
hasSeatsLeft: true,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
const mockPlanDataResponseYearly = {
@@ -133,6 +134,7 @@ const mockPlanDataResponseYearly = {
hasSeatsLeft: true,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
const queryClient = new QueryClient({
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/PlanTypeOptions/PlanTypeOptions.test.tsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/PlanTypeOptions/PlanTypeOptions.test.tsx
index 35fdb7a469..2247191841 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/PlanTypeOptions/PlanTypeOptions.test.tsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/PlanTypeOptions/PlanTypeOptions.test.tsx
@@ -189,6 +189,7 @@ describe('PlanTypeOptions', () => {
planUserCount: 1,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
if (planValue === Plans.USERS_BASIC) {
return HttpResponse.json({
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/PlanTypeOptions/PlanTypeOptions.tsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/PlanTypeOptions/PlanTypeOptions.tsx
index 4eb4a7b8b2..20b2fd42f3 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/PlanTypeOptions/PlanTypeOptions.tsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/PlanTypeOptions/PlanTypeOptions.tsx
@@ -14,7 +14,7 @@ import {
findProPlans,
findSentryPlans,
findTeamPlans,
- isTeamPlan,
+ Plans,
shouldDisplayTeamCard,
} from 'shared/utils/billing'
import { TEAM_PLAN_MAX_ACTIVE_USERS } from 'shared/utils/upgradeForm'
@@ -55,13 +55,13 @@ const PlanTypeOptions: React.FC = ({
const yearlyProPlan = isSentryUpgrade ? sentryPlanYear : proPlanYear
const monthlyProPlan = isSentryUpgrade ? sentryPlanMonth : proPlanMonth
- const currentFormValue = newPlan?.value
const monthlyPlan = newPlan?.billingRate === BillingRate.MONTHLY
let planOption = null
if (
(hasTeamPlans && planParam === TierNames.TEAM) ||
- isTeamPlan(currentFormValue)
+ newPlan?.value === Plans.USERS_TEAMM ||
+ newPlan?.value === Plans.USERS_TEAMY
) {
planOption = TierName.TEAM
} else {
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpdateBlurb/UpdateBlurb.test.tsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpdateBlurb/UpdateBlurb.test.tsx
index 944652bceb..5e83536115 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpdateBlurb/UpdateBlurb.test.tsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpdateBlurb/UpdateBlurb.test.tsx
@@ -16,6 +16,7 @@ const planChunk = {
planUserCount: 2,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: true,
hasSeatsLeft: true,
}
@@ -31,6 +32,7 @@ const proPlanYear = {
'Priority Support',
],
monthlyUploadLimit: null,
+ isTeamPlan: false,
}
const teamPlanYear = {
@@ -40,6 +42,7 @@ const teamPlanYear = {
marketingName: 'Users Team',
monthlyUploadLimit: 2500,
value: Plans.USERS_TEAMY,
+ isTeamPlan: true,
}
const teamPlanMonth = {
@@ -49,6 +52,7 @@ const teamPlanMonth = {
marketingName: 'Users Team',
monthlyUploadLimit: 2500,
value: Plans.USERS_TEAMM,
+ isTeamPlan: true,
}
const freePlan = {
@@ -58,6 +62,7 @@ const freePlan = {
marketingName: 'Users Team',
monthlyUploadLimit: 2500,
value: Plans.USERS_BASIC,
+ isTeamPlan: false,
}
type WrapperClosure = (
@@ -256,7 +261,12 @@ describe('UpdateBlurb', () => {
it('renders next billing cycle blurb', async () => {
render(
{
const currentIsFree = currentPlan?.isFreePlan
- const currentIsTeam = isTeamPlan(currentPlan?.value)
- const selectedIsTeam = isTeamPlan(newPlan?.value)
+ const currentIsTeam = currentPlan?.isTeamPlan
+ const selectedIsTeam =
+ newPlan?.value === Plans.USERS_TEAMM || newPlan?.value === Plans.USERS_TEAMY
const diffPlanType = currentIsFree || currentIsTeam !== selectedIsTeam
const currentIsAnnual = currentPlan?.billingRate === BillingRate.ANNUALLY
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpdateButton/UpdateButton.test.tsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpdateButton/UpdateButton.test.tsx
index 6ab9260d44..8d5e4954fa 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpdateButton/UpdateButton.test.tsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpdateButton/UpdateButton.test.tsx
@@ -90,6 +90,7 @@ const mockPlanBasic = {
hasSeatsLeft: true,
planUserCount: 1,
isFreePlan: true,
+ isTeamPlan: false,
}
const mockPlanProMonthly = {
@@ -102,6 +103,7 @@ const mockPlanProMonthly = {
hasSeatsLeft: true,
planUserCount: 4,
isFreePlan: false,
+ isTeamPlan: false,
}
const mockPlanTeamMonthly = {
@@ -114,6 +116,7 @@ const mockPlanTeamMonthly = {
hasSeatsLeft: true,
planUserCount: 3,
isFreePlan: false,
+ isTeamPlan: true,
}
interface SetupArgs {
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpgradeForm.test.tsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpgradeForm.test.tsx
index f986776a72..4a9b1ff9e3 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpgradeForm.test.tsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpgradeForm.test.tsx
@@ -351,6 +351,9 @@ describe('UpgradeForm', () => {
: BillingRate.ANNUALLY,
isFreePlan: planValue === Plans.USERS_BASIC,
isEnterprisePlan: false,
+ isTeamPlan:
+ planValue === Plans.USERS_TEAMM ||
+ planValue === Plans.USERS_TEAMY,
value: planValue,
planUserCount,
},
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpgradeForm.tsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpgradeForm.tsx
index 89cc6f6bf1..08f60b1128 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpgradeForm.tsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpgradeForm.tsx
@@ -12,7 +12,7 @@ import {
import {
canApplySentryUpgrade,
getNextBillingDate,
- isTeamPlan,
+ Plans,
} from 'shared/utils/billing'
import {
getDefaultValuesUpgradeForm,
@@ -53,7 +53,9 @@ function UpgradeForm({ selectedPlan, setSelectedPlan }: UpgradeFormProps) {
plans,
})
const minSeats =
- isSentryUpgrade && !isTeamPlan(selectedPlan?.value)
+ isSentryUpgrade &&
+ selectedPlan?.value !== Plans.USERS_TEAMM &&
+ selectedPlan?.value !== Plans.USERS_TEAMY
? MIN_SENTRY_SEATS
: MIN_NB_SEATS_PRO
@@ -79,7 +81,7 @@ function UpgradeForm({ selectedPlan, setSelectedPlan }: UpgradeFormProps) {
minSeats,
trialStatus,
selectedPlan,
- planName: planData?.plan?.value,
+ plan: planData?.plan,
})
),
mode: 'onChange',
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradePlanPage.jsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradePlanPage.jsx
index a0eb1dc3d3..bb76b3c928 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradePlanPage.jsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradePlanPage.jsx
@@ -8,7 +8,6 @@ import {
findProPlans,
findSentryPlans,
findTeamPlans,
- isTeamPlan,
shouldDisplayTeamCard,
} from 'shared/utils/billing'
@@ -38,7 +37,7 @@ function UpgradePlanPage() {
let defaultPaidYearlyPlan = null
if (
(hasTeamPlans && planParam === TierNames.TEAM) ||
- isTeamPlan(planData?.plan?.value)
+ planData?.plan?.isTeamPlan
) {
defaultPaidYearlyPlan = teamPlanYear
} else if (isSentryUpgrade) {
diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradePlanPage.test.jsx b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradePlanPage.test.jsx
index b25413a66e..75f376c13f 100644
--- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradePlanPage.test.jsx
+++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradePlanPage.test.jsx
@@ -210,6 +210,9 @@ describe('UpgradePlanPage', () => {
plan: {
...mockPlanData,
isEnterprisePlan: planValue === Plans.USERS_ENTERPRISEM,
+ isTeamPlan:
+ planValue === Plans.USERS_TEAMM ||
+ planValue === Plans.USERS_TEAMY,
isFreePlan: planValue === Plans.USERS_BASIC,
value: planValue,
},
diff --git a/src/pages/RepoPage/ActivationAlert/ActivationAlert.test.tsx b/src/pages/RepoPage/ActivationAlert/ActivationAlert.test.tsx
index 52c7a16241..29ad7c1bc7 100644
--- a/src/pages/RepoPage/ActivationAlert/ActivationAlert.test.tsx
+++ b/src/pages/RepoPage/ActivationAlert/ActivationAlert.test.tsx
@@ -86,6 +86,8 @@ describe('ActivationAlert', () => {
value,
hasSeatsLeft,
isFreePlan: value === Plans.USERS_BASIC,
+ isTeamPlan:
+ value === Plans.USERS_TEAMM || value === Plans.USERS_TEAMY,
},
pretrialPlan: {
baseUnitPrice: 10,
diff --git a/src/pages/RepoPage/CoverageOnboarding/ActivationBanner/ActivationBanner.test.tsx b/src/pages/RepoPage/CoverageOnboarding/ActivationBanner/ActivationBanner.test.tsx
index 5b66fa7ba2..c9c2d81d30 100644
--- a/src/pages/RepoPage/CoverageOnboarding/ActivationBanner/ActivationBanner.test.tsx
+++ b/src/pages/RepoPage/CoverageOnboarding/ActivationBanner/ActivationBanner.test.tsx
@@ -88,6 +88,8 @@ describe('ActivationBanner', () => {
value,
hasSeatsLeft,
isFreePlan: value === Plans.USERS_BASIC,
+ isTeamPlan:
+ value === Plans.USERS_TEAMM || value === Plans.USERS_TEAMY,
},
pretrialPlan: {
baseUnitPrice: 10,
diff --git a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/FailedTestsTable/FailedTestsTable.test.tsx b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/FailedTestsTable/FailedTestsTable.test.tsx
index a5de0da63b..c65495e60c 100644
--- a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/FailedTestsTable/FailedTestsTable.test.tsx
+++ b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/FailedTestsTable/FailedTestsTable.test.tsx
@@ -161,6 +161,9 @@ describe('FailedTestsTable', () => {
plan: {
value: planValue,
isFreePlan: planValue === Plans.USERS_BASIC,
+ isTeamPlan:
+ planValue === Plans.USERS_TEAMM ||
+ planValue === Plans.USERS_TEAMY,
},
repository: {
__typename: 'Repository',
@@ -188,6 +191,9 @@ describe('FailedTestsTable', () => {
plan: {
value: planValue,
isFreePlan: planValue === Plans.USERS_BASIC,
+ isTeamPlan:
+ planValue === Plans.USERS_TEAMM ||
+ planValue === Plans.USERS_TEAMY,
},
repository: {
__typename: 'Repository',
diff --git a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/FailedTestsTable/FailedTestsTable.tsx b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/FailedTestsTable/FailedTestsTable.tsx
index 04a92b059d..f4cd9c0e51 100644
--- a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/FailedTestsTable/FailedTestsTable.tsx
+++ b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/FailedTestsTable/FailedTestsTable.tsx
@@ -15,7 +15,6 @@ import { useInView } from 'react-intersection-observer'
import { useLocation, useParams } from 'react-router-dom'
import { MeasurementInterval } from 'pages/RepoPage/shared/constants'
-import { isTeamPlan } from 'shared/utils/billing'
import { formatTimeToNow } from 'shared/utils/dates'
import Icon from 'ui/Icon'
import Spinner from 'ui/Spinner'
@@ -229,8 +228,7 @@ const FailedTestsTable = () => {
})
const isDefaultBranch = testData?.defaultBranch === branch
- const isTeamOrFreePlan =
- isTeamPlan(testData?.planName) || testData?.isFreePlan
+ const isTeamOrFreePlan = testData?.isTeamPlan || testData?.isFreePlan
// Only show flake rate column when on default branch for pro / enterprise plans or public repos
const hideFlakeRate =
(isTeamOrFreePlan && testData?.private) || (!!branch && !isDefaultBranch)
diff --git a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/MetricsSection/MetricsSection.test.tsx b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/MetricsSection/MetricsSection.test.tsx
index ceadd72eb9..61f994de47 100644
--- a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/MetricsSection/MetricsSection.test.tsx
+++ b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/MetricsSection/MetricsSection.test.tsx
@@ -20,6 +20,8 @@ const mockAggResponse = (
plan: {
value: planValue,
isFreePlan: planValue === Plans.USERS_BASIC,
+ isTeamPlan:
+ planValue === Plans.USERS_TEAMM || planValue === Plans.USERS_TEAMY,
},
repository: {
__typename: 'Repository',
diff --git a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/MetricsSection/MetricsSection.tsx b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/MetricsSection/MetricsSection.tsx
index 8719423375..63fb141253 100644
--- a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/MetricsSection/MetricsSection.tsx
+++ b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/MetricsSection/MetricsSection.tsx
@@ -3,7 +3,6 @@ import { useLocation, useParams } from 'react-router-dom'
import { MeasurementInterval } from 'pages/RepoPage/shared/constants'
import { useLocationParams } from 'services/navigation'
-import { isTeamPlan } from 'shared/utils/billing'
import { cn } from 'shared/utils/cn'
import { formatTimeFromSeconds } from 'shared/utils/dates'
import Badge from 'ui/Badge'
@@ -369,8 +368,7 @@ function MetricsSection() {
interval: queryParams?.historicalTrend as MeasurementInterval,
})
const disabledFlakeAggregates =
- (isTeamPlan(testResults?.planName) || testResults?.isFreePlan) &&
- testResults?.private
+ (testResults?.isTeamPlan || testResults?.isFreePlan) && testResults?.private
const { data: flakeAggregates } = useFlakeAggregates({
interval: queryParams?.historicalTrend as MeasurementInterval,
opts: {
diff --git a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useInfiniteTestResults/useInfiniteTestResults.test.tsx b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useInfiniteTestResults/useInfiniteTestResults.test.tsx
index 133f074754..11110b967e 100644
--- a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useInfiniteTestResults/useInfiniteTestResults.test.tsx
+++ b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useInfiniteTestResults/useInfiniteTestResults.test.tsx
@@ -12,6 +12,7 @@ const mockTestResults = {
plan: {
value: Plans.USERS_ENTERPRISEM,
isFreePlan: false,
+ isTeamPlan: false,
},
repository: {
__typename: 'Repository',
@@ -84,6 +85,7 @@ const mockNotFoundError = {
plan: {
value: Plans.USERS_ENTERPRISEM,
isFreePlan: false,
+ isTeamPlan: false,
},
},
}
@@ -93,6 +95,7 @@ const mockOwnerNotActivatedError = {
plan: {
value: Plans.USERS_ENTERPRISEM,
isFreePlan: false,
+ isTeamPlan: false,
},
repository: {
__typename: 'OwnerNotActivatedError',
diff --git a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useInfiniteTestResults/useInfiniteTestResults.tsx b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useInfiniteTestResults/useInfiniteTestResults.tsx
index 296c23c64b..0d83c380c3 100644
--- a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useInfiniteTestResults/useInfiniteTestResults.tsx
+++ b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useInfiniteTestResults/useInfiniteTestResults.tsx
@@ -66,6 +66,7 @@ const GetTestResultsSchema = z.object({
.object({
value: z.nativeEnum(Plans),
isFreePlan: z.boolean(),
+ isTeamPlan: z.boolean(),
})
.nullable(),
repository: z.discriminatedUnion('__typename', [
@@ -113,6 +114,7 @@ query GetTestResults(
plan {
value
isFreePlan
+ isTeamPlan
}
repository: repository(name: $repo) {
__typename
@@ -188,6 +190,7 @@ interface UseTestResultsArgs {
defaultBranch: string | null
totalCount: number | null
isFirstPullRequest: boolean | null
+ isTeamPlan: boolean | null
}>
}
@@ -286,6 +289,7 @@ export const useInfiniteTestResults = ({
private: data?.owner?.repository?.private ?? null,
planName: data?.owner?.plan?.value ?? null,
isFreePlan: data?.owner?.plan?.isFreePlan ?? false,
+ isTeamPlan: data?.owner?.plan?.isTeamPlan ?? false,
defaultBranch: data?.owner?.repository?.defaultBranch ?? null,
isFirstPullRequest:
data?.owner?.repository?.isFirstPullRequest ?? null,
@@ -311,6 +315,7 @@ export const useInfiniteTestResults = ({
private: data?.pages?.[0]?.private ?? null,
planName: data?.pages?.[0]?.planName ?? null,
isFreePlan: data?.pages?.[0]?.isFreePlan ?? false,
+ isTeamPlan: data?.pages?.[0]?.isTeamPlan ?? false,
defaultBranch: data?.pages?.[0]?.defaultBranch ?? null,
isFirstPullRequest: data?.pages?.[0]?.isFirstPullRequest ?? null,
},
diff --git a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useTestResultsAggregates/useTestResultsAggregates.tsx b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useTestResultsAggregates/useTestResultsAggregates.tsx
index 2b739cb161..6ec97a72e4 100644
--- a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useTestResultsAggregates/useTestResultsAggregates.tsx
+++ b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useTestResultsAggregates/useTestResultsAggregates.tsx
@@ -15,6 +15,7 @@ const TestResultsAggregatesSchema = z.object({
.object({
value: z.nativeEnum(Plans),
isFreePlan: z.boolean(),
+ isTeamPlan: z.boolean(),
})
.nullable(),
repository: z.discriminatedUnion('__typename', [
@@ -57,6 +58,7 @@ const query = `
plan {
value
isFreePlan
+ isTeamPlan
}
repository: repository(name: $repo) {
__typename
@@ -139,6 +141,7 @@ export const useTestResultsAggregates = ({
data?.owner?.repository?.testAnalytics?.testResultsAggregates,
planName: data?.owner?.plan?.value,
isFreePlan: data?.owner?.plan?.isFreePlan,
+ isTeamPlan: data?.owner?.plan?.isTeamPlan,
private: data?.owner?.repository?.private,
defaultBranch: data?.owner?.repository?.defaultBranch,
}
diff --git a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useTestResultsAggregates/useTestsResultsAggregates.test.tsx b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useTestResultsAggregates/useTestsResultsAggregates.test.tsx
index af50716113..5312b1586d 100644
--- a/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useTestResultsAggregates/useTestsResultsAggregates.test.tsx
+++ b/src/pages/RepoPage/FailedTestsTab/FailedTestsPage/hooks/useTestResultsAggregates/useTestsResultsAggregates.test.tsx
@@ -56,6 +56,7 @@ const mockIncorrectResponse = {
plan: {
value: Plans.USERS_BASIC,
isFreePlan: true,
+ isTeamPlan: false,
},
},
}
@@ -65,6 +66,7 @@ const mockResponse = {
plan: {
value: Plans.USERS_BASIC,
isFreePlan: true,
+ isTeamPlan: false,
},
repository: {
__typename: 'Repository',
@@ -132,6 +134,7 @@ describe('useTestResultsAggregates', () => {
},
planName: 'users-basic',
isFreePlan: true,
+ isTeamPlan: false,
private: true,
defaultBranch: 'main',
})
diff --git a/src/services/account/usePlanData.test.tsx b/src/services/account/usePlanData.test.tsx
index 9f970e9d64..1fba972982 100644
--- a/src/services/account/usePlanData.test.tsx
+++ b/src/services/account/usePlanData.test.tsx
@@ -25,6 +25,7 @@ const mockTrialData = {
hasSeatsLeft: true,
isEnterprisePlan: false,
isFreePlan: true,
+ isTeamPlan: false,
},
pretrialPlan: {
baseUnitPrice: 10,
@@ -91,6 +92,7 @@ describe('usePlanData', () => {
hasSeatsLeft: true,
isEnterprisePlan: false,
isFreePlan: true,
+ isTeamPlan: false,
marketingName: 'Users Basic',
monthlyUploadLimit: 250,
planUserCount: 1,
diff --git a/src/services/account/usePlanData.ts b/src/services/account/usePlanData.ts
index f484e1d5cc..3068df0436 100644
--- a/src/services/account/usePlanData.ts
+++ b/src/services/account/usePlanData.ts
@@ -29,6 +29,7 @@ const PlanSchema = z.object({
hasSeatsLeft: z.boolean(),
isEnterprisePlan: z.boolean(),
isFreePlan: z.boolean(),
+ isTeamPlan: z.boolean(),
})
export type Plan = z.infer
@@ -84,6 +85,7 @@ export const query = `
hasSeatsLeft
isEnterprisePlan
isFreePlan
+ isTeamPlan
}
pretrialPlan {
baseUnitPrice
diff --git a/src/shared/GlobalTopBanners/TrialBanner/TrialBanner.test.tsx b/src/shared/GlobalTopBanners/TrialBanner/TrialBanner.test.tsx
index 234e1f98a0..cda1eaada5 100644
--- a/src/shared/GlobalTopBanners/TrialBanner/TrialBanner.test.tsx
+++ b/src/shared/GlobalTopBanners/TrialBanner/TrialBanner.test.tsx
@@ -32,6 +32,7 @@ const proPlanMonth = {
planUserCount: 1,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
const trialPlan = {
@@ -51,6 +52,7 @@ const trialPlan = {
planUserCount: 1,
isEnterprisePlan: false,
isFreePlan: false,
+ isTeamPlan: false,
}
const basicPlan = {
@@ -69,6 +71,7 @@ const basicPlan = {
pretrialUsersCount: 0,
planUserCount: 1,
isFreePlan: true,
+ isTeamPlan: false,
}
const queryClient = new QueryClient()
@@ -157,6 +160,7 @@ describe('TrialBanner', () => {
hasSeatsLeft: true,
isEnterprisePlan: plan.isEnterprisePlan,
isFreePlan: plan.isFreePlan,
+ isTeamPlan: false,
},
},
},
diff --git a/src/shared/utils/billing.test.ts b/src/shared/utils/billing.test.ts
index 0ddd03415c..ed18adf21f 100644
--- a/src/shared/utils/billing.test.ts
+++ b/src/shared/utils/billing.test.ts
@@ -15,7 +15,6 @@ import {
isCodecovProPlan,
isProPlan,
isSentryPlan,
- isTeamPlan,
isTrialPlan,
lastTwoDigits,
Plans,
@@ -507,21 +506,6 @@ describe('isBasicPlan', () => {
})
})
-describe('isTeamPlan', () => {
- it('returns true when plan is team monthly or yearly', () => {
- expect(isTeamPlan(Plans.USERS_TEAMM)).toBeTruthy()
- expect(isTeamPlan(Plans.USERS_TEAMY)).toBeTruthy()
- })
-
- it('returns false when plan is not team monthly or yearly', () => {
- expect(isTeamPlan(Plans.USERS_FREE)).toBeFalsy()
- expect(isTeamPlan(Plans.USERS_BASIC)).toBeFalsy()
- expect(isTeamPlan(Plans.USERS_INAPP)).toBeFalsy()
- expect(isTeamPlan(Plans.USERS_ENTERPRISEM)).toBeFalsy()
- expect(isTeamPlan(Plans.USERS_SENTRYM)).toBeFalsy()
- })
-})
-
describe('isTrialPlan', () => {
it('returns true when plan is trial', () => {
expect(isTrialPlan(Plans.USERS_TRIAL)).toBeTruthy()
diff --git a/src/shared/utils/billing.ts b/src/shared/utils/billing.ts
index 160ffb56b8..26a6725105 100644
--- a/src/shared/utils/billing.ts
+++ b/src/shared/utils/billing.ts
@@ -50,14 +50,9 @@ export interface Plan {
hasSeatsLeft: boolean
isEnterprisePlan: boolean
isFreePlan: boolean
+ isTeamPlan: boolean
}
-export function isTeamPlan(plan?: PlanName | null) {
- if (isString(plan)) {
- if (plan === Plans.USERS_TEAMM || plan === Plans.USERS_TEAMY) return true
- }
- return false
-}
export function isBasicPlan(plan?: PlanName) {
if (isString(plan)) {
return plan === Plans.USERS_BASIC
diff --git a/src/shared/utils/upgradeForm.test.ts b/src/shared/utils/upgradeForm.test.ts
index c2dbbf7841..da646fe8b9 100644
--- a/src/shared/utils/upgradeForm.test.ts
+++ b/src/shared/utils/upgradeForm.test.ts
@@ -155,6 +155,7 @@ describe('getDefaultValuesUpgradeForm', () => {
billingRate: BillingRate.MONTHLY,
value: Plans.USERS_TEAMM,
planUserCount: 1,
+ isTeamPlan: true,
} as Plan,
})
@@ -173,6 +174,7 @@ describe('getDefaultValuesUpgradeForm', () => {
billingRate: BillingRate.MONTHLY,
value: Plans.USERS_SENTRYY,
planUserCount: 1,
+ isTeamPlan: false,
} as Plan,
})
@@ -181,6 +183,7 @@ describe('getDefaultValuesUpgradeForm', () => {
billingRate: BillingRate.MONTHLY,
value: Plans.USERS_SENTRYY,
planUserCount: 1,
+ isTeamPlan: false,
},
seats: 5,
})
diff --git a/src/shared/utils/upgradeForm.ts b/src/shared/utils/upgradeForm.ts
index dad140c865..1d4e8072be 100644
--- a/src/shared/utils/upgradeForm.ts
+++ b/src/shared/utils/upgradeForm.ts
@@ -14,7 +14,6 @@ import {
findSentryPlans,
findTeamPlans,
isSentryPlan,
- isTeamPlan,
isTrialPlan,
Plan,
PlanName,
@@ -64,13 +63,13 @@ export const getSchema = ({
minSeats = 1,
trialStatus,
selectedPlan,
- planName,
+ plan,
}: {
accountDetails?: z.infer
minSeats?: number
trialStatus?: TrialStatus
selectedPlan?: IndividualPlan
- planName?: PlanName
+ plan?: Plan | null
}) =>
z.object({
seats: z.coerce
@@ -84,7 +83,8 @@ export const getSchema = ({
})
.transform((val, ctx) => {
if (
- isTeamPlan(selectedPlan?.value) &&
+ (selectedPlan?.value === Plans.USERS_TEAMM ||
+ selectedPlan?.value === Plans.USERS_TEAMY) &&
val > TEAM_PLAN_MAX_ACTIVE_USERS
) {
ctx.addIssue({
@@ -95,7 +95,7 @@ export const getSchema = ({
if (
trialStatus === TrialStatuses.ONGOING &&
- planName === Plans.USERS_TRIAL
+ plan?.value === Plans.USERS_TRIAL
) {
return val
}
@@ -243,7 +243,11 @@ export const getDefaultValuesUpgradeForm = ({
let newPlan = proPlanYear
if (isSentryUpgrade && !isSentryPlan(plan?.value)) {
newPlan = isMonthlyPlan ? sentryPlanMonth : sentryPlanYear
- } else if (isTeamPlan(plan?.value) || isTeamPlan(selectedPlan?.value)) {
+ } else if (
+ plan?.isTeamPlan ||
+ selectedPlan?.value === Plans.USERS_TEAMM ||
+ selectedPlan?.value === Plans.USERS_TEAMY
+ ) {
newPlan = isMonthlyPlan ? teamPlanMonth : teamPlanYear
} else if (isPaidPlan) {
newPlan = plan