Messages persist properly when multiple POSTs are made before a GET.
(self)
| 191 | |
| 192 | @override_settings(MESSAGE_LEVEL=constants.DEBUG) |
| 193 | def test_multiple_posts(self): |
| 194 | """ |
| 195 | Messages persist properly when multiple POSTs are made before a GET. |
| 196 | """ |
| 197 | data = { |
| 198 | "messages": ["Test message %d" % x for x in range(5)], |
| 199 | } |
| 200 | show_url = reverse("show_message") |
| 201 | messages = [] |
| 202 | for level in ("debug", "info", "success", "warning", "error"): |
| 203 | messages.extend( |
| 204 | Message(self.levels[level], msg) for msg in data["messages"] |
| 205 | ) |
| 206 | add_url = reverse("add_message", args=(level,)) |
| 207 | self.client.post(add_url, data) |
| 208 | response = self.client.get(show_url) |
| 209 | self.assertIn("messages", response.context) |
| 210 | self.assertEqual(list(response.context["messages"]), messages) |
| 211 | for msg in data["messages"]: |
| 212 | self.assertContains(response, msg) |
| 213 | |
| 214 | @modify_settings( |
| 215 | INSTALLED_APPS={"remove": "django.contrib.messages"}, |