예제 #1
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]
예제 #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]
예제 #3
0
 def contacts_and_accounts(self, size, tenant):
     # create various contacts
     ContactFactory.create_batch(size, tenant=tenant)
     # create accounts with zero contact
     AccountFactory.create_batch(size, tenant=tenant)
     # create account with multi contacts
     FunctionFactory.create_batch(
         size,
         tenant=tenant,
         account=AccountFactory(tenant=tenant),
     )
     # create account with assigned_to
     FunctionFactory.create_batch(
         size,
         tenant=tenant,
         account=AccountFactory(tenant=tenant,
                                assigned_to=LilyUserFactory(tenant=tenant)),
     )
예제 #4
0
    def accounts_function(self, **kwargs):
        kwargs.update({
            'size': kwargs.get('size', self.batch_size) / 2,
            'account': kwargs.get('account') if kwargs.get('account') else iterator(self.accounts_account),
            'contact': kwargs.get('contact') if kwargs.get('contact') else iterator(self.contacts_contact),
        })
        functions = FunctionFactory.create_batch(**kwargs)

        self.stdout.write('Done with accounts_function.')

        return functions
예제 #5
0
 def contacts_and_accounts(self, size, tenant):
     # create various contacts
     ContactFactory.create_batch(size, tenant=tenant)
     # create accounts with zero contact
     AccountFactory.create_batch(size, tenant=tenant)
     # create account with multi contacts
     FunctionFactory.create_batch(
         size,
         tenant=tenant,
         account=AccountFactory(tenant=tenant),
     )
     # create account with assigned_to
     FunctionFactory.create_batch(
         size,
         tenant=tenant,
         account=AccountFactory(
             tenant=tenant,
             assigned_to=LilyUserFactory(tenant=tenant)
         ),
     )
예제 #6
0
    def accounts_function(self, **kwargs):
        kwargs.update({
            'size': kwargs.get('size', self.batch_size) / 2,
            'account': kwargs.get('account') if kwargs.get('account') else iterator(self.accounts_account),
            'contact': kwargs.get('contact') if kwargs.get('contact') else iterator(self.contacts_contact),
        })
        functions = FunctionFactory.create_batch(**kwargs)

        self.stdout.write('Done with accounts_function.')

        return functions
예제 #7
0
    def accounts_function(self, **kwargs):
        kwargs.update(
            {
                "size": kwargs.get("size", self.batch_size) / 2,
                "account": kwargs.get("account") if kwargs.get("account") else iterator(self.accounts_account),
                "contact": kwargs.get("contact") if kwargs.get("contact") else iterator(self.contacts_contact),
            }
        )
        functions = FunctionFactory.create_batch(**kwargs)

        self.stdout.write("Done with accounts_function.")

        return functions
예제 #8
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