feat(registers): add command to generate test data from factories
Some checks failed
CI/CD Pipeline / Run Tests (pull_request) Successful in 1m35s
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 / Telegram Notify Success (pull_request) Has been cancelled
CI/CD Pipeline / Code Quality Checks (pull_request) Has been cancelled
Some checks failed
CI/CD Pipeline / Run Tests (pull_request) Successful in 1m35s
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 / Telegram Notify Success (pull_request) Has been cancelled
CI/CD Pipeline / Code Quality Checks (pull_request) Has been cancelled
This commit is contained in:
73
tests/apps/registers/test_generate_test_data_command.py
Normal file
73
tests/apps/registers/test_generate_test_data_command.py
Normal file
@@ -0,0 +1,73 @@
|
||||
"""Тесты команды generate_test_data."""
|
||||
|
||||
from apps.parsers.models import (
|
||||
IndustrialCertificateRecord,
|
||||
IndustrialProductRecord,
|
||||
InspectionRecord,
|
||||
ManufacturerRecord,
|
||||
ParserLoadLog,
|
||||
ProcurementRecord,
|
||||
Proxy,
|
||||
)
|
||||
from apps.registers.models import (
|
||||
Organization,
|
||||
Register,
|
||||
RegisterUpload,
|
||||
RegistryMembershipPeriod,
|
||||
)
|
||||
from django.core.management import call_command
|
||||
from django.test import TestCase
|
||||
|
||||
|
||||
class GenerateTestDataCommandTest(TestCase):
|
||||
"""Проверки management command generate_test_data."""
|
||||
|
||||
def test_command_creates_data_for_every_registry(self):
|
||||
"""Команда создаёт данные по всем целевым реестрам."""
|
||||
call_command(
|
||||
"generate_test_data",
|
||||
count=2,
|
||||
registers_count=3,
|
||||
silent=True,
|
||||
verbosity=0,
|
||||
)
|
||||
|
||||
self.assertEqual(Register.objects.count(), 3)
|
||||
self.assertEqual(RegisterUpload.objects.count(), 6)
|
||||
self.assertEqual(RegistryMembershipPeriod.objects.count(), 6)
|
||||
self.assertEqual(Organization.objects.count(), 6)
|
||||
|
||||
self.assertEqual(IndustrialCertificateRecord.objects.count(), 2)
|
||||
self.assertEqual(ManufacturerRecord.objects.count(), 2)
|
||||
self.assertEqual(IndustrialProductRecord.objects.count(), 2)
|
||||
self.assertEqual(InspectionRecord.objects.count(), 2)
|
||||
self.assertEqual(ProcurementRecord.objects.count(), 2)
|
||||
|
||||
self.assertEqual(Proxy.objects.count(), 2)
|
||||
self.assertEqual(
|
||||
ParserLoadLog.objects.count(),
|
||||
len(ParserLoadLog.Source.values) * 2,
|
||||
)
|
||||
|
||||
def test_command_dry_run_rolls_back_everything(self):
|
||||
"""В dry-run режиме все изменения откатываются."""
|
||||
call_command(
|
||||
"generate_test_data",
|
||||
count=1,
|
||||
registers_count=1,
|
||||
dry_run=True,
|
||||
silent=True,
|
||||
verbosity=0,
|
||||
)
|
||||
|
||||
self.assertEqual(Register.objects.count(), 0)
|
||||
self.assertEqual(RegisterUpload.objects.count(), 0)
|
||||
self.assertEqual(RegistryMembershipPeriod.objects.count(), 0)
|
||||
self.assertEqual(Organization.objects.count(), 0)
|
||||
self.assertEqual(IndustrialCertificateRecord.objects.count(), 0)
|
||||
self.assertEqual(ManufacturerRecord.objects.count(), 0)
|
||||
self.assertEqual(IndustrialProductRecord.objects.count(), 0)
|
||||
self.assertEqual(InspectionRecord.objects.count(), 0)
|
||||
self.assertEqual(ProcurementRecord.objects.count(), 0)
|
||||
self.assertEqual(Proxy.objects.count(), 0)
|
||||
self.assertEqual(ParserLoadLog.objects.count(), 0)
|
||||
Reference in New Issue
Block a user