test WF poste validation
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 1 Aug 2012 15:09:19 +0000 (11:09 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 1 Aug 2012 15:09:19 +0000 (11:09 -0400)
project/dae/test/poste.py

index 0a38b13..6bf619f 100644 (file)
@@ -6,15 +6,18 @@ from django.contrib.auth.models import User
 from project.dae import models as dae
 from project.dae.test.common import DaeTest
 from project.dae.forms import PosteForm
+from project.dae.workflow import POSTE_ACTION_ENVOYER_ADMINISTRATEUR, \
+    POSTE_ETAT_BROUILLON, \
+    POSTE_ETAT_ADMINISTRATEUR
 
-class PosteAddTest(DaeTest):
+class PosteTest(DaeTest):
     """
     Test l'ajout d'un poste
     """
     url = reverse('admin:rh_poste_add')
 
     def setUp(self):
-        super(PosteAddTest, self).setUp()
+        super(PosteTest, self).setUp()
         key = "rh-%s" % self.poste_cnf_ngaoundere.id
         self.url = reverse('poste', kwargs={'key': key})
         self.post = {
@@ -116,6 +119,30 @@ class PosteAddTest(DaeTest):
         for k, expect_value in self.expect.items():
             self.assertEqual(getattr(poste, k), expect_value)
 
+    def test_validation_poste(self):
+        self._test_drh()
+        self.client.post(self.url, self.post)
+
+        p = dae.Poste.objects.get(nom='nom')
+        self.assertEqual(p.etat, POSTE_ETAT_BROUILLON)
+
+        key = "dae-%s" % p.id
+        url = reverse('poste_consulter', args=(key, ))
+        post = {
+            POSTE_ACTION_ENVOYER_ADMINISTRATEUR:  "Envoyer à l'adminstrateur",
+            'commentaire': 'xxx',
+            }
+        resp = self.client.post(url, post)
+        self.assertEqual(resp.status_code, 302)
+
+        p = dae.Poste.objects.get(nom='nom')
+        self.assertEqual(p.etat, POSTE_ETAT_ADMINISTRATEUR)
+        
+        commentaires = p.commentaires.all()
+        self.assertEqual(len(commentaires), 1)
+        self.assertEqual(commentaires[0].texte, post['commentaire'])
+        self.assertEqual(commentaires[0].etat_initial, POSTE_ETAT_BROUILLON)
+        self.assertEqual(commentaires[0].etat_final, POSTE_ETAT_ADMINISTRATEUR)
 
     def test_anonyme(self):
         """