feat: add parser source dashboard and scheduling
Some checks failed
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 9s
CI/CD Pipeline / Run Tests (pull_request) Failing after 48s
CI/CD Pipeline / Build Docker Images (pull_request) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (pull_request) Has been skipped
Some checks failed
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 9s
CI/CD Pipeline / Run Tests (pull_request) Failing after 48s
CI/CD Pipeline / Build Docker Images (pull_request) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (pull_request) Has been skipped
This commit is contained in:
@@ -3,17 +3,16 @@
|
||||
import random
|
||||
from datetime import timedelta
|
||||
|
||||
from django.utils import timezone
|
||||
|
||||
import factory
|
||||
|
||||
from apps.parsers.models import (
|
||||
GenericParserRecord,
|
||||
IndustrialCertificateRecord,
|
||||
InspectionRecord,
|
||||
ManufacturerRecord,
|
||||
ParserLoadLog,
|
||||
Proxy,
|
||||
)
|
||||
from django.utils import timezone
|
||||
|
||||
# === Хелперы для генерации реалистичных данных ===
|
||||
|
||||
@@ -320,7 +319,9 @@ class InspectionRecordFactory(factory.django.DjangoModelFactory):
|
||||
lambda _: random.choice(["плановая", "внеплановая"])
|
||||
)
|
||||
inspection_form = factory.LazyAttribute(
|
||||
lambda _: random.choice(["документарная", "выездная", "документарная и выездная"])
|
||||
lambda _: random.choice(
|
||||
["документарная", "выездная", "документарная и выездная"]
|
||||
)
|
||||
)
|
||||
start_date = factory.LazyAttribute(
|
||||
lambda _: (timezone.now() - timedelta(days=random.randint(1, 180))).strftime(
|
||||
@@ -339,9 +340,35 @@ class InspectionRecordFactory(factory.django.DjangoModelFactory):
|
||||
lambda _: random.choice(["294-ФЗ", "248-ФЗ", "184-ФЗ"])
|
||||
)
|
||||
result = factory.LazyAttribute(
|
||||
lambda _: random.choice(
|
||||
["нарушения не выявлены", "выявлены нарушения", ""]
|
||||
)
|
||||
lambda _: random.choice(["нарушения не выявлены", "выявлены нарушения", ""])
|
||||
if random.random() > 0.3
|
||||
else ""
|
||||
)
|
||||
|
||||
|
||||
class GenericParserRecordFactory(factory.django.DjangoModelFactory):
|
||||
"""Factory for GenericParserRecord model."""
|
||||
|
||||
class Meta:
|
||||
model = GenericParserRecord
|
||||
|
||||
load_batch = factory.Sequence(lambda n: n + 1)
|
||||
source = ParserLoadLog.Source.FNS_FINANCIAL
|
||||
external_id = factory.Sequence(lambda n: f"GEN-{n:06d}")
|
||||
inn = factory.LazyFunction(generate_inn_legal)
|
||||
ogrn = factory.LazyFunction(generate_ogrn)
|
||||
organisation_name = factory.LazyFunction(generate_company_name)
|
||||
title = factory.LazyAttribute(lambda obj: f"Запись {obj.external_id}")
|
||||
record_date = factory.LazyAttribute(lambda _: timezone.now().strftime("%Y-%m-%d"))
|
||||
amount = "1000000.00"
|
||||
status = "active"
|
||||
url = factory.LazyAttribute(
|
||||
lambda obj: f"https://example.com/records/{obj.external_id}"
|
||||
)
|
||||
payload = factory.LazyAttribute(
|
||||
lambda obj: {
|
||||
"external_id": obj.external_id,
|
||||
"inn": obj.inn,
|
||||
"organisation_name": obj.organisation_name,
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user