100 lines
3.4 KiB
Python
100 lines
3.4 KiB
Python
from django.urls import reverse
|
|
from django.utils import translation
|
|
from wiki.models import URLPath
|
|
|
|
from ...base import ArticleWebTestUtils
|
|
from ...base import DjangoClientTestBase
|
|
from ...base import RequireRootArticleMixin
|
|
|
|
|
|
class GlobalhistoryTests(
|
|
RequireRootArticleMixin, ArticleWebTestUtils, DjangoClientTestBase
|
|
):
|
|
def test_history(self):
|
|
url = reverse("wiki:globalhistory")
|
|
url0 = reverse("wiki:globalhistory", kwargs={"only_last": "0"})
|
|
url1 = reverse("wiki:globalhistory", kwargs={"only_last": "1"})
|
|
|
|
response = self.client.get(url)
|
|
expected = "(?s).*Root Article.*no log message.*"
|
|
self.assertRegex(response.rendered_content, expected)
|
|
|
|
URLPath.create_urlpath(
|
|
URLPath.root(),
|
|
"testhistory1",
|
|
title="TestHistory1",
|
|
content="a page",
|
|
user_message="Comment 1",
|
|
)
|
|
response = self.client.get(url)
|
|
expected = (
|
|
"(?s).*TestHistory1.*Comment 1.*" "Root Article.*no log message.*"
|
|
)
|
|
self.assertRegex(response.rendered_content, expected)
|
|
|
|
urlpath = URLPath.create_urlpath(
|
|
URLPath.root(),
|
|
"testhistory2",
|
|
title="TestHistory2",
|
|
content="a page",
|
|
user_message="Comment 2",
|
|
)
|
|
expected = (
|
|
"(?s).*TestHistory2.*Comment 2.*"
|
|
"TestHistory1.*Comment 1.*"
|
|
"Root Article.*no log message.*"
|
|
)
|
|
response = self.client.get(url)
|
|
self.assertRegex(response.rendered_content, expected)
|
|
|
|
response = self.client.get(url0)
|
|
self.assertRegex(response.rendered_content, expected)
|
|
|
|
response = self.client.get(url1)
|
|
self.assertRegex(response.rendered_content, expected)
|
|
|
|
response = self.client.post(
|
|
reverse("wiki:edit", kwargs={"path": "testhistory2/"}),
|
|
{
|
|
"content": "a page modified",
|
|
"current_revision": str(urlpath.article.current_revision.id),
|
|
"preview": "0",
|
|
"save": "1",
|
|
"summary": "Testing Revision",
|
|
"title": "TestHistory2Mod",
|
|
},
|
|
)
|
|
|
|
expected = (
|
|
"(?s).*TestHistory2Mod.*Testing Revision.*"
|
|
"TestHistory2.*Comment 2.*"
|
|
"TestHistory1.*Comment 1.*"
|
|
"Root Article.*no log message.*"
|
|
)
|
|
response = self.client.get(url)
|
|
self.assertRegex(response.rendered_content, expected)
|
|
|
|
response = self.client.get(url0)
|
|
self.assertRegex(response.rendered_content, expected)
|
|
|
|
expected = (
|
|
"(?s).*TestHistory2Mod.*Testing Revision.*"
|
|
"TestHistory1.*Comment 1.*"
|
|
"Root Article.*no log message.*"
|
|
)
|
|
response = self.client.get(url1)
|
|
self.assertRegex(response.rendered_content, expected)
|
|
|
|
def test_translation(self):
|
|
# Test that translation of "List of %s changes in the wiki." exists.
|
|
url = reverse("wiki:globalhistory")
|
|
response_en = self.client.get(url)
|
|
self.assertIn("Global history", response_en.rendered_content)
|
|
self.assertIn("in the wiki", response_en.rendered_content)
|
|
|
|
with translation.override("da-DK"):
|
|
response_da = self.client.get(url)
|
|
|
|
self.assertNotIn("Global history", response_da.rendered_content)
|
|
self.assertNotIn("in the wiki", response_da.rendered_content)
|