--- /dev/null
+# -*- coding: utf-8 -*-
+from django.contrib.webdesign import lorem_ipsum
+
+import factory
+
+import datetime
+import django.utils.timezone as timezone
+
+from xnet.accounts import factories as accounts_factories
+from xnet.groups import factories as groups_factories
+
+from . import models
+
+
+class EventFactory(factory.DjangoModelFactory):
+ FACTORY_FOR = models.Event
+
+ short = factory.Sequence(lambda n: u"Event n°%s" % n)
+ main_description = u"Super description d'Event"
+ group = factory.SubFactory(groups_factories.XGroupFactory)
+ creator = factory.SubFactory(accounts_factories.AccountFactory,
+ memberships=factory.RelatedFactory(groups_factories.MembershipFactory, 'user',
+ group=factory.SelfAttribute('...group')))
+
+ simple = False
+
+ registration_begin = factory.LazyAttribute(
+ lambda a: timezone.now() - datetime.timedelta(0, 0, 0, -2))
+ registration_end = factory.LazyAttribute(
+ lambda a: timezone.now() - datetime.timedelta(0, 0, 0, 5))
+ notification_recipient = models.Event.NOTIFICATION_RECIPIENT_CREATOR
+ show_registered = True
+ allow_non_members = True
+ allow_guests = True
+ registration_limit = 500
+
+ start_date = factory.LazyAttribute(
+ lambda a: timezone.now() - datetime.timedelta(0, 0, 0, 5))
+ end_date = factory.LazyAttribute(
+ lambda a: timezone.now() - datetime.timedelta(0, 0, 0, 7))
+
+
+class EventPartFactory(factory.DjangoModelFactory):
+ FACTORY_FOR = models.EventPart
+
+ name = factory.Sequence(lambda n: u"EventPart n°%s" % n)
+ description = u"Super description d'EventPart"
+ event = factory.SubFactory(EventFactory)
+ registration_limit = 250
+ main = False
+
+
+class PriceOptionFactory(factory.DjangoModelFactory):
+ FACTORY_FOR = models.PriceOption
+
+ name = factory.Sequence(lambda n: u"PriceOption n°%s" % n)
+ amount = 1337
+ event_part = factory.SubFactory(EventPartFactory)
+
+
+class RegistrationFactory(factory.DjangoModelFactory):
+ FACTORY_FOR = models.Registration
+
+ user = factory.SubFactory(accounts_factories.AccountFactory)
+ dn_event = factory.SelfAttribute('option.event')
+ option = factory.SubFactory(PriceOptionFactory)
+ date_registered = factory.LazyAttribute(
+ lambda a: timezone.now() - datetime.timedelta(0, 0, 0, 1))