MAINT: Refactor, move factories into tests
This commit is contained in:
parent
31714215d0
commit
02a21306fe
16 changed files with 49 additions and 42 deletions
89
ccdb/collections_ccdb/tests/factories.py
Normal file
89
ccdb/collections_ccdb/tests/factories.py
Normal file
|
@ -0,0 +1,89 @@
|
|||
from datetime import date, time
|
||||
|
||||
from factory import DjangoModelFactory, Sequence, SubFactory, LazyFunction
|
||||
from factory.fuzzy import FuzzyText, FuzzyDate, FuzzyInteger
|
||||
from factory.django import FileField
|
||||
|
||||
from ..models import (CollectionType, CollectionMethod, Flaw, ADFGPermit,
|
||||
Collection, DatasheetAttachment, CollectionTrap)
|
||||
from ccdb.projects.tests.factories import ProjectFactory
|
||||
from ccdb.locations.tests.factories import (StudyLocationFactory,
|
||||
StorageLocationFactory)
|
||||
from ccdb.processing.tests.factories import ProcessTypeFactory, ReagentFactory
|
||||
|
||||
|
||||
class CollectionTypeFactory(DjangoModelFactory):
|
||||
class Meta:
|
||||
model = CollectionType
|
||||
|
||||
name = Sequence(lambda n: 'collection_type{}'.format(n))
|
||||
code = Sequence(lambda n: 'ct{}'.format(n))
|
||||
sort_order = Sequence(lambda n: n)
|
||||
|
||||
|
||||
class CollectionMethodFactory(DjangoModelFactory):
|
||||
class Meta:
|
||||
model = CollectionMethod
|
||||
|
||||
name = Sequence(lambda n: 'collection_method{}'.format(n))
|
||||
code = Sequence(lambda n: 'cm{}'.format(n))
|
||||
collection_method_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 ADFGPermitFactory(DjangoModelFactory):
|
||||
class Meta:
|
||||
model = ADFGPermit
|
||||
|
||||
name = Sequence(lambda n: 'adfg_permit{}'.format(n))
|
||||
sort_order = Sequence(lambda n: n)
|
||||
|
||||
|
||||
class CollectionFactory(DjangoModelFactory):
|
||||
class Meta:
|
||||
model = Collection
|
||||
|
||||
project = SubFactory(ProjectFactory)
|
||||
study_location = SubFactory(StudyLocationFactory)
|
||||
collection_type = SubFactory(CollectionTypeFactory)
|
||||
collection_method = SubFactory(CollectionMethodFactory)
|
||||
number_of_traps = FuzzyInteger(0)
|
||||
collection_start_date = FuzzyDate(date(2012, 1, 1))
|
||||
collection_start_time = None
|
||||
collection_end_date = FuzzyDate(date(2015, 1, 1))
|
||||
collection_end_time = None
|
||||
storage_location = SubFactory(StorageLocationFactory)
|
||||
specimen_state = FuzzyText(length=50)
|
||||
process_type = SubFactory(ProcessTypeFactory)
|
||||
reagent = SubFactory(ReagentFactory)
|
||||
adfg_permit = SubFactory(ADFGPermitFactory)
|
||||
flaw = SubFactory(FlawFactory)
|
||||
|
||||
|
||||
class DatasheetAttachmentFactory(DjangoModelFactory):
|
||||
class Meta:
|
||||
model = DatasheetAttachment
|
||||
|
||||
collection = SubFactory(CollectionFactory)
|
||||
datasheet = FileField()
|
||||
|
||||
|
||||
class CollectionTrapFactory(DjangoModelFactory):
|
||||
class Meta:
|
||||
model = CollectionTrap
|
||||
|
||||
collection = SubFactory(CollectionFactory)
|
||||
number_of_traps = FuzzyInteger(0)
|
||||
date_opened = FuzzyDate(date(2012, 1, 1))
|
||||
time_opened = LazyFunction(time)
|
||||
date_closed = FuzzyDate(date(2015, 1, 1))
|
||||
time_closed = LazyFunction(time)
|
|
@ -1,11 +1,11 @@
|
|||
from django.test import TestCase
|
||||
from django.db import IntegrityError, transaction
|
||||
|
||||
from ..models import CollectionType, CollectionMethod, Flaw, ADFGPermit, \
|
||||
Collection, DatasheetAttachment, CollectionTrap
|
||||
from ..factories import CollectionTypeFactory, CollectionMethodFactory, \
|
||||
FlawFactory, ADFGPermitFactory, CollectionFactory, DatasheetAttachmentFactory, \
|
||||
CollectionTrapFactory
|
||||
from ..models import (CollectionType, CollectionMethod, Flaw, ADFGPermit,
|
||||
Collection, DatasheetAttachment, CollectionTrap)
|
||||
from .factories import (CollectionTypeFactory, CollectionMethodFactory,
|
||||
FlawFactory, ADFGPermitFactory, CollectionFactory,
|
||||
DatasheetAttachmentFactory, CollectionTrapFactory)
|
||||
|
||||
|
||||
class CollectionTypeTestCase(TestCase):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue