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
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:
@@ -46,8 +46,8 @@ class RegistersAdminTest(TestCase):
|
||||
self.factory = RequestFactory()
|
||||
self.user = UserFactory.create_superuser()
|
||||
|
||||
def _request(self):
|
||||
request = self.factory.get("/admin/registers/registerupload/upload-excel/")
|
||||
def _request(self, path="/admin/registers/registerupload/upload-excel/"):
|
||||
request = self.factory.get(path)
|
||||
request.user = self.user
|
||||
request.session = {}
|
||||
request._messages = FallbackStorage(request)
|
||||
@@ -78,6 +78,20 @@ class RegistersAdminTest(TestCase):
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertIn('type="file"', content)
|
||||
self.assertIn("mx-upload-file", content)
|
||||
self.assertIn("multiple", content)
|
||||
|
||||
def test_register_upload_changelist_renders_toolbar_buttons(self):
|
||||
admin = RegisterUploadAdmin(RegisterUpload, self.site)
|
||||
response = admin.changelist_view(
|
||||
self._request("/admin/registers/registerupload/")
|
||||
)
|
||||
response.render()
|
||||
content = response.content.decode("utf-8")
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertIn("Загрузить справочники из Excel", content)
|
||||
self.assertIn("Добавить загрузку реестра", content)
|
||||
self.assertIn("mx-admin-action-bar", content)
|
||||
|
||||
def test_register_upload_admin_upload_excel_success(self):
|
||||
admin = RegisterUploadAdmin(RegisterUpload, self.site)
|
||||
@@ -144,3 +158,38 @@ class RegistersAdminTest(TestCase):
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
sync_mock.assert_called_once()
|
||||
|
||||
def test_register_upload_admin_processes_multiple_files(self):
|
||||
admin = RegisterUploadAdmin(RegisterUpload, self.site)
|
||||
registry = RegisterFactory()
|
||||
first_upload = _build_register_excel_upload("registry_1.xlsx")
|
||||
second_upload = _build_register_excel_upload("registry_2.xlsx")
|
||||
request = self._post_request(
|
||||
{
|
||||
"registry": str(registry.id),
|
||||
"actual_date": "2026-03-20",
|
||||
"files": [first_upload, second_upload],
|
||||
}
|
||||
)
|
||||
|
||||
with patch(
|
||||
"apps.registers.admin.RegisterImportService.sync_registry_memberships",
|
||||
side_effect=[
|
||||
{
|
||||
"registry_name": registry.name,
|
||||
"rows_in_file": 1,
|
||||
"organizations_created": 1,
|
||||
"organizations_updated": 0,
|
||||
},
|
||||
{
|
||||
"registry_name": registry.name,
|
||||
"rows_in_file": 1,
|
||||
"organizations_created": 0,
|
||||
"organizations_updated": 1,
|
||||
},
|
||||
],
|
||||
) as sync_mock:
|
||||
response = admin.upload_excel_view(request)
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(sync_mock.call_count, 2)
|
||||
|
||||
Reference in New Issue
Block a user