Skip to content

Commit

Permalink
Make test more accessible to newcomers
Browse files Browse the repository at this point in the history
  • Loading branch information
Anna-Livia committed Oct 28, 2019
1 parent bb555df commit 6c5d462
Showing 1 changed file with 54 additions and 49 deletions.
103 changes: 54 additions & 49 deletions aidants_connect_web/tests/test_views/test_new_mandat.py
Expand Up @@ -68,16 +68,8 @@ def setUp(self):
birthcountry="99100",
email="test@test.com",
)
Connection.objects.create(
id=1, demarches=["papiers", "logement"], duree=365, usager=self.test_usager
)
Connection.objects.create(
id=2, demarches=["papiers", "logement"], duree=1, usager=self.test_usager
)
Connection.objects.create(id=3, demarches=["papiers", "logement"], duree=1)

Connection.objects.create(
id=4, demarches=["papiers"], duree=6, usager=self.test_usager
self.mandat_builder = Connection.objects.create(
demarches=["papiers", "logement"], duree=365, usager=self.test_usager
)

def test_recap_url_triggers_the_recap_view(self):
Expand All @@ -86,8 +78,9 @@ def test_recap_url_triggers_the_recap_view(self):

def test_recap_url_triggers_the_recap_template(self):
self.client.force_login(self.aidant_thierry)

session = self.client.session
session["connection"] = 1
session["connection"] = self.mandat_builder.id
session.save()

response = self.client.get("/recap/")
Expand All @@ -98,7 +91,7 @@ def test_post_to_recap_with_correct_data_redirects_to_dashboard(self):
self.client.force_login(self.aidant_thierry)
session = self.client.session

session["connection"] = 2
session["connection"] = self.mandat_builder.id
session.save()

response = self.client.post(
Expand All @@ -119,8 +112,11 @@ def test_post_to_recap_with_correct_data_redirects_to_dashboard(self):

def test_post_to_recap_without_usager_creates_error(self):
self.client.force_login(self.aidant_thierry)
mandat_builder = Connection.objects.create(
demarches=["papiers", "logement"], duree=1
)
session = self.client.session
session["connection"] = 3
session["connection"] = mandat_builder.id
session.save()
response = self.client.post(
"/recap/", data={"personal_data": True, "brief": True}
Expand All @@ -129,71 +125,80 @@ def test_post_to_recap_without_usager_creates_error(self):
self.assertEqual(len(messages), 1)

def test_updating_mandat_for_for_same_aidant(self):
self.client.force_login(self.aidant_thierry)

# first session : creating the mandat
self.client.force_login(self.aidant_thierry)
mandat_builder_1 = Connection.objects.create(
usager=self.test_usager, demarches=["papiers"], duree=3
)
session = self.client.session
session["connection"] = 2
session["connection"] = mandat_builder_1.id
session.save()
# trigger the mandat creation/update
self.client.post("/recap/", data={"personal_data": True, "brief": True})
self.assertEqual(Mandat.objects.count(), 2)
journal_entries = Journal.objects.all()
self.assertEqual(journal_entries.count(), 3)
self.assertEqual(journal_entries[1].action, "create_mandat")
self.assertEqual(journal_entries[2].action, "create_mandat")

self.assertEqual(Mandat.objects.count(), 1)
last_journal_entry = Journal.objects.last()
self.assertEqual(last_journal_entry.action, "create_mandat")

# second session : updating the mandat
mandat_builder_2 = Connection.objects.create(
usager=self.test_usager, demarches=["papiers"], duree=6
)

session = self.client.session
session["connection"] = 4
session["connection"] = mandat_builder_2.id
session.save()

# trigger the mandat creation/update
self.client.post("/recap/", data={"personal_data": True, "brief": True})

self.assertEqual(Mandat.objects.count(), 2)
first_mandat = Mandat.objects.get(demarche="papiers")
self.assertEqual(first_mandat.usager.given_name, "Fabrice")
self.assertEqual(first_mandat.duree, 6)
self.assertEqual(Mandat.objects.count(), 1)
updated_mandat = Mandat.objects.get(
demarche="papiers", usager=self.test_usager, aidant=self.aidant_thierry
)
self.assertEqual(updated_mandat.duree, 6)

journal_entries = Journal.objects.all()
self.assertEqual(journal_entries.count(), 4)
self.assertEqual(journal_entries[3].action, "update_mandat")
last_journal_entry = Journal.objects.last()
self.assertEqual(last_journal_entry.action, "update_mandat")

def test_not_updating_mandat_for_different_aidant(self):
self.client.force_login(self.aidant_thierry)

# first session : creating the mandat
self.client.force_login(self.aidant_thierry)
mandat_builder_1 = Connection.objects.create(
usager=self.test_usager, demarches=["papiers"], duree=1
)
session = self.client.session
session["connection"] = 2
session["connection"] = mandat_builder_1.id
session.save()
# trigger the mandat creation/update
self.client.post("/recap/", data={"personal_data": True, "brief": True})
self.client.logout()

# second session : updating the mandat

# second session : Create same mandat with other aidant
self.client.force_login(self.aidant_monique)

mandat_builder_2 = Connection.objects.create(
demarches=["papiers"], duree=6, usager=self.test_usager
)
session = self.client.session
session["connection"] = 4
session["connection"] = mandat_builder_2.id
session.save()

# trigger the mandat creation/update
self.client.post("/recap/", data={"personal_data": True, "brief": True})

self.assertEqual(Mandat.objects.count(), 3)
first_mandat = Mandat.objects.all()[0]
self.assertEqual(first_mandat.usager.given_name, "Fabrice")
self.assertEqual(first_mandat.demarche, "papiers")
self.assertEqual(first_mandat.aidant, self.aidant_thierry)
self.assertEqual(Mandat.objects.count(), 2)
first_mandat = Mandat.objects.get(
demarche="papiers", usager=self.test_usager, aidant=self.aidant_thierry
)
self.assertEqual(first_mandat.duree, 1)

third_mandat = Mandat.objects.all()[2]
self.assertEqual(third_mandat.usager.given_name, "Fabrice")
self.assertEqual(third_mandat.demarche, "papiers")
self.assertEqual(third_mandat.aidant, self.aidant_monique)
self.assertEqual(third_mandat.duree, 6)
second_mandat = Mandat.objects.get(
demarche="papiers", usager=self.test_usager, aidant=self.aidant_monique
)
self.assertEqual(second_mandat.duree, 6)

journal_entries = Journal.objects.all()
self.assertEqual(journal_entries.count(), 5)
self.assertEqual(journal_entries[4].action, "create_mandat")
last_journal_entry = Journal.objects.last()
self.assertEqual(last_journal_entry.action, "create_mandat")


@tag("new_mandat")
Expand Down

0 comments on commit 6c5d462

Please sign in to comment.