feat(dashboard): improve parser API checks
All checks were successful
CI/CD Pipeline / Quality Gate (push) Successful in 21s
CI/CD Pipeline / Build and Push Images (push) Successful in 6s
CI/CD Pipeline / Internal Notify (push) Successful in 1s
CI/CD Pipeline / Deploy Dev in Dokploy (push) Successful in 1s

This commit is contained in:
2026-04-29 11:47:45 +02:00
parent d6de9a27b3
commit be7af18c36
7 changed files with 1548 additions and 121 deletions

View File

@@ -29,3 +29,50 @@ class ParserDashboardPageTest(TestCase):
content = response.content.decode()
self.assertIn("function sourceGroups()", content)
self.assertIn("dashboardData?.file_sources", content)
def test_dashboard_uses_vue_component_table_for_source_results(self):
response = self.client.get("/dashboard")
self.assertEqual(response.status_code, 200)
content = response.content.decode()
self.assertIn("https://cdn.jsdelivr.net/npm/vue@3/", content)
self.assertIn("https://cdn.jsdelivr.net/npm/element-plus@2/", content)
self.assertIn('id="sourceRecordsApp"', content)
self.assertIn("<el-table", content)
self.assertIn("Обновляю данные без сброса таблицы", content)
def test_dashboard_does_not_send_limit_to_paginated_source_result_api(self):
response = self.client.get("/dashboard")
self.assertEqual(response.status_code, 200)
content = response.content.decode()
self.assertIn("if (!source.result_list_url) {", content)
self.assertIn("query.limit = this.pageSize", content)
def test_dashboard_humanizes_schedules_and_registry_completeness(self):
response = self.client.get("/dashboard")
self.assertEqual(response.status_code, 200)
content = response.content.decode()
self.assertIn("function humanizeSchedule", content)
self.assertIn("registryCompletenessChart", content)
self.assertIn("chart-grid-full", content)
self.assertIn("function registryDisplayName", content)
self.assertIn('data-main-tab="endpoints"', content)
self.assertIn("function buildEndpointCatalog", content)
self.assertIn("checkAllEndpointsButton", content)
self.assertIn("endpointCheckModal", content)
self.assertIn("data-toggle", content)
self.assertIn("iconButton", content)
def test_dashboard_endpoint_checker_uses_row_details_modal(self):
response = self.client.get("/dashboard")
self.assertEqual(response.status_code, 200)
content = response.content.decode()
self.assertIn("latestEndpointResultMap", content)
self.assertIn("endpointCheckSummary", content)
self.assertIn("data-endpoint-run", content)
self.assertIn("data-endpoint-detail", content)
self.assertIn("showEndpointDetail", content)
self.assertIn("без данных", content)