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.ap_user = User.objects.create_user(email='*****@*****.**')
        self.ap_group = Group.objects.get(name='ap_administrator')
        self.ap_user.groups.add(self.ap_group)

        self.user = UserFactory()
        supplier_group = Group.objects.get(name='supplier')
        self.user.groups.add(supplier_group)
        self.company = CompanyFactory()
        self.taxpayer = TaxPayerArgentinaFactory(
            company=self.company, taxpayer_state=TAXPAYER_STATUS_APPROVED)
        self.companyuserpermission = CompanyUserPermissionFactory(
            company=self.company, user=self.user)
        self.invoice = InvoiceFactory(user=self.user,
                                      taxpayer=self.taxpayer,
                                      invoice_number='1234')
        self.address = AddressFactory(taxpayer=self.taxpayer)
        self.contact = ContactFactory(taxpayer=self.taxpayer)
        self.other_user = UserFactory()
        self.other_user.groups.add(supplier_group)
        self.company_for_other_user = CompanyFactory()
        self.cup_for_other_user = CompanyUserPermissionFactory(
            company=self.company_for_other_user, user=self.other_user)
        self.taxpayer_for_other_user = TaxPayerArgentinaFactory(
            company=self.company_for_other_user)
        self.invoice_from_other_user = InvoiceFactory(
            user=self.other_user,
            taxpayer=self.taxpayer_for_other_user,
            invoice_number='1235')

        self.user_post_data = UserFactory()
        self.company_user_post_data = CompanyFactory()
        self.taxpayer_post_data = TaxPayerArgentinaFactory(
            company=self.company_user_post_data)

        self.invoice_creation_empty_data = {}
        self.file_mock = MagicMock(spec=File)
        self.file_mock.name = 'lalaland.pdf'
        self.file_mock.size = 50

        self.eb_entity_example = EBEntityFactory()
        self.invoice_post_data = {
            'currency': 'ARS',
            'invoice_date': '2019-10-01',
            'invoice_file': self.file_mock,
            'invoice_number': '987654321',
            'invoice_type': 'A',
            'eb_entity': self.eb_entity_example.id,
            'net_amount': '4000',
            'po_number': '98876',
            'taxpayer': self.taxpayer.id,
            'total_amount': '5200',
            'vat': '1200',
            'user': self.user.id,
        }

        self.client = Client()
Example #3
0
    def test_comment_to_an_invoice_within_the_company_and_same_tax_payer(
            self, message, expected_status_code):
        # Given an invoice and user (supplier)
        # from other taxpayer but the same company
        self.client.force_login(self.user)

        self.user_for_same_taxpayer = UserFactory()
        self.companyuserpermission = CompanyUserPermissionFactory(
            company=self.company, user=self.user_for_same_taxpayer)
        self.invoice = InvoiceFactory(user=self.user,
                                      taxpayer=self.taxpayer,
                                      invoice_number='8695030')

        # When the user posts a comment
        response = self.client.post(
            reverse(
                'post-comment',
                kwargs={
                    'pk': self.invoice.id,
                },
            ), {'message': message})

        # Then the invoice should have a comment associated to it with its message
        comment = Comment.objects.filter(
            invoice=self.invoice).latest('comment_date_received')

        self.assertEqual(expected_status_code, response.status_code)
        self.assertEqual(comment.message, message)
        self.assertEqual(comment.user, self.user)
Example #4
0
    def test_session_language_remains_when_sending_email_in_posting_a_comment(
        self,
        language,
    ):
        # Given an user associated with the invoice with a preferred language
        # And another logged user within the company
        self.user.preferred_language = language
        self.user.save()

        self.logged_user = UserFactory()
        supplier_group = Group.objects.get(name='supplier')
        self.logged_user.groups.add(supplier_group)
        self.companyuserpermission = CompanyUserPermissionFactory(
            company=self.company, user=self.logged_user)

        request = HttpRequest()
        request.POST['message'] = 'Valid message'
        request.user = self.logged_user

        # When an email is sent when posting a comment
        with patch('invoices_app.views._send_email'):
            _send_email_when_posting_a_comment(request, self.invoice)

        # Then session language of the logged user remain
        self.assertEqual(request.user.preferred_language, get_language())
Example #5
0
 def test_company_user_permissions(self):
     user = UserFactory()
     company = CompanyFactory()
     company_user_permissions = CompanyUserPermissionFactory(
         user=user, company=company)
     self.assertEqual(company_user_permissions.user, user)
     self.assertEqual(company_user_permissions.company, company)
Example #6
0
 def test_login_success_with_EB_should_redirect_to_supplier(self):
     company = CompanyFactory(
         name='Eventbrite',
         description='Best event organizer platform in town'
     )
     CompanyUserPermissionFactory(
         user=self.user_with_eb_social,
         company=company
     )
     self.client.force_login(self.user_with_eb_social)
     response = self.client.get(SUPPLIER_HOME, follow=True)
     self.assertEqual(HTTPStatus.OK, response.status_code)
     self.assertEqual(
         'supplier_app/supplier-home.html',
         response.template_name[0]
     )
Example #7
0
 def setUp(self):
     self.eb_entity = EBEntityFactory()
     self.client = Client()
     self.factory = RequestFactory()
     self.file_mock = MagicMock(spec=File)
     self.file_mock.name = 'test.pdf'
     self.file_mock.size = 50
     self.create_taxpayer_view = CreateTaxPayerView()
     self.company = CompanyFactory()
     self.bank_info = get_bank_info_example("BBVA BANCO FRANCES S.A.")
     self.supplier_group = Group.objects.get(name='supplier')
     self.user_with_eb_social = UserFactory()
     self.user_with_eb_social.groups.add(self.supplier_group)
     self.client.force_login(self.user_with_eb_social)
     self.taxpayer_creation_url = 'taxpayer-create'
     self.companyuserpermission = CompanyUserPermissionFactory(
         company=self.company, user=self.user_with_eb_social)
     self.POST = taxpayer_creation_POST_factory(self.eb_entity.id,
                                                self.file_mock,
                                                self.bank_info)
Example #8
0
    def setUp(self):
        self.client = Client()
        self.user = UserFactory(email="*****@*****.**")
        self.supplier_group = Group.objects.get(name='supplier')
        self.user.groups.add(self.supplier_group)
        self.client.force_login(self.user)

        self.file_mock = MagicMock(spec=File)
        self.file_mock.name = 'test.pdf'
        self.file_mock.size = 50

        self.company1 = CompanyFactory(
            name='FakeCompany',
            description='Best catering worldwide'
        )
        self.company_user_permission1 = CompanyUserPermissionFactory(
            company=self.company1,
            user=self.user
        )
        self.taxpayer1 = TaxPayerArgentinaFactory(
            afip_registration_file=self.file_mock,
            witholding_taxes_file=self.file_mock,
            company=self.company1,
        )
        self.bank_info1 = BankAccountFactory(
            taxpayer=self.taxpayer1,
            bank_cbu_file=self.file_mock
        )
        self.addres1 = AddressFactory(taxpayer=self.taxpayer1)
        self.contact1 = ContactFactory(taxpayer=self.taxpayer1)
        self.taxpayer2 = TaxPayerArgentinaFactory()

        self.supplier_detail_url = 'supplier-details'
        self.taxpayer_update_url = 'taxpayer-update'
        self.address_update_url = 'address-update'
        self.bank_update_url = 'bank-account-update'