diff --git a/src/sentry/seer/code_review/permissions.py b/src/sentry/seer/code_review/permissions.py index 21ebe598cb6e31..3f567d93b5b10a 100644 --- a/src/sentry/seer/code_review/permissions.py +++ b/src/sentry/seer/code_review/permissions.py @@ -23,4 +23,8 @@ def has_code_review_enabled(organization: Organization) -> bool: if not pr_review_test_generation_enabled: return False - return features.has("organizations:code-review-beta", organization) + # TODO: Remove the pr_review_test_generation_enabled check after the beta list is frozen + return ( + features.has("organizations:code-review-beta", organization) + or pr_review_test_generation_enabled + ) diff --git a/tests/sentry/seer/code_review/test_webhooks.py b/tests/sentry/seer/code_review/test_webhooks.py index d18c7aaa18eeeb..0d42426354592f 100644 --- a/tests/sentry/seer/code_review/test_webhooks.py +++ b/tests/sentry/seer/code_review/test_webhooks.py @@ -181,16 +181,16 @@ def test_check_run_without_integration_returns_204(self) -> None: @patch("sentry.seer.code_review.webhooks.task.process_github_webhook_event") @with_feature({"organizations:gen-ai-features"}) - def test_check_run_skips_when_code_review_beta_flag_disabled( + def test_check_run_runs_when_code_review_beta_flag_disabled_but_pr_review_test_generation_enabled( self, mock_task: MagicMock ) -> None: - """Test that task is not enqueued when code-review-beta flag is off.""" + """Test that task is enqueued when code-review-beta flag is off but pr_review_test_generation is enabled.""" self._enable_code_review() self._send_webhook_event( GithubWebhookType.CHECK_RUN, CHECK_RUN_REREQUESTED_ACTION_EVENT_EXAMPLE, ) - mock_task.delay.assert_not_called() + mock_task.delay.assert_called_once() @patch("sentry.seer.code_review.utils.make_seer_request") @with_feature(CODE_REVIEW_FEATURES) @@ -733,6 +733,19 @@ def test_skips_when_no_review_command(self, mock_schedule: MagicMock) -> None: self._send_issue_comment_event(event) mock_schedule.assert_not_called() + @patch("sentry.seer.code_review.webhooks.task.schedule_task") + @with_feature({"organizations:gen-ai-features"}) + def test_runs_when_code_review_beta_flag_disabled_but_pr_review_test_generation_enabled( + self, mock_schedule: MagicMock + ) -> None: + with self.options( + {"organizations:code-review-beta": False, "github.webhook.issue-comment": False} + ): + self.organization.update_option("sentry:enable_pr_review_test_generation", True) + event = self._build_issue_comment_event(f"Please {SENTRY_REVIEW_COMMAND} this PR") + self._send_issue_comment_event(event) + mock_schedule.assert_called_once() + @patch("sentry.seer.code_review.webhooks.task.make_seer_request") @patch("sentry.integrations.github.client.GitHubApiClient.create_comment_reaction") @with_feature({"organizations:gen-ai-features", "organizations:code-review-beta"})