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
30 lines
1.2 KiB
Python
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)
|