feat: expand platform APIs, sources, and test coverage
Some checks failed
CI/CD Pipeline / Run Tests (pull_request) Successful in 1m53s
CI/CD Pipeline / Telegram Notify Success (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 2m54s
CI/CD Pipeline / Telegram Notify Success (pull_request) Has been skipped

This commit is contained in:
2026-03-17 12:56:48 +01:00
parent b505c67968
commit 3d298ce352
101 changed files with 8387 additions and 292 deletions

View File

@@ -0,0 +1,29 @@
"""Tests for exchange serializers."""
from apps.exchange.serializers import ExchangeCopyRequestSerializer
from django.test import SimpleTestCase
class ExchangeCopyRequestSerializerTest(SimpleTestCase):
def test_single_mode_requires_table(self):
serializer = ExchangeCopyRequestSerializer(data={"mode": "single"})
self.assertFalse(serializer.is_valid())
self.assertIn("table", serializer.errors)
def test_selected_mode_requires_tables(self):
serializer = ExchangeCopyRequestSerializer(data={"mode": "selected"})
self.assertFalse(serializer.is_valid())
self.assertIn("tables", serializer.errors)
def test_table_and_tables_are_rejected_for_wrong_modes(self):
serializer_with_table = ExchangeCopyRequestSerializer(
data={"mode": "all", "table": "parsers_manufacturer"}
)
self.assertFalse(serializer_with_table.is_valid())
self.assertIn("table", serializer_with_table.errors)
serializer_with_tables = ExchangeCopyRequestSerializer(
data={"mode": "all", "tables": ["parsers_manufacturer"]}
)
self.assertFalse(serializer_with_tables.is_valid())
self.assertIn("tables", serializer_with_tables.errors)