52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
from datetime import datetime, date
|
|
|
|
from factory import DjangoModelFactory, Sequence, SubFactory, LazyFunction
|
|
from factory.fuzzy import FuzzyText, FuzzyDate, FuzzyFloat, FuzzyInteger
|
|
|
|
from ..models import ProcessType, Reagent, Flaw, Processing
|
|
from ccdb.misc.tests.factories import ContainerFactory, MeasurementUnitFactory
|
|
|
|
|
|
class ProcessTypeFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = ProcessType
|
|
|
|
name = Sequence(lambda n: 'process_type{}'.format(n))
|
|
code = Sequence(lambda n: 'pt{}'.format(n))
|
|
description = FuzzyText(length=255)
|
|
sort_order = Sequence(lambda n: n)
|
|
|
|
|
|
class ReagentFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = Reagent
|
|
|
|
name = Sequence(lambda n: 'reagent{}'.format(n))
|
|
code = Sequence(lambda n: 'r{}'.format(n))
|
|
reagent_class = FuzzyText(length=50)
|
|
sort_order = Sequence(lambda n: n)
|
|
|
|
|
|
class FlawFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = Flaw
|
|
|
|
name = Sequence(lambda n: 'flaw{}'.format(n))
|
|
description = FuzzyText(length=255)
|
|
sort_order = Sequence(lambda n: n)
|
|
|
|
|
|
class ProcessingFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = Processing
|
|
|
|
process_type = SubFactory(ProcessTypeFactory)
|
|
container = SubFactory(ContainerFactory)
|
|
container_label = FuzzyText(length=50)
|
|
process_date = FuzzyDate(date(2012, 1, 1))
|
|
process_time = LazyFunction(datetime.now().time)
|
|
reagent = SubFactory(ReagentFactory)
|
|
reagent_volume = FuzzyFloat(0.0)
|
|
measurement_unit = SubFactory(MeasurementUnitFactory)
|
|
minutes_in_reagent = FuzzyInteger(0)
|
|
flaw = SubFactory(FlawFactory)
|