示例#1
0
class ListingFactory(GenericPostFactory):
    class Meta:
        model = Listing

    category = factory.Faker('random_int',
                             min=0,
                             max=get_length(Choices.LISTING_CATEGORY_CHOICES) -
                             1)
    price = factory.Faker('pydecimal', left_digits=6, right_digits=2)
    season = factory.Faker('random_int',
                           min=0,
                           max=get_length(Choices.SEASON_CHOICES) - 1)
    year = factory.Faker('random_int', min=2000, max=2050)
    location = factory.Faker('address')
示例#2
0
class AdFactory(GenericPostFactory):
    class Meta:
        model = Ad

    category = factory.Faker('random_int', min=0, max=get_length(Choices.AD_CATEGORY_CHOICES)-1)
    price = factory.Faker('pydecimal', left_digits=6, right_digits=2)
    postal_code = factory.Faker('bothify', text='?#?#?#', letters=ascii_uppercase)
示例#3
0
class EventFactory(GenericPostFactory):
    class Meta:
        model = Event

    price_scale = factory.Faker('random_int', min=0, max=get_length(Choices.PRICE_CHOICES)-1)
    start_datetime = factory.Faker('date_time')
    end_datetime = factory.Faker('date_time')
    location = factory.Faker('address')

    @factory.post_generation
    def interested_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, list):
                for user in extracted:
                    self.interested_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.interested_users.add(UserFactory(connected_users=[], blocked_users=[]))

    @factory.post_generation
    def attending_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, list):
                for user in extracted:
                    self.attending_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.attending_users.add(UserFactory(connected_users=[], blocked_users=[]))
示例#4
0
class UserFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = CustomUser

    first_name = factory.Faker('first_name')
    last_name = factory.Faker('last_name')
    preferred_name = factory.Faker('name')
    email = factory.LazyAttributeSequence(lambda user, i: f'{user.first_name[0].lower()}{i}{user.last_name.lower()}@uwaterloo.ca')
    pronouns = factory.Faker('random_int', min=0, max=get_length(Choices.PRONOUN_CHOICES)-1)
    bio = factory.Faker('paragraph')
    birthday = factory.Faker('date_of_birth')
    current_term = factory.Faker('random_int', min=0, max=get_length(Choices.TERM_CHOICES)-1)
    enrolled_program = factory.Faker('random_int', min=0, max=get_length(Choices.PROGRAM_CHOICES)-1)
    phone_number = factory.Faker('msisdn')
    region = factory.Faker('random_int', min=0, max=get_length(Choices.REGION_CHOICES)-1)
    password = factory.PostGenerationMethodCall('set_password', 'Top$ecret150')

    @factory.PostGeneration
    def verify_email(self, create, extracted, **kwargs):
        email_address = EmailAddress.objects.add_email(request=None, user=self, email=self.email, confirm=False)
        email_address.verified = True
        email_address.save()

    @factory.post_generation
    def connected_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, list):
                for user in extracted:
                    self.connected_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.connected_users.add(UserFactory(connected_users=[], blocked_users=[]))

    @factory.post_generation
    def blocked_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, list):
                for user in extracted:
                    self.blocked_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.blocked_users.add(UserFactory(connected_users=[], blocked_users=[]))
示例#5
0
class ListingFactory(AbstractFactory):
    class Meta:
        model = Listing

    category = factory.Faker("random_int",
                             min=0,
                             max=get_length(Choices.LISTING_CATEGORY_CHOICES) -
                             1)
    location = factory.Faker("address")
    price = factory.Faker("pydecimal", left_digits=6, right_digits=2)
    season = factory.Faker("random_int",
                           min=0,
                           max=get_length(Choices.SEASON_CHOICES) - 1)
    year = factory.Faker("random_int", min=2000, max=2050)

    @factory.post_generation
    def contacted_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, (list, QuerySet)):
                for user in extracted:
                    self.contacted_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.contacted_users.add(
                        UserFactory(connected_users=[], blocked_users=[]))

    @factory.post_generation
    def confirmed_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, (list, QuerySet)):
                for user in extracted:
                    self.confirmed_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.confirmed_users.add(
                        UserFactory(connected_users=[], blocked_users=[]))
示例#6
0
class JobFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Job

    content = factory.Faker("paragraph")
    creator = factory.SubFactory(UserFactory)
    position = factory.Faker("job")
    company = factory.Faker("company")
    job_type = factory.Faker(
        "random_int", min=0, max=get_length(Choices.JOB_TYPE_CHOICES) - 1
    )
    start_date = factory.Faker("date")
    end_date = factory.Faker("date")
    location = factory.Faker("city")
示例#7
0
class JobFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Job

    content = factory.Faker('paragraph')
    creator = factory.SubFactory(UserFactory)
    position = factory.Faker('job')
    company = factory.Faker('company')
    job_type = factory.Faker('random_int',
                             min=0,
                             max=get_length(Choices.JOB_TYPE_CHOICES) - 1)
    start_date = factory.Faker('date')
    end_date = factory.Faker('date')
    city = factory.Faker('city')
示例#8
0
class AbstractFactory(factory.django.DjangoModelFactory):
    title = factory.Faker("text", max_nb_chars=100)
    content = factory.Faker("paragraph")
    creator = factory.SubFactory(UserFactory,
                                 connected_users=[],
                                 blocked_users=[])
    community = factory.Faker("random_int",
                              min=0,
                              max=get_length(Choices.COMMUNITY_CHOICES) - 1)

    @factory.post_generation
    def tagged_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, (list, QuerySet)):
                for user in extracted:
                    self.tagged_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.tagged_users.add(
                        UserFactory(connected_users=[], blocked_users=[]))

    @factory.post_generation
    def liked_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, (list, QuerySet)):
                for user in extracted:
                    self.liked_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.liked_users.add(
                        UserFactory(connected_users=[], blocked_users=[]))

    @factory.post_generation
    def saved_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, (list, QuerySet)):
                for user in extracted:
                    self.saved_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.saved_users.add(
                        UserFactory(connected_users=[], blocked_users=[]))
示例#9
0
class GenericPostFactory(factory.django.DjangoModelFactory):
    title = factory.Faker('text', max_nb_chars=100)
    content = factory.Faker('paragraph')
    region = factory.Faker('random_int',
                           min=0,
                           max=get_length(Choices.REGION_CHOICES) - 1)
    creator = factory.SubFactory(UserFactory)

    @factory.post_generation
    def liked_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, list):
                for user in extracted:
                    self.liked_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.liked_users.add(
                        UserFactory(connected_users=[], blocked_users=[]))

    @factory.post_generation
    def tagged_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, list):
                for user in extracted:
                    self.tagged_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.tagged_users.add(
                        UserFactory(connected_users=[], blocked_users=[]))

    @factory.post_generation
    def saved_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, list):
                for user in extracted:
                    self.saved_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.saved_users.add(
                        UserFactory(connected_users=[], blocked_users=[]))
示例#10
0
class EventFactory(AbstractFactory):
    class Meta:
        model = Event

    start_datetime = factory.Faker("date_time_between",
                                   start_date="-30y",
                                   end_date="now")
    end_datetime = factory.Faker("date_time_between",
                                 start_date="now",
                                 end_date="+30y")
    location = factory.lazy_attribute(lambda a: MockData.MOCK_ADDRESSES[
        random.randint(0,
                       len(MockData.MOCK_ADDRESSES) - 1)])
    price = factory.Faker("pydecimal", left_digits=6, right_digits=2)
    price_scale = factory.Faker("random_int",
                                min=0,
                                max=get_length(Choices.PRICE_CHOICES) - 1)

    @factory.post_generation
    def interested_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, (list, QuerySet)):
                for user in extracted:
                    self.interested_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.interested_users.add(
                        UserFactory(connected_users=[], blocked_users=[]))

    @factory.post_generation
    def attending_users(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, (list, QuerySet)):
                for user in extracted:
                    self.attending_users.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.attending_users.add(
                        UserFactory(connected_users=[], blocked_users=[]))
示例#11
0
class RoomFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Room

    title = factory.Faker('text', max_nb_chars=100)
    creator = factory.SubFactory(UserFactory)
    privacy_level = factory.Faker(
        'random_int',
        min=0,
        max=get_length(Choices.NOTIFICATION_PRIVACY_CHOICES) - 1)

    @factory.post_generation
    def members(self, create, extracted, **kwargs):
        if create:
            if isinstance(extracted, list):
                for user in extracted:
                    self.members.add(user)
            else:
                rand_int = random.randint(0, 2)
                for i in range(rand_int):
                    self.members.add(
                        UserFactory(connected_users=[], blocked_users=[]))