From ca14f77f412c9bc9855dedc83e07e7f98d8cf421 Mon Sep 17 00:00:00 2001 From: obervinov Date: Tue, 30 Jun 2026 00:00:10 +0400 Subject: [PATCH] test: cover demo-mode block on revoked-token delete Parity with the existing demo-mode tests for token create/revoke. Co-Authored-By: Claude Opus 4.8 (1M context) --- app/apps/api/tests/test_demo_mode.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/apps/api/tests/test_demo_mode.py b/app/apps/api/tests/test_demo_mode.py index e25e232..e7d4e18 100644 --- a/app/apps/api/tests/test_demo_mode.py +++ b/app/apps/api/tests/test_demo_mode.py @@ -152,4 +152,15 @@ class DemoModeAPITokenViewsTests(TestCase): self.assertEqual(response.status_code, 403) token.refresh_from_db() - self.assertIsNone(token.revoked_at) \ No newline at end of file + self.assertIsNone(token.revoked_at) + + def test_cannot_delete_api_token_from_ui_in_demo_mode(self): + token, _ = APIToken.objects.create_token(user=self.user, name="n8n") + + response = self.client.delete( + reverse("user_api_token_delete", kwargs={"token_id": token.id}), + **self.htmx_headers, + ) + + self.assertEqual(response.status_code, 403) + self.assertTrue(APIToken.objects.filter(id=token.id).exists()) \ No newline at end of file