Add test for editing session ping when latest revision has no associated user

pull/12109/head
Sage Abdullah 2024-07-05 12:42:14 +01:00
rodzic c58e156cd9
commit 1f67b5ae1d
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: EB1A33CC51CC0217
1 zmienionych plików z 41 dodań i 0 usunięć

Wyświetl plik

@ -333,6 +333,47 @@ class TestPingView(WagtailTestUtils, TestCase):
self.assertEqual(self.session.last_seen_at, TIMESTAMP_NOW)
self.assertFalse(self.session.is_editing)
@freeze_time(TIMESTAMP_NOW)
def test_ping_with_new_revision_that_has_no_user(self):
# Create a new revision without any user
with freeze_time(TIMESTAMP_3):
latest_revision = self.page.save_revision()
response = self.client.post(
reverse(
"wagtailadmin_editing_sessions:ping",
args=("wagtailcore", "page", self.page.id, self.session.id),
),
{"revision_id": self.original_revision.id},
)
self.assertEqual(response.status_code, 200)
response_json = response.json()
self.assertEqual(response_json["session_id"], self.session.id)
self.assertEqual(
response_json["other_sessions"],
[
{
# Should work even if the revision has no associated user
"session_id": None,
"user": "",
"last_seen_at": TIMESTAMP_3.isoformat(),
"is_editing": False,
"revision_id": latest_revision.id,
},
{
"session_id": self.other_session.id,
"user": "Vic Otheruser",
"last_seen_at": TIMESTAMP_2.isoformat(),
"is_editing": False,
"revision_id": None,
},
],
)
self.session.refresh_from_db()
self.assertEqual(self.session.last_seen_at, TIMESTAMP_NOW)
self.assertFalse(self.session.is_editing)
@freeze_time(TIMESTAMP_NOW)
def test_ping_session_ordering(self):
fourth_user = self.create_user(