Files
mostovik-backend/tests/apps/exchange/test_serializers.py
Aleksandr Meshchriakov 3d298ce352
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
feat: expand platform APIs, sources, and test coverage
2026-03-17 12:56:48 +01:00

30 lines
1.2 KiB
Python

"""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)