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