2020-12-19 15:38:32 +01:00
|
|
|
from django.core.signing import b64_decode
|
2021-07-13 16:06:12 +02:00
|
|
|
from django.test import TestCase, override_settings
|
2015-12-30 16:51:16 +01:00
|
|
|
from django.urls import reverse
|
2013-03-18 15:48:47 -07:00
|
|
|
|
2021-07-13 16:06:12 +02:00
|
|
|
from .models import SomeObject
|
|
|
|
from .urls import ContactFormViewWithMsg, DeleteFormViewWithMsg
|
2013-11-02 13:12:09 -07:00
|
|
|
|
2015-02-10 08:30:35 -05:00
|
|
|
|
2022-02-03 20:24:19 +01:00
|
|
|
@override_settings(ROOT_URLCONF="messages_tests.urls")
|
2021-07-13 16:06:12 +02:00
|
|
|
class SuccessMessageMixinTests(TestCase):
|
2013-03-18 15:48:47 -07:00
|
|
|
def test_set_messages_success(self):
|
2022-02-03 20:24:19 +01:00
|
|
|
author = {"name": "John Doe", "slug": "success-msg"}
|
|
|
|
add_url = reverse("add_success_msg")
|
2013-03-18 15:48:47 -07:00
|
|
|
req = self.client.post(add_url, author)
|
2020-12-19 15:38:32 +01:00
|
|
|
# Uncompressed message is stored in the cookie.
|
|
|
|
value = b64_decode(
|
2022-02-03 20:24:19 +01:00
|
|
|
req.cookies["messages"].value.split(":")[0].encode(),
|
2020-12-19 15:38:32 +01:00
|
|
|
).decode()
|
|
|
|
self.assertIn(ContactFormViewWithMsg.success_message % author, value)
|
2021-07-13 16:06:12 +02:00
|
|
|
|
|
|
|
def test_set_messages_success_on_delete(self):
|
2022-02-03 20:24:19 +01:00
|
|
|
object_to_delete = SomeObject.objects.create(name="MyObject")
|
|
|
|
delete_url = reverse("success_msg_on_delete", args=[object_to_delete.pk])
|
2021-07-13 16:06:12 +02:00
|
|
|
response = self.client.post(delete_url, follow=True)
|
|
|
|
self.assertContains(response, DeleteFormViewWithMsg.success_message)
|