fix: align ci with organization redesign
This commit is contained in:
@@ -19,7 +19,7 @@ from apps.parsers.models import (
|
||||
)
|
||||
from apps.user.services import UserService
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.urls import reverse
|
||||
from django.urls import NoReverseMatch, reverse
|
||||
from django.utils import timezone
|
||||
from django_celery_beat.models import PeriodicTask
|
||||
from openpyxl import Workbook
|
||||
@@ -33,7 +33,6 @@ from tests.apps.parsers.factories import (
|
||||
ManufacturerRecordFactory,
|
||||
ParserLoadLogFactory,
|
||||
)
|
||||
from tests.apps.registers.factories import RegisterFactory
|
||||
from tests.apps.user.factories import UserFactory
|
||||
from tests.utils.fixtures import fake
|
||||
|
||||
@@ -57,26 +56,6 @@ def _build_fns_excel_bytes() -> bytes:
|
||||
return buffer.getvalue()
|
||||
|
||||
|
||||
def _build_register_excel_bytes(rows: list[dict[str, str]]) -> bytes:
|
||||
workbook = Workbook()
|
||||
worksheet = workbook.active
|
||||
worksheet.append(["pn_name", "mn_ogrn", "mn_inn", "in_kpp", "mn_okpo"])
|
||||
for row in rows:
|
||||
worksheet.append(
|
||||
[
|
||||
row["pn_name"],
|
||||
row["mn_ogrn"],
|
||||
row["mn_inn"],
|
||||
row["in_kpp"],
|
||||
row["mn_okpo"],
|
||||
]
|
||||
)
|
||||
buffer = io.BytesIO()
|
||||
workbook.save(buffer)
|
||||
workbook.close()
|
||||
return buffer.getvalue()
|
||||
|
||||
|
||||
def _extract_results(response_data):
|
||||
if hasattr(response_data, "get"):
|
||||
data = response_data.get("data")
|
||||
@@ -473,10 +452,13 @@ class ParsersApiInventoryE2ETest(AuthenticatedApiMixin, APITestCase):
|
||||
self.assertEqual(sources_statuses.status_code, status.HTTP_200_OK)
|
||||
self.assertEqual(source_detail.status_code, status.HTTP_200_OK)
|
||||
|
||||
main_dashboard = self.client.get(reverse("api_v1:stat:main-dashboard"))
|
||||
with self.assertRaises(NoReverseMatch):
|
||||
reverse("api_v1:stat:main-dashboard")
|
||||
|
||||
main_dashboard = self.client.get(reverse("api_v1:parsers:dashboard-data"))
|
||||
self.assertEqual(main_dashboard.status_code, status.HTTP_200_OK)
|
||||
self.assertIn("source_cards", main_dashboard.data["data"])
|
||||
self.assertIn("organization_stats", main_dashboard.data["data"])
|
||||
self.assertIn("sources", main_dashboard.data["data"])
|
||||
self.assertIn("source_counts", main_dashboard.data["data"])
|
||||
|
||||
self.authenticate(self.admin)
|
||||
parsing_url = reverse("api_v1:parsing:parsing-settings")
|
||||
@@ -544,64 +526,13 @@ class RegistersApiInventoryE2ETest(AuthenticatedApiMixin, APITestCase):
|
||||
self.user = UserFactory.create_user()
|
||||
self.admin = UserFactory.create_superuser()
|
||||
|
||||
def test_registers_endpoints(self):
|
||||
registry = RegisterFactory(name="Inventory Registry")
|
||||
rows = [
|
||||
{
|
||||
"pn_name": "Inventory Org",
|
||||
"mn_ogrn": "1027600980990",
|
||||
"mn_inn": "7601000086",
|
||||
"in_kpp": "760401001",
|
||||
"mn_okpo": "07506197",
|
||||
}
|
||||
]
|
||||
|
||||
self.authenticate(self.admin)
|
||||
upload = SimpleUploadedFile(
|
||||
"inventory-registry.xlsx",
|
||||
_build_register_excel_bytes(rows),
|
||||
content_type=(
|
||||
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
||||
),
|
||||
)
|
||||
upload_response = self.client.post(
|
||||
reverse("api_v1:registers:register-upload"),
|
||||
{
|
||||
"registry": str(registry.id),
|
||||
"actual_date": date(2026, 1, 1).isoformat(),
|
||||
"file": upload,
|
||||
},
|
||||
format="multipart",
|
||||
)
|
||||
self.assertEqual(upload_response.status_code, status.HTTP_201_CREATED)
|
||||
|
||||
self.authenticate(self.user)
|
||||
registries_list = self.client.get(reverse("api_v1:registers:registries-list"))
|
||||
registries_detail = self.client.get(
|
||||
reverse("api_v1:registers:registries-detail", args=[registry.id])
|
||||
)
|
||||
organizations_list = self.client.get(
|
||||
reverse("api_v1:registers:organizations-list")
|
||||
)
|
||||
organization_id = _extract_results(organizations_list.data)[0]["id"]
|
||||
organization_detail = self.client.get(
|
||||
reverse("api_v1:registers:organizations-detail", args=[organization_id])
|
||||
)
|
||||
registry_organizations = self.client.get(
|
||||
reverse(
|
||||
"api_v1:registers:registry-organizations-list",
|
||||
args=[registry.id],
|
||||
)
|
||||
)
|
||||
|
||||
for response in (
|
||||
registries_list,
|
||||
registries_detail,
|
||||
organizations_list,
|
||||
organization_detail,
|
||||
registry_organizations,
|
||||
):
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
def test_registers_endpoints_are_removed(self):
|
||||
with self.assertRaises(NoReverseMatch):
|
||||
reverse("api_v1:registers:register-upload")
|
||||
with self.assertRaises(NoReverseMatch):
|
||||
reverse("api_v1:registers:registries-list")
|
||||
with self.assertRaises(NoReverseMatch):
|
||||
reverse("api_v2:registers:register-upload-rosatom-goz")
|
||||
|
||||
|
||||
class ExchangeApiInventoryE2ETest(AuthenticatedApiMixin, APITestCase):
|
||||
|
||||
Reference in New Issue
Block a user