Example #1
0
 def setUp(self):
     self.company1 = CompanyFactory(
         name='Test',
         description='Test description',
     )
     self.company2 = CompanyFactory(
         name='Test2',
         description='Test description',
     )
     self.user1 = UserFactory()
     self.user2 = UserFactory()
     self.user3 = UserFactory()
     self.user4 = UserFactory()
     self.user5 = UserFactory()
     self.permission1 = CompanyUserPermissionFactory(company=self.company1,
                                                     user=self.user1)
     self.permission2 = CompanyUserPermissionFactory(company=self.company1,
                                                     user=self.user2)
     self.permission3 = CompanyUserPermissionFactory(company=self.company1,
                                                     user=self.user3)
     self.permission4 = CompanyUserPermissionFactory(company=self.company2,
                                                     user=self.user4)
     self.permission5 = CompanyUserPermissionFactory(company=self.company2,
                                                     user=self.user5)
     self.tax_payer1 = TaxPayerFactory(company=self.company1)
     self.tax_payer2 = TaxPayerFactory(company=self.company1)
     self.tax_payer3 = TaxPayerFactory(company=self.company2)
Example #2
0
 def setUp(self):
     self.company = CompanyFactory()
     self.taxpayer = TaxPayerFactory(company=self.company)
     self.taxpayer_without_eb_entities = TaxPayerArgentinaFactory()
     self.taxpayer_with_2_eb_entities = TaxPayerArgentinaFactory()
     self.taxpayer_eb_entity_1 = TaxPayerEBEntityFactory(
         taxpayer=self.taxpayer_with_2_eb_entities)
     self.taxpayer_eb_entity_2 = TaxPayerEBEntityFactory(
         taxpayer=self.taxpayer_with_2_eb_entities)
     self.eb_entity_1 = EBEntityFactory()
     self.eb_entity_2 = EBEntityFactory()
Example #3
0
 def test_tax_payer_entity_creation(self):
     taxpayer = TaxPayerFactory(company=self.company,
                                business_name='Eventbrite',
                                workday_id='12345')
     self.assertEqual(taxpayer.business_name, 'Eventbrite')
     self.assertEqual(taxpayer.workday_id, '12345')
     self.assertEqual('Eventbrite', str(taxpayer))
     self.assertEqual(TaxPayer.objects.last(), taxpayer)
Example #4
0
class TestTaxpayerModel(TestCase):
    def setUp(self):
        self.company = CompanyFactory()
        self.taxpayer = TaxPayerFactory(company=self.company)
        self.taxpayer_without_eb_entities = TaxPayerArgentinaFactory()
        self.taxpayer_with_2_eb_entities = TaxPayerArgentinaFactory()
        self.taxpayer_eb_entity_1 = TaxPayerEBEntityFactory(
            taxpayer=self.taxpayer_with_2_eb_entities)
        self.taxpayer_eb_entity_2 = TaxPayerEBEntityFactory(
            taxpayer=self.taxpayer_with_2_eb_entities)
        self.eb_entity_1 = EBEntityFactory()
        self.eb_entity_2 = EBEntityFactory()

    def test_tax_payer_entity_creation(self):
        taxpayer = TaxPayerFactory(company=self.company,
                                   business_name='Eventbrite',
                                   workday_id='12345')
        self.assertEqual(taxpayer.business_name, 'Eventbrite')
        self.assertEqual(taxpayer.workday_id, '12345')
        self.assertEqual('Eventbrite', str(taxpayer))
        self.assertEqual(TaxPayer.objects.last(), taxpayer)

    def test_get_eb_entity(self):
        self.taxpayer_eb_entity_2 = TaxPayerEBEntityFactory(
            taxpayer=self.taxpayer_without_eb_entities)
        self.assertEqual(self.taxpayer_without_eb_entities.get_eb_entity,
                         self.taxpayer_eb_entity_2.eb_entity.eb_name)

    def test_taxpayer_creation_first_time_should_have_PENDING_status(self):
        self.assertEqual(self.taxpayer.taxpayer_state, "PENDING")

    def test_create_child_of_tax_payer_should_also_create_taxpayer_father(
            self):
        taxpayer_arg = TaxPayerArgentinaFactory(business_name='Eventbrite')
        self.assertTrue(isinstance(taxpayer_arg, TaxPayer))
        self.assertEqual(taxpayer_arg.business_name, 'Eventbrite')
        self.assertEqual(1, len(TaxPayer.objects.filter(pk=taxpayer_arg.id)))

    def test_get_taxpayer_child(self):
        taxpayer_arg = TaxPayerArgentinaFactory(company=self.company)
        taxpayer = TaxPayer.objects.get(pk=taxpayer_arg.id)
        self.assertEqual(taxpayer.get_taxpayer_child(), taxpayer_arg)

    def test_taxpayer_has_workday_id(self):
        self.assertTrue(self.taxpayer.has_workday_id())

    def test_taxpayer_doesnt_have_workday_id(self):
        taxpayer = TaxPayerArgentinaFactory(workday_id="")
        self.assertFalse(taxpayer.has_workday_id())

    def test_taxpayer_should_create_new_relation_if_eb_entity_doesnt_exists(
            self):
        self.taxpayer_without_eb_entities.create_if_not_exist_taxpayer_eb_entity(
            [self.eb_entity_1, self.eb_entity_2])
        self.assertEqual(2, len(self.taxpayer_without_eb_entities.eb_entities))

    def test_taxpayer_with_2_eb_entity_doesnt_add_this_2_eb_entity_again(self):
        self.taxpayer_without_eb_entities.create_if_not_exist_taxpayer_eb_entity(
            [self.eb_entity_1, self.eb_entity_2])
        self.taxpayer_without_eb_entities.create_if_not_exist_taxpayer_eb_entity(
            [self.eb_entity_1, self.eb_entity_2])
        self.assertEqual(2, len(self.taxpayer_without_eb_entities.eb_entities))

    def test_new_eb_entities_should_be_current(self):
        self.taxpayer_without_eb_entities.create_if_not_exist_taxpayer_eb_entity(
            [self.eb_entity_1, self.eb_entity_2])
        self.assertEqual(2, len(self.taxpayer_without_eb_entities.eb_entities))

    def test_taxpayer_apply_set_unused_status_should_change_2_eb_entities(
            self):

        taxpayer_eb_entities = \
            self.taxpayer_with_2_eb_entities.taxpayerebentity_set.all()

        self.taxpayer_with_2_eb_entities.apply_function_to_all_elems(
            taxpayer_eb_entities,
            TaxPayerEBEntity.set_unused_status,
        )
        self.assertEqual(
            2, len(TaxPayerEBEntity.objects.filter(status=UNUSED_STATUS)))

    def test_taxpayer_apply_set_unused_status_should_change_1_eb_entity(self):
        taxpayer_eb_entities = [
            self.taxpayer_with_2_eb_entities.taxpayerebentity_set.last()
        ]

        self.taxpayer_with_2_eb_entities.apply_function_to_all_elems(
            taxpayer_eb_entities,
            TaxPayerEBEntity.set_unused_status,
        )
        self.assertEqual(
            1, len(TaxPayerEBEntity.objects.filter(status=UNUSED_STATUS)))

    def test_taxpayer_apply_set_current_status_should_change_2_eb_entities(
            self):
        taxpayer_eb_entities = self.taxpayer_with_2_eb_entities.taxpayerebentity_set.all(
        )

        self.taxpayer_with_2_eb_entities.apply_function_to_all_elems(
            taxpayer_eb_entities,
            TaxPayerEBEntity.set_current_status,
        )
        self.assertEqual(
            2, len(TaxPayerEBEntity.objects.filter(status=CURRENT_STATUS)))

    def test_taxpayer_current_entities_should_be_the_selected_ones(self):
        eb_entity_selected_1 = EBEntityFactory()
        eb_entity_selected_2 = EBEntityFactory()
        eb_entities = [eb_entity_selected_1, eb_entity_selected_2]

        self.taxpayer_with_2_eb_entities.set_current_eb_entities(eb_entities)

        taxpayer_eb_entities = self.taxpayer_with_2_eb_entities.eb_entities
        self.assertEqual(2, len(taxpayer_eb_entities))
        self.assertEqual(eb_entities, taxpayer_eb_entities)

    def test_old_taxpayer_eb_entities_should_be_unused_after_update(self):
        taxpayer = TaxPayerArgentinaFactory()
        taxpayer_eb_entity_old_1 = TaxPayerEBEntityFactory(taxpayer=taxpayer)
        taxpayer_eb_entity_old_2 = TaxPayerEBEntityFactory(taxpayer=taxpayer)
        eb_entity_selected_1 = EBEntityFactory()
        eb_entity_selected_2 = EBEntityFactory()
        eb_entities = [eb_entity_selected_1, eb_entity_selected_2]

        taxpayer.set_current_eb_entities(eb_entities)

        taxpayer_eb_entity_old_1 = TaxPayerEBEntity.objects.get(
            pk=taxpayer_eb_entity_old_1.id)
        taxpayer_eb_entity_old_2 = TaxPayerEBEntity.objects.get(
            pk=taxpayer_eb_entity_old_2.id)

        self.assertEqual(str(UNUSED_STATUS), taxpayer_eb_entity_old_1.status)
        self.assertEqual(str(UNUSED_STATUS), taxpayer_eb_entity_old_2.status)

    def test_create_taxpayer_usa(self):
        taxpayer_usa = TaxPayerUnitedStatedFactory()
        self.assertEqual(TaxPayerUnitedStates.objects.last(), taxpayer_usa)
Example #5
0
 def setUp(self):
     self.data = {
         'taxpayer': TaxPayerFactory(),
         'user': UserFactory(),
         'message': 'please upload updated AFIP form',
     }
Example #6
0
 def test_company_tax_payer_relationship(self):
     company = CompanyFactory()
     taxpayer = TaxPayerFactory(company=company)
     self.assertEqual(taxpayer.company.name, company.name)
Example #7
0
 def test_bank_account_creation(self):
     taxpayer = TaxPayerFactory()
     bank = BankAccountUnitedStatesFactory(taxpayer=taxpayer)
     self.assertEqual(bank, BankAccountUnitedStates.objects.last())
     self.assertEqual(bank.taxpayer, taxpayer)
Example #8
0
 def test_address(self):
     taxpayer = TaxPayerFactory()
     contact = ContactFactory(taxpayer=taxpayer)
     self.assertEqual(contact, ContactInformation.objects.last())
     self.assertEqual(contact.taxpayer, taxpayer)
Example #9
0
 def test_address(self):
     taxpayer = TaxPayerFactory()
     address = AddressFactory(taxpayer=taxpayer)
     self.assertEqual(address, Address.objects.last())
     self.assertEqual(address.taxpayer, taxpayer)