Ejemplo n.º 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)
Ejemplo n.º 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()
Ejemplo n.º 3
0
    def setUp(self):
        self.client = Client()
        self.ap_user = UserFactory(email='*****@*****.**')
        manager_group = Group.objects.get(name='ap_manager')
        self.ap_user.groups.add(manager_group)

        self.user_buyer_with_google_social = UserFactory(email='*****@*****.**')
        self.buyer_group = Group.objects.get(name='buyer')
        self.user_buyer_with_google_social.groups.add(self.buyer_group)
Ejemplo n.º 4
0
    def setUp(self):
        self.client = Client()

        self.supplier_group = Group.objects.get(name='supplier')
        self.ap_group = Group.objects.get(name='ap_administrator')
        self.user_with_eb_social = UserFactory(email='*****@*****.**')
        self.user_with_eb_social.groups.add(self.supplier_group)
        self.user_with_google_social = UserFactory(email='*****@*****.**')
        self.user_with_google_social.groups.add(self.ap_group)
        self.user_buyer_with_google_social = UserFactory(email='*****@*****.**')
        self.buyer_group = Group.objects.get(name='buyer')
        self.user_buyer_with_google_social.groups.add(self.buyer_group)
Ejemplo n.º 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)
Ejemplo n.º 6
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())
Ejemplo n.º 7
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)
Ejemplo n.º 8
0
 def test_check_user_backend_eventbirte_account_not_created(self):
     user = UserFactory(email='*****@*****.**')
     backend = Mock()
     backend.name = 'google-oauth2'
     request = Mock()
     request.LANGUAGE_CODE = 'en'
     details = {'email': '*****@*****.**'}
     self.assertEqual(
         check_user_backend(True, user, details=details, backend=backend, request=request)['user'].get_name,
         "admin2")
Ejemplo n.º 9
0
 def test_ap_email_is_shown_to_other_aps(self):
     user = UserFactory()
     user.groups.add(self.ap_group)
     self.client.force_login(user)
     Comment.objects.create(
         user=self.ap_user,
         invoice=self.invoice,
         message='test',
     )
     response = self.client.get(
         reverse('invoices-detail',
                 kwargs={
                     'taxpayer_id': self.taxpayer.id,
                     'pk': self.invoice.id
                 }), )
     self.assertContains(response, self.ap_user.email)
Ejemplo n.º 10
0
 def test_create_user(self):
     User = get_user_model()
     user = UserFactory(email='*****@*****.**', password='******')
     self.assertEqual(user.email, '*****@*****.**')
     self.assertTrue(user.is_active)
     self.assertFalse(user.is_staff)
     self.assertFalse(user.is_superuser)
     try:
         self.assertIsNone(user.username)
     except AttributeError:
         pass
     with self.assertRaises(TypeError):
         User.objects.create_user()
     with self.assertRaises(ValueError):
         User.objects.create_user(email='')
     with self.assertRaises(ValueError):
         User.objects.create_user(email='', password="******")
Ejemplo n.º 11
0
 def test_ap_site_access_denied(self):
     user = UserFactory(email='*****@*****.**')
     user.groups.add(self.supplier_group)
     self.client.force_login(user)
     response = self.client.get(
         reverse('ap-taxpayers'),
         follow=True,
     )
     self.assertIn(
         (
             (reverse('supplier-home'), 302)
         ),
         response.redirect_chain
         )
     self.assertEqual(response.status_code, HTTPStatus.OK)
     self.assertIn(
         'supplier_app/supplier-home.html',
         response.template_name,
     )
Ejemplo n.º 12
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)
Ejemplo n.º 13
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'
Ejemplo n.º 14
0
 def test_create_user_ap(self):
     User = get_user_model()
     user = UserFactory(email='*****@*****.**', password='******')
     self.assertEqual(User.objects.create_user('*****@*****.**', 'foo'), user)
Ejemplo n.º 15
0
 def setUp(self):
     self.client = Client()
     self.user = UserFactory(email='*****@*****.**', )
     self.user.groups.add(Group.objects.get(name='supplier'))
     self.home = 'supplier-home'
     self.taxpayer_create = 'taxpayer-create'
Ejemplo n.º 16
0
 def setUp(self):
     self.data = {
         'taxpayer': TaxPayerFactory(),
         'user': UserFactory(),
         'message': 'please upload updated AFIP form',
     }
Ejemplo n.º 17
0
 def test_add_user_to_group_buyer(self):
     user = UserFactory(email='*****@*****.**')
     backend = Mock()
     backend.name = 'google-oauth2'
     add_user_to_group(True, user, backend=backend)
     self.assertTrue(user.groups.filter(name='buyer').exists())
Ejemplo n.º 18
0
 def test_add_user_to_group_supplier(self):
     user = UserFactory(email='*****@*****.**')
     backend = Mock()
     backend.name = 'eventbrite'
     add_user_to_group(True, user, backend=backend)
     self.assertTrue(user.groups.filter(name='supplier').exists())
Ejemplo n.º 19
0
 def test_manager_user_permissions(self, view, has_access):
     user = UserFactory()
     manager_group = Group.objects.get(name='ap_manager')
     user.groups.add(manager_group)
     self.assertEqual(user.has_perm(view.permission_required), has_access)