diff --git a/accounting/tests.py b/accounting/tests.py index 3c76c66a..4d937ac9 100644 --- a/accounting/tests.py +++ b/accounting/tests.py @@ -6,7 +6,7 @@ from django.conf import settings from core.models import User from counter.models import Counter -from accounting.models import GeneralJournal, Operation, AccountingType +from accounting.models import GeneralJournal, Operation, AccountingType, SimplifiedAccountingType class RefoundAccountTest(TestCase): @@ -75,7 +75,6 @@ class OperationTest(TestCase): def test_new_operation(self): self.client.login(username='comptable', password='plop') at = AccountingType.objects.filter(code = '604').first() - at.save() response = self.client.post(reverse('accounting:op_new', args=[self.journal.id]), {'amount': 30, @@ -95,11 +94,12 @@ class OperationTest(TestCase): }) self.assertFalse(response.status_code == 403) self.assertTrue(self.journal.operations.filter(target_label = "Le fantome de la nuit").exists()) + response_get = self.client.get(reverse("accounting:journal_details", args=[self.journal.id])) + self.assertTrue('Le fantome de la nuit' in str(response_get.content)) - def test_new_operation_not_authorized(self): - self.client.login(username='skia', password='plop') + def test_bad_new_operation(self): + self.client.login(username='comptable', password='plop') at = AccountingType.objects.filter(code = '604').first() - at.save() response = self.client.post(reverse('accounting:op_new', args=[self.journal.id]), {'amount': 30, @@ -113,8 +113,57 @@ class OperationTest(TestCase): 'cheque_number' : '', 'invoice' : '', 'simpleaccounting_type' : '', + 'accounting_type': '', + 'label' : '', + 'done' : False, + }) + self.assertTrue('Vous devez fournir soit un type comptable simplifi\\xc3\\xa9 ou un type comptable standard' in str(response.content)) + + def test_new_operation_not_authorized(self): + self.client.login(username='skia', password='plop') + at = AccountingType.objects.filter(code = '604').first() + response = self.client.post(reverse('accounting:op_new', + args=[self.journal.id]), + {'amount': 30, + 'remark' : "Un gros test", + 'journal' : self.journal.id, + 'target_type' : 'OTHER', + 'target_id' : '', + 'target_label' : "Le fantome du jour", + 'date' : '04/12/2020', + 'mode' : 'CASH', + 'cheque_number' : '', + 'invoice' : '', + 'simpleaccounting_type' : '', 'accounting_type': at.id, 'label' : '', 'done' : False, }) - self.assertTrue(response.status_code == 403) \ No newline at end of file + self.assertTrue(response.status_code == 403) + self.assertFalse(self.journal.operations.filter(target_label = "Le fantome du jour").exists()) + + def test__operation_simple_accounting(self): + self.client.login(username='comptable', password='plop') + sat = SimplifiedAccountingType.objects.all().first() + response = self.client.post(reverse('accounting:op_new', + args=[self.journal.id]), + {'amount': 23, + 'remark' : "Un gros test", + 'journal' : self.journal.id, + 'target_type' : 'OTHER', + 'target_id' : '', + 'target_label' : "Le fantome de l'aurore", + 'date' : '04/12/2020', + 'mode' : 'CASH', + 'cheque_number' : '', + 'invoice' : '', + 'simpleaccounting_type' : sat.id, + 'accounting_type': '', + 'label' : '', + 'done' : False, + }) + self.assertFalse(response.status_code == 403) + self.assertTrue(self.journal.operations.filter(amount=23).exists()) + response_get = self.client.get(reverse("accounting:journal_details", args=[self.journal.id])) + self.assertTrue("Le fantome de l'aurore" in str(response_get.content)) + self.assertTrue(self.journal.operations.filter(amount=23).values('accounting_type').first()['accounting_type'] == AccountingType.objects.filter(code=6).values('id').first()['id']) \ No newline at end of file