def test_add_recette_admin_ar_and_re(self): naturecomptable = NatureComptableRecette.objects.get( code_nature_comptable='9RDRN', is_fleche=self.pfi.is_fleche) post_data = { 'annee': self.periode.annee, 'naturecomptablerecette': naturecomptable.pk, 'pfi': self.pfi.pk, 'structure': self.pfi.structure.pk, 'periodebudget': self.periode.pk, 'montant_ar': Decimal(1), 'montant_re': Decimal(2), 'montant_dc': Decimal(3), } form_kwargs = { 'annee': self.periode.annee, 'periodebudget': self.periode, 'pfi': self.pfi, 'is_dfi_member_or_admin': True, 'natures': self.natures, 'user': self.user1 } form = RecetteForm(data=post_data, **form_kwargs) self.assertTrue(form.is_bound) self.assertTrue(form.is_valid()) recette = form.save() self.assertIsNotNone(recette) self.assertEqual(recette.creepar, 'user1') self.assertEqual(recette.modifiepar, 'user1')
def test_edit_recette(self): recette = Recette.objects.create( naturecomptablerecette=self.naturecomptable, pfi=self.pfi, structure=self.pfi.structure, annee=self.periode.annee, periodebudget=self.periode, montant_ar=Decimal(1), montant_re=Decimal(2), montant_dc=Decimal(3), creepar='user2') form_kwargs = { 'annee': self.periode.annee, 'periodebudget': self.periode, 'pfi': self.pfi, 'is_dfi_member_or_admin': True, 'natures': self.natures, 'user': self.user1 } form = RecetteForm(instance=recette, **form_kwargs) self.assertEqual(form.fields['naturecomptablerecette'].initial.pk, self.naturecomptable.pk) recette = form.save() self.assertIsNotNone(recette) self.assertEqual(recette.creepar, 'user2') self.assertEqual(recette.modifiepar, 'user1')
def test_edit_recette_no_admin_budgetaire(self): naturecomptable = NatureComptableRecette.objects.get( code_nature_comptable='9RCFG', is_fleche=self.pfi.is_fleche) recette = Recette.objects.create( naturecomptablerecette=naturecomptable, pfi=self.pfi, structure=self.pfi.structure, annee=self.periode.annee, periodebudget=self.periode, montant_ar=Decimal(10), montant_re=Decimal(10), montant_dc=Decimal(30), creepar='user2') form_kwargs = { 'annee': self.periode.annee, 'periodebudget': self.periode, 'pfi': self.pfi, 'is_dfi_member_or_admin': False, 'natures': self.natures, 'user': self.user1 } form = RecetteForm(instance=recette, **form_kwargs) self.assertEqual(form.fields['naturecomptablerecette'].initial.pk, naturecomptable.pk) recette = form.save() self.assertIsNotNone(recette) self.assertEqual(recette.creepar, 'user2') self.assertEqual(recette.modifiepar, 'user1')
def test_add_recette_admin_without_naturecomptable(self): post_data = { 'annee': self.periode.annee, 'pfi': self.pfi.pk, 'enveloppe': 'Fonctionnement', 'naturecomptablerecette': self.natures, 'structure': self.pfi.structure.pk, 'periodebudget': self.periode.pk, 'montant_ae': Decimal(20), 'montant_cp': Decimal(20), 'montant_dc': Decimal(10), } form_kwargs = { 'annee': self.periode.annee, 'periodebudget': self.periode, 'pfi': self.pfi, 'is_dfi_member_or_admin': True, 'natures': self.natures, 'user': self.user1 } form = RecetteForm(data=post_data, **form_kwargs) self.assertTrue(form.is_bound) self.assertFalse(form.is_valid())
def test_add_recette_no_admin_ar_and_re(self): naturecomptable = NatureComptableRecette.objects.get( code_nature_comptable='9RDRN', is_fleche=self.pfi.is_fleche) post_data = { 'annee': self.periode.annee, 'naturecomptablerecette': naturecomptable.pk, 'pfi': self.pfi.pk, 'structure': self.pfi.structure.pk, 'periodebudget': self.periode.pk, 'montant_ar': Decimal(1), 'montant_re': Decimal(2), 'montant_dc': Decimal(3), } form_kwargs = { 'annee': self.periode.annee, 'periodebudget': self.periode, 'pfi': self.pfi, 'is_dfi_member_or_admin': False, 'natures': self.natures, 'user': self.user1 } form = RecetteForm(data=post_data, **form_kwargs) self.assertTrue(form.is_bound) with self.assertRaises(forms.ValidationError) as e: form.is_valid() form.clean() self.assertRegexpMatches( e.exception.message, 'Le montant AR et RE ne peuvent pas ĂȘtre diffĂ©rent')