Skip to content

Commit

Permalink
Add patch to display protocol numbers
Browse files Browse the repository at this point in the history
  • Loading branch information
francesco-ballarin committed Mar 19, 2024
1 parent 783cc02 commit db70a08
Show file tree
Hide file tree
Showing 3 changed files with 99 additions and 0 deletions.
97 changes: 97 additions & 0 deletions patches/turing/0012_display_protocol_numbers.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
diff --git a/engine/models.py b/engine/models.py
index e9cd601..81d3460 100644
--- a/engine/models.py
+++ b/engine/models.py
@@ -538,6 +538,7 @@ class Consegna(Evento):
frase = "La risposta che hai consegnato è esatta!"
else:
frase = "La risposta che hai consegnato è errata."
+ frase += f" Il numero di protocollo è {self.pk}."
return (True, frase)

return res
@@ -573,4 +574,5 @@ class Jolly(Evento):

if (res[0]):
self.save()
+ res = (res[0], res[1] + f". Il numero di protocollo è {self.pk}.")
return res
diff --git a/engine/tests.py b/engine/tests.py
index 2c7a6c2..2d07dd8 100644
--- a/engine/tests.py
+++ b/engine/tests.py
@@ -973,7 +973,10 @@ class MyTestCase(TestCase):
messages = list(response.context["messages"])
for i, m in enumerate(messages_post):
self.assertEqual(messages[i].tags, m["tag"])
- self.assertEqual(messages[i].message, m["message"])
+ if "partial" in m and m["partial"]:
+ assert m["message"] in messages[i].message
+ else:
+ self.assertEqual(messages[i].message, m["message"])
if form_errors is not None:
form = response.context_data["form"]
self.assertEqual(dict(form.errors), form_errors)
@@ -1206,7 +1209,7 @@ class PermissionTests(MyTestCase, TuringTests):
self.assertTrue(self.user.is_inseritore(self.gara))

self.go_to_minute(130)
- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "La risposta che hai consegnato è errata."}])
+ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": f"La risposta che hai consegnato è errata.", "partial": True}])
e = self.gara.eventi.get()
self.assertEqual(e.as_child().risposta, 76)

@@ -1236,7 +1239,7 @@ class PermissionTests(MyTestCase, TuringTests):
self.gara.inseritori.add(self.user)
self.assertTrue(self.user.is_inseritore(self.gara))

- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "La risposta che hai consegnato è errata."}])
+ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "La risposta che hai consegnato è errata.", "partial": True}])

self.assertTrue(self.gara.eventi.exists())
e = self.gara.eventi.get()
@@ -1254,7 +1257,7 @@ class PermissionTests(MyTestCase, TuringTests):
self.gara.inseritori.add(self.user)
self.assertTrue(self.user.is_inseritore(self.gara))

- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto"}])
+ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto", "partial": True}])

jolly = self.gara.get_jolly()
assert len(jolly) == 1
@@ -1296,7 +1299,7 @@ class PermissionTests(MyTestCase, TuringTests):
s.save()

# Stavolta va bene
- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto"}])
+ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto", "partial": True}])
self.assertTrue(self.gara.eventi.exists())
self.assertEqual(self.gara.get_jolly(), [{'id': 1, 'squadra': 1, 'problema': 2}])

@@ -1316,7 +1319,7 @@ class PermissionTests(MyTestCase, TuringTests):

# Inserisce la risposta per la squadra 1
self.data = {'squadra': s1.pk, 'problema': 2, 'risposta': 76}
- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "La risposta che hai consegnato è errata."}])
+ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "La risposta che hai consegnato è errata.", "partial": True}])

# Controlla gli eventi visibili
eventi = self.view_helper(200).context['eventi']
@@ -1333,7 +1336,7 @@ class PermissionTests(MyTestCase, TuringTests):

# Inserisce una nuova consegna
self.data = {'squadra': s2.pk, 'problema': 3, 'jolly': True}
- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto"}])
+ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto", "partial": True}])

# Controlla gli eventi visibili
eventi = self.view_helper(200).context['eventi']
@@ -1424,7 +1427,7 @@ class PermissionTests(MyTestCase, TuringTests):
sq = self.gara.squadre.all()[0]

self.data = {'squadra': sq.pk, 'problema': 1, 'jolly': True}
- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto"}])
+ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto", "partial": True}])

self.data = {'squadra': sq.pk, 'problema': 2, 'jolly': True}
self.view_helper(200, 200, messages_post=[{"tag": "danger", "message": "Inserimento non riuscito"}])
1 change: 1 addition & 0 deletions patches/turing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ This directory contains a few local patches. Most of them are related to changes
9. `0009_upload_journal.patch`: allow user to upload and import a **mathrace** journal.
10. `0010_update_requirements.patch`: update versions in `requirements.txt`, after checking that tests still run correctly.
11. `0011_models_to_from_dict_fixes.patch`: fixes to `Gara.create_from_dictionary` and `Gara.to_dict`, so that the latter returns a fully serialized object, and the former does not change the input dictionary.
12. `0012_display_protocol_numbers.patch`: display the protocol number (primary key in the database) when adding a new answer or jolly selection through the web interface.
1 change: 1 addition & 0 deletions patches/turing/apply_patches.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,5 @@ else
apply_patch 0009_upload_journal.patch
apply_patch 0010_update_requirements.patch
apply_patch 0011_models_to_from_dict_fixes.patch
apply_patch 0012_display_protocol_numbers.patch
fi

0 comments on commit db70a08

Please sign in to comment.