Esempio n. 1
0
    def _create_object_stub(self, with_relations=False, size=1, **kwargs):
        """
        Create an object dict with relation dicts using factories.
        """
        object_list = []

        for iteration in range(0, size):
            obj = self.factory_cls.stub(**kwargs).__dict__
            del obj['tenant']

            if with_relations:
                # If relations are needed, override them, because a dict is needed instead of an instance.
                obj['phone_numbers'] = [PhoneNumberFactory.stub().__dict__, ]
                obj['social_media'] = [SocialMediaFactory.stub().__dict__, ]
                obj['addresses'] = [AddressFactory.stub().__dict__, ]
                obj['email_addresses'] = [EmailAddressFactory.stub().__dict__, ]
                obj['accounts'] = [AccountFactory.stub().__dict__, ]
                obj['accounts'][0]['status'] = {'id': AccountStatusFactory.create(tenant=self.user_obj.tenant).id}
                obj['tags'] = [TagFactory.stub().__dict__, ]

                del obj['accounts'][0]['tenant']

            object_list.append(obj)

        if size > 1:
            return object_list
        else:
            # If required size is 1, just give the object instead of a list.
            return object_list[0]
Esempio n. 2
0
    def _create_object(self, with_relations=False, size=1, **kwargs):
        """
        Create an object with relations in the database using factories.
        """
        # Set a default tenant of the user.
        kwargs['tenant'] = self.user_obj.tenant if not kwargs.get('tenant') else kwargs['tenant']

        object_list = self.factory_cls.create_batch(size=size, **kwargs)

        for iteration in range(0, size):
            obj = object_list[iteration]

            if with_relations:
                obj.phone_numbers.add(*PhoneNumberFactory.create_batch(size=2, tenant=obj.tenant))
                obj.social_media.add(SocialMediaFactory(tenant=obj.tenant))
                obj.addresses.add(AddressFactory(tenant=obj.tenant))
                obj.email_addresses.add(EmailAddressFactory(tenant=obj.tenant))
                obj.functions.add(*FunctionFactory.create_batch(size=2, tenant=obj.tenant, contact=obj))
                obj.tags.add(*TagFactory.create_batch(size=2, tenant=obj.tenant, subject=obj))

        if size > 1:
            return object_list
        else:
            # If required size is 1, just give the object instead of a list.
            return object_list[0]
Esempio n. 3
0
    def _create_object_stub(self, with_relations=False, size=1, **kwargs):
        """
        Create an object dict with relation dicts using factories.
        """
        object_list = []

        for iteration in range(0, size):
            obj = self.factory_cls.stub(**kwargs).__dict__
            del obj['tenant']

            if with_relations:
                # If relations are needed, override them, because a dict is needed instead of an instance.
                obj['phone_numbers'] = [PhoneNumberFactory.stub().__dict__, ]
                obj['social_media'] = [SocialMediaFactory.stub().__dict__, ]
                obj['addresses'] = [AddressFactory.stub().__dict__, ]
                obj['email_addresses'] = [EmailAddressFactory.stub().__dict__, ]
                obj['accounts'] = [AccountFactory.stub().__dict__, ]
                obj['accounts'][0]['status'] = {'id': AccountStatusFactory.create(tenant=self.user_obj.tenant).id}
                obj['tags'] = [TagFactory.stub().__dict__, ]

                del obj['accounts'][0]['tenant']

            object_list.append(obj)

        if size > 1:
            return object_list
        else:
            # If required size is 1, just give the object instead of a list.
            return object_list[0]
Esempio n. 4
0
    def _create_object_stub_with_relations(self):
        """
        Create an object dict with relation dicts using factories.
        """
        contact = self.factory_cls.stub().__dict__
        contact['phone_numbers'] = [
            PhoneNumberFactory.stub().__dict__,
        ]
        contact['social_media'] = [
            SocialMediaFactory.stub().__dict__,
        ]
        contact['addresses'] = [
            AddressFactory.stub().__dict__,
        ]
        contact['email_addresses'] = [
            EmailAddressFactory.stub().__dict__,
        ]
        contact['accounts'] = [
            AccountFactory.stub().__dict__,
        ]
        contact['tags'] = [
            TagFactory.stub().__dict__,
        ]

        del contact['tenant']
        del contact['accounts'][0]['tenant']

        return contact
Esempio n. 5
0
    def email_addresses(self, create, extracted, **kwargs):
        if create:
            email_str = '%s.%s@%s' % (self.first_name.lower(),
                                      self.last_name.lower(),
                                      faker.free_email_domain())

            email_address = EmailAddressFactory(tenant=self.tenant,
                                                email_address=email_str)
            self.email_addresses.add(email_address)
Esempio n. 6
0
    def _create_object_with_relations(self):
        """
        Create an object with relations in the database using factories.
        """
        contact = self.factory_cls(tenant=self.user_obj.tenant)
        contact.phone_numbers.add(PhoneNumberFactory(tenant=contact.tenant))
        contact.social_media.add(SocialMediaFactory(tenant=contact.tenant))
        contact.addresses.add(AddressFactory(tenant=contact.tenant))
        contact.email_addresses.add(EmailAddressFactory(tenant=contact.tenant))
        contact.functions.add(
            FunctionFactory(tenant=contact.tenant, contact=contact))
        contact.tags.add(TagFactory(tenant=contact.tenant, subject=contact))

        return contact