1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
import random
import factory
from factory import Faker
from ctrack.caf.models import EssentialService, Grading, DocumentFile, FileStore, CAF
from ctrack.organisations.tests.factories import OrganisationFactory
class CAFFactory(factory.DjangoModelFactory):
owner = factory.SubFactory(OrganisationFactory)
quality_grading = factory.SubFactory("ctrack.caf.tests.factories.GradingFactory")
confidence_grading = factory.SubFactory("ctrack.caf.tests.factories.GradingFactory")
file = None
class Meta:
model = CAF
class EssentialServiceFactory(factory.DjangoModelFactory):
"""Factory for Essential Services."""
name = Faker("text", max_nb_chars=100, ext_word_list=None)
description = Faker(
"paragraph", nb_sentences=4, variable_nb_sentences=True, ext_word_list=None
)
organisation = factory.SubFactory(OrganisationFactory)
caf = factory.SubFactory("ctrack.caf.tests.factories.CAFFactory")
class Meta:
model = EssentialService
class GradingFactory(factory.DjangoModelFactory):
descriptor = factory.Iterator(
["Q1", "Q2", "Q3", "Q4", "Q5", "C1", "C2", "C3", "C4", "C5"]
)
description = Faker("text", max_nb_chars=100, ext_word_list=None)
type = factory.Iterator(Grading.GRADING_TYPE, getter=lambda g: g[0])
class Meta:
model = Grading
class FileStoreFactory(factory.DjangoModelFactory):
descriptor = "File Store X"
virtual_location = Faker("street_name")
physical_location = random.choice(["Cupboard A", "Tin Box", "The Vault"])
physical_location_organisation = factory.SubFactory(OrganisationFactory)
class Meta:
model = FileStore
class DocumentFileFactory(factory.DjangoModelFactory):
name = Faker("file_name", extension="xlsx")
type = random.choice([1, 2, 3, 4])
file_store_location = factory.SubFactory(FileStoreFactory)
class Meta:
model = DocumentFile
|