@@ -786,3 +786,96 @@ def test_sentry_user(self, is_sentry_user):
786786
787787 # Can not do Team plan when at 11 activated users
788788 assert self .plan_service .available_plans (owner = self .owner ) == expected_result
789+
790+
791+ class PlanServiceIs___PlanTests (TestCase ):
792+ def test_is_trial_plan (self ):
793+ self .current_org = OwnerFactory (
794+ plan = PlanName .TRIAL_PLAN_NAME .value ,
795+ trial_start_date = datetime .utcnow (),
796+ trial_end_date = datetime .utcnow () + timedelta (days = 14 ),
797+ trial_status = TrialStatus .ONGOING .value ,
798+ plan_user_count = 1000 ,
799+ plan_activated_users = None ,
800+ )
801+ self .owner = OwnerFactory ()
802+ self .plan_service = PlanService (current_org = self .current_org )
803+
804+ assert self .plan_service .is_trial_plan == True
805+ assert self .plan_service .is_sentry_plan == False
806+ assert self .plan_service .is_team_plan == False
807+ assert self .plan_service .is_free_plan == False
808+ assert self .plan_service .is_pro_plan == False
809+ assert self .plan_service .is_enterprise_plan == False
810+
811+ def test_is_team_plan (self ):
812+ self .current_org = OwnerFactory (
813+ plan = PlanName .TEAM_MONTHLY .value ,
814+ trial_status = TrialStatus .EXPIRED .value ,
815+ )
816+ self .owner = OwnerFactory ()
817+ self .plan_service = PlanService (current_org = self .current_org )
818+
819+ assert self .plan_service .is_trial_plan == False
820+ assert self .plan_service .is_sentry_plan == False
821+ assert self .plan_service .is_team_plan == True
822+ assert self .plan_service .is_free_plan == False
823+ assert self .plan_service .is_pro_plan == False
824+ assert self .plan_service .is_enterprise_plan == False
825+
826+ def test_is_sentry_plan (self ):
827+ self .current_org = OwnerFactory (
828+ plan = PlanName .SENTRY_MONTHLY .value ,
829+ trial_status = TrialStatus .EXPIRED .value ,
830+ )
831+ self .owner = OwnerFactory ()
832+ self .plan_service = PlanService (current_org = self .current_org )
833+
834+ assert self .plan_service .is_trial_plan == False
835+ assert self .plan_service .is_sentry_plan == True
836+ assert self .plan_service .is_team_plan == False
837+ assert self .plan_service .is_free_plan == False
838+ assert self .plan_service .is_pro_plan == True
839+ assert self .plan_service .is_enterprise_plan == False
840+
841+ def test_is_free_plan (self ):
842+ self .current_org = OwnerFactory (
843+ plan = PlanName .FREE_PLAN_NAME .value ,
844+ )
845+ self .owner = OwnerFactory ()
846+ self .plan_service = PlanService (current_org = self .current_org )
847+
848+ assert self .plan_service .is_trial_plan == False
849+ assert self .plan_service .is_sentry_plan == False
850+ assert self .plan_service .is_team_plan == False
851+ assert self .plan_service .is_free_plan == True
852+ assert self .plan_service .is_pro_plan == False
853+ assert self .plan_service .is_enterprise_plan == False
854+
855+ def test_is_pro_plan (self ):
856+ self .current_org = OwnerFactory (
857+ plan = PlanName .CODECOV_PRO_MONTHLY .value ,
858+ )
859+ self .owner = OwnerFactory ()
860+ self .plan_service = PlanService (current_org = self .current_org )
861+
862+ assert self .plan_service .is_trial_plan == False
863+ assert self .plan_service .is_sentry_plan == False
864+ assert self .plan_service .is_team_plan == False
865+ assert self .plan_service .is_free_plan == False
866+ assert self .plan_service .is_pro_plan == True
867+ assert self .plan_service .is_enterprise_plan == False
868+
869+ def test_is_enterprise_plan (self ):
870+ self .current_org = OwnerFactory (
871+ plan = PlanName .ENTERPRISE_CLOUD_YEARLY .value ,
872+ )
873+ self .owner = OwnerFactory ()
874+ self .plan_service = PlanService (current_org = self .current_org )
875+
876+ assert self .plan_service .is_trial_plan == False
877+ assert self .plan_service .is_sentry_plan == False
878+ assert self .plan_service .is_team_plan == False
879+ assert self .plan_service .is_free_plan == False
880+ assert self .plan_service .is_pro_plan == False
881+ assert self .plan_service .is_enterprise_plan == True
0 commit comments