X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=xnet%2Faccounts%2Ffactories.py;h=5844d0e9f9a07dd377c727f627fc020a9851f4ec;hb=95fa5c138ee65686c6dd142b45f87183b0397f30;hp=de56d20ba44980d63c196d1309a1a4d01b6c3115;hpb=25dd56d39edbd4164d1d7b12f09b9675534417ca;p=xnet diff --git a/xnet/accounts/factories.py b/xnet/accounts/factories.py index de56d20..5844d0e 100644 --- a/xnet/accounts/factories.py +++ b/xnet/accounts/factories.py @@ -1,49 +1,19 @@ # -*- coding: utf-8 -*- -from django.contrib.webdesign import lorem_ipsum import factory from . import models -class XGroupFactory(factory.DjangoModelFactory): - FACTORY_FOR = models.XGroup - - name = factory.Sequence(lambda n: u"Groupe n°%s" % n) - short = factory.Sequence(lambda n: u"Groupe%s" % n) - kind = factory.InfiniteIterator(k[0] for k in models.XGroup.KIND_CHOICES) - domain = models.XGroup.DOMAIN_REGION - web = u"http://google.fr" - description = factory.LazyAttribute(lambda _: lorem_ipsum.paragraph()) - - class AccountFactory(factory.DjangoModelFactory): FACTORY_FOR = models.Account username = factory.Sequence('mr_robinson{0}'.format) first_name = u"John" last_name = factory.Sequence(lambda n: u"D%se" % ((n % 10) * u"o"), type=int) - password = None + password = factory.PostGenerationMethodCall('set_password', '') is_staff = True - @classmethod - def _prepare(cls, create, **kwargs): - password = kwargs.pop('password', None) - user = super(AccountFactory, cls)._prepare(create, **kwargs) - if password is not None: - user.set_password(password) - if create: - user.save() - return user - class SuperAccountFactory(AccountFactory): is_superuser = True - - -class MembershipFactory(factory.DjangoModelFactory): - FACTORY_FOR = models.Membership - - xgroup = factory.SubFactory(XGroupFactory) - xuser = factory.SubFactory(AccountFactory) - state = models.MembershipWorkflow.states.enabled