Skip to content

Commit 889babc

Browse files
committed
Merged in [15523] from rjsparks@nostrum.com:
Converted the liaisons tests to use factories. - Legacy-Id: 15531 Note: SVN reference [15523] has been migrated to Git commit 5e29f56
2 parents caeb6fc + 5e29f56 commit 889babc

3 files changed

Lines changed: 162 additions & 175 deletions

File tree

ietf/liaisons/factories.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import factory
2+
3+
from ietf.group.factories import GroupFactory
4+
from ietf.liaisons.models import LiaisonStatement, LiaisonStatementEvent, LiaisonStatementAttachment
5+
6+
class LiaisonStatementFactory(factory.DjangoModelFactory):
7+
class Meta:
8+
model = LiaisonStatement
9+
10+
title = factory.Faker('sentence')
11+
from_contact = factory.SubFactory('ietf.person.factories.EmailFactory')
12+
purpose_id = 'comment'
13+
body = factory.Faker('paragraph')
14+
state_id = 'posted'
15+
16+
@factory.post_generation
17+
def from_groups(obj, create, extracted, **kwargs):
18+
if create:
19+
if extracted:
20+
obj.from_groups.set(extracted)
21+
else:
22+
obj.from_groups.add(GroupFactory(type_id='sdo'))
23+
24+
@factory.post_generation
25+
def to_groups(obj, create, extracted, **kwargs):
26+
if create:
27+
if extracted:
28+
obj.to_groups.set(extracted)
29+
else:
30+
obj.to_groups.add(GroupFactory(type_id='wg'))
31+
32+
33+
class LiaisonStatementEventFactory(factory.DjangoModelFactory):
34+
class Meta:
35+
model = LiaisonStatementEvent
36+
37+
type_id = 'posted'
38+
by = factory.SubFactory('ietf.person.factories.PersonFactory')
39+
statement = factory.SubFactory(LiaisonStatementFactory)
40+
desc = factory.Faker('sentence')
41+
42+
43+
class LiaisonStatementAttachmentFactory(factory.DjangoModelFactory):
44+
class Meta:
45+
model = LiaisonStatementAttachment
46+
47+
statement = factory.SubFactory(LiaisonStatementFactory)
48+
document = factory.SubFactory('ietf.doc.factories.BaseDocumentFactory',
49+
type_id='liai-att',
50+
# TODO: Make name more convenient (the default now is to try to generate a draftname)
51+
)

0 commit comments

Comments
 (0)