1 # -*- coding: utf-8 -*-
2 from django
.contrib
.webdesign
import lorem_ipsum
7 import django
.utils
.timezone
as timezone
9 from xnet
.accounts
import factories
as accounts_factories
10 from xnet
.groups
import factories
as groups_factories
15 class EventFactory(factory
.DjangoModelFactory
):
16 FACTORY_FOR
= models
.Event
18 short
= factory
.Sequence(lambda n
: u
"Event n°%s" % n
)
19 main_description
= u
"Super description d'Event"
20 group
= factory
.SubFactory(groups_factories
.XGroupFactory
)
21 creator
= factory
.SubFactory(accounts_factories
.AccountFactory
,
22 memberships
=factory
.RelatedFactory(groups_factories
.MembershipFactory
, 'user',
23 group
=factory
.SelfAttribute('...group')))
27 registration_begin
= factory
.LazyAttribute(
28 lambda a
: timezone
.now() - datetime
.timedelta(0, 0, 0, -2))
29 registration_end
= factory
.LazyAttribute(
30 lambda a
: timezone
.now() - datetime
.timedelta(0, 0, 0, 5))
31 notification_recipient
= models
.Event
.NOTIFICATION_RECIPIENT_CREATOR
32 show_registered
= True
33 allow_non_members
= True
35 registration_limit
= 500
37 start_date
= factory
.LazyAttribute(
38 lambda a
: timezone
.now() - datetime
.timedelta(0, 0, 0, 5))
39 end_date
= factory
.LazyAttribute(
40 lambda a
: timezone
.now() - datetime
.timedelta(0, 0, 0, 7))
43 class EventPartFactory(factory
.DjangoModelFactory
):
44 FACTORY_FOR
= models
.EventPart
46 name
= factory
.Sequence(lambda n
: u
"EventPart n°%s" % n
)
47 description
= u
"Super description d'EventPart"
48 event
= factory
.SubFactory(EventFactory
)
49 registration_limit
= 250
53 class PriceOptionFactory(factory
.DjangoModelFactory
):
54 FACTORY_FOR
= models
.PriceOption
56 name
= factory
.Sequence(lambda n
: u
"PriceOption n°%s" % n
)
58 event_part
= factory
.SubFactory(EventPartFactory
)
61 class RegistrationFactory(factory
.DjangoModelFactory
):
62 FACTORY_FOR
= models
.Registration
64 user
= factory
.SubFactory(accounts_factories
.AccountFactory
)
65 dn_event
= factory
.SelfAttribute('option.event')
66 option
= factory
.SubFactory(PriceOptionFactory
)
67 date_registered
= factory
.LazyAttribute(
68 lambda a
: timezone
.now() - datetime
.timedelta(0, 0, 0, 1))