Example #1
0
    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')
Example #2
0
    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')
Example #3
0
    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')
Example #4
0
    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())
Example #5
0
    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')