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)
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()
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)
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())
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)
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] )
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)
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'