MAINT: Refactor, move factories into tests

This commit is contained in:
Matthew Ryan Dillon 2016-08-21 16:06:38 -07:00
parent 31714215d0
commit 02a21306fe
16 changed files with 49 additions and 42 deletions

View 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)

View file

@ -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):