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]
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)), )
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
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) ), )
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
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