feat(admin): expand exchange admin and unify admin UX
Some checks failed
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 2m39s
CI/CD Pipeline / Run Tests (pull_request) Successful in 3m0s
CI/CD Pipeline / Run API Inventory E2E Tests (pull_request) Successful in 35s
CI/CD Pipeline / Telegram Notify Success (pull_request) Has been skipped

This commit is contained in:
2026-03-24 13:58:24 +01:00
parent 559b9bc5ef
commit c98ba76081
33 changed files with 2915 additions and 209 deletions

View File

@@ -149,6 +149,19 @@ class ParsersAdminTest(TestCase):
self.assertIn("Обновить список прокси", content)
self.assertIn("mx-object-tool-form", content)
def test_financial_report_changelist_renders_toolbar_buttons(self):
admin = FinancialReportAdmin(FinancialReport, self.site)
response = admin.changelist_view(
self._request("/admin/parsers/financialreport/")
)
response.render()
content = response.content.decode("utf-8")
self.assertEqual(response.status_code, 200)
self.assertIn("Загрузить Excel бухгалтерской отчетности", content)
self.assertIn("Загрузить ZIP бухгалтерской отчетности", content)
self.assertIn("mx-admin-action-bar", content)
@patch("apps.parsers.admin.ProxyToolsSyncService.sync_ru_proxies")
def test_proxy_admin_sync_view_calls_service(self, sync_mock):
sync_mock.return_value = {
@@ -178,9 +191,15 @@ class ParsersAdminTest(TestCase):
def test_parser_load_log_admin_status_badge(self):
admin = ParserLoadLogAdmin(ParserLoadLog, self.site)
log = ParserLoadLogFactory(status="success")
log = ParserLoadLogFactory(
source=ParserLoadLog.Source.FNS_REPORTS,
status=ParserLoadLog.Status.SUCCESS,
)
badge = admin.status_badge(log)
self.assertIn("span", str(badge))
self.assertEqual(admin.source_title(log), "Бухгалтерская отчетность ФНС")
self.assertIn("source_title", admin.list_display)
self.assertNotIn("batch_id", admin.list_display)
request = self._request()
self.assertFalse(admin.has_add_permission(request))