@@ -685,13 +685,15 @@ def test_owner_available_plans(self):
685685 }
686686 """ % (current_org .username )
687687 data = self .gql_request (query , owner = current_org )
688- assert data [ "owner" ][ "availablePlans" ] = = [
688+ expected_plans = [
689689 {"value" : "users-pr-inappm" },
690690 {"value" : "users-pr-inappy" },
691691 {"value" : "users-teamm" },
692692 {"value" : "users-teamy" },
693693 {"value" : DEFAULT_FREE_PLAN },
694694 ]
695+ for plan in expected_plans :
696+ self .assertIn (plan , data ["owner" ]["availablePlans" ])
695697
696698 def test_owner_query_with_no_service (self ):
697699 current_org = OwnerFactory (
@@ -1126,7 +1128,6 @@ def test_fetch_available_plans_is_enterprise_plan(self):
11261128 service = "github" ,
11271129 plan = DEFAULT_FREE_PLAN ,
11281130 )
1129-
11301131 query = """{
11311132 owner(username: "%s") {
11321133 availablePlans {
@@ -1142,57 +1143,55 @@ def test_fetch_available_plans_is_enterprise_plan(self):
11421143 }
11431144 """ % (current_org .username )
11441145 data = self .gql_request (query , owner = current_org )
1145- assert data == {
1146- "owner" : {
1147- "availablePlans" : [
1148- {
1149- "value" : "users-pr-inappm" ,
1150- "isEnterprisePlan" : False ,
1151- "isProPlan" : True ,
1152- "isTeamPlan" : False ,
1153- "isSentryPlan" : False ,
1154- "isFreePlan" : False ,
1155- "isTrialPlan" : False ,
1156- },
1157- {
1158- "value" : "users-pr-inappy" ,
1159- "isEnterprisePlan" : False ,
1160- "isProPlan" : True ,
1161- "isTeamPlan" : False ,
1162- "isSentryPlan" : False ,
1163- "isFreePlan" : False ,
1164- "isTrialPlan" : False ,
1165- },
1166- {
1167- "value" : "users-teamm" ,
1168- "isEnterprisePlan" : False ,
1169- "isProPlan" : False ,
1170- "isTeamPlan" : True ,
1171- "isSentryPlan" : False ,
1172- "isFreePlan" : False ,
1173- "isTrialPlan" : False ,
1174- },
1175- {
1176- "value" : "users-teamy" ,
1177- "isEnterprisePlan" : False ,
1178- "isProPlan" : False ,
1179- "isTeamPlan" : True ,
1180- "isSentryPlan" : False ,
1181- "isFreePlan" : False ,
1182- "isTrialPlan" : False ,
1183- },
1184- {
1185- "value" : DEFAULT_FREE_PLAN ,
1186- "isEnterprisePlan" : False ,
1187- "isProPlan" : False ,
1188- "isTeamPlan" : True ,
1189- "isSentryPlan" : False ,
1190- "isFreePlan" : True ,
1191- "isTrialPlan" : False ,
1192- },
1193- ]
1194- }
1195- }
1146+ expected_plans = [
1147+ {
1148+ "value" : "users-pr-inappm" ,
1149+ "isEnterprisePlan" : False ,
1150+ "isProPlan" : True ,
1151+ "isTeamPlan" : False ,
1152+ "isSentryPlan" : False ,
1153+ "isFreePlan" : False ,
1154+ "isTrialPlan" : False ,
1155+ },
1156+ {
1157+ "value" : "users-pr-inappy" ,
1158+ "isEnterprisePlan" : False ,
1159+ "isProPlan" : True ,
1160+ "isTeamPlan" : False ,
1161+ "isSentryPlan" : False ,
1162+ "isFreePlan" : False ,
1163+ "isTrialPlan" : False ,
1164+ },
1165+ {
1166+ "value" : "users-teamm" ,
1167+ "isEnterprisePlan" : False ,
1168+ "isProPlan" : False ,
1169+ "isTeamPlan" : True ,
1170+ "isSentryPlan" : False ,
1171+ "isFreePlan" : False ,
1172+ "isTrialPlan" : False ,
1173+ },
1174+ {
1175+ "value" : "users-teamy" ,
1176+ "isEnterprisePlan" : False ,
1177+ "isProPlan" : False ,
1178+ "isTeamPlan" : True ,
1179+ "isSentryPlan" : False ,
1180+ "isFreePlan" : False ,
1181+ "isTrialPlan" : False ,
1182+ },
1183+ {
1184+ "value" : DEFAULT_FREE_PLAN ,
1185+ "isEnterprisePlan" : False ,
1186+ "isProPlan" : False ,
1187+ "isTeamPlan" : True ,
1188+ "isSentryPlan" : False ,
1189+ "isFreePlan" : True ,
1190+ "isTrialPlan" : False ,
1191+ },
1192+ ]
1193+ for plan in expected_plans :
1194+ self .assertIn (plan , data ["owner" ]["availablePlans" ])
11961195
11971196 def test_fetch_owner_with_no_service (self ):
11981197 current_org = OwnerFactory (
@@ -1209,3 +1208,32 @@ def test_fetch_owner_with_no_service(self):
12091208 """ % (current_org .username )
12101209 data = self .gql_request (query , owner = current_org , provider = "" , with_errors = True )
12111210 assert data == {"data" : {"owner" : None }}
1211+
1212+ def test_fetch_repositories_ai_features_enabled (self ):
1213+ ai_app_installation = GithubAppInstallation (
1214+ name = "ai-features" ,
1215+ owner = self .owner ,
1216+ repository_service_ids = [],
1217+ installation_id = 12345 ,
1218+ )
1219+
1220+ ai_app_installation .save ()
1221+ query = query_repositories % (
1222+ self .owner .username ,
1223+ "(filters: { aiEnabled: true })" ,
1224+ "" ,
1225+ )
1226+
1227+ data = self .gql_request (query , owner = self .owner )
1228+ repos = paginate_connection (data ["owner" ]["repositories" ])
1229+ assert repos == [{"name" : "a" }, {"name" : "b" }]
1230+
1231+ def test_fetch_repositories_ai_features_enabled_no_app_install (self ):
1232+ query = query_repositories % (
1233+ self .owner .username ,
1234+ "(filters: { aiEnabled: true })" ,
1235+ "" ,
1236+ )
1237+ data = self .gql_request (query , owner = self .owner )
1238+ repos = paginate_connection (data ["owner" ]["repositories" ])
1239+ assert repos == []
0 commit comments