forked from adamlaska/datatracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfactories.py
More file actions
51 lines (40 loc) · 1.67 KB
/
factories.py
File metadata and controls
51 lines (40 loc) · 1.67 KB
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
import factory
from ietf.group.factories import GroupFactory
from ietf.liaisons.models import LiaisonStatement, LiaisonStatementEvent, LiaisonStatementAttachment
class LiaisonStatementFactory(factory.django.DjangoModelFactory):
class Meta:
model = LiaisonStatement
title = factory.Faker('sentence')
from_contact = factory.SubFactory('ietf.person.factories.EmailFactory')
purpose_id = 'comment'
body = factory.Faker('paragraph')
state_id = 'posted'
@factory.post_generation
def from_groups(obj, create, extracted, **kwargs):
if create:
if extracted:
obj.from_groups.set(extracted)
else:
obj.from_groups.add(GroupFactory(type_id='sdo'))
@factory.post_generation
def to_groups(obj, create, extracted, **kwargs):
if create:
if extracted:
obj.to_groups.set(extracted)
else:
obj.to_groups.add(GroupFactory(type_id='wg'))
class LiaisonStatementEventFactory(factory.django.DjangoModelFactory):
class Meta:
model = LiaisonStatementEvent
type_id = 'posted'
by = factory.SubFactory('ietf.person.factories.PersonFactory')
statement = factory.SubFactory(LiaisonStatementFactory)
desc = factory.Faker('sentence')
class LiaisonStatementAttachmentFactory(factory.django.DjangoModelFactory):
class Meta:
model = LiaisonStatementAttachment
statement = factory.SubFactory(LiaisonStatementFactory)
document = factory.SubFactory('ietf.doc.factories.BaseDocumentFactory',
type_id='liai-att',
# TODO: Make name more convenient (the default now is to try to generate a draftname)
)