mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-04-25 19:50:49 -04:00
* Removed all govuk css * Updated reference files * Removing govuk js * Fixed casing for modules, removed unused page * Got more reference images * Updated template page * Removed govuk padding util * Updated hint to uswds hint * More govuk cleanup * Commiting backstopjs ref files * Fixed all unit tests that broke due to brittleness around govuk styling * Added new ref images * Final removal of govuk * Officially removed all govuk references * Updated reference file * Updated link to button * UI modernization * Cleanup * removed govuk escaping tests since they are no longer needed * Fix CodeQL security issue in escapeElementName function - Escape backslashes first before other special characters - Prevents potential double-escaping vulnerability - Addresses CodeQL alert about improper string escaping * Found more govuk removal. Fixed unit tests * Add missing pipeline check to pre-commit * updated test * Updated e2e test * More update to e2e test * Fixed another e2e test * Simple PR comments addressed * More updates * Updated backstop ref files * Refactored folder selection for non-admins * Updated redundant line * Updated tests to include correct mocks * Added more ref files * Addressing carlos comments * Addressing Carlo comments, cleanup of window initing * More cleanup and addressing carlo comments * Fixing a11 scan * Fixed a few issues with javascript * Fixed for pr * Fixing e2e tests * Tweaking e2e test * Added more ref files and cleaned up urls.js * Fixed bug with creating new template * Removed brittle test - addressed code ql comment * e2e race condition fix * More e2e test fixes * Updated e2e tests to not wait for text sent * Updated test to not wait for button click response * Made tear down more resilent if staging is down * reverted e2e test to what was working before main merge * Updated backstopRef images * Updated gulp to include job-polling differently
112 lines
3.8 KiB
Python
112 lines
3.8 KiB
Python
import pytest
|
||
from freezegun import freeze_time
|
||
|
||
from tests.conftest import SERVICE_ONE_ID, normalize_spaces
|
||
|
||
|
||
@pytest.mark.parametrize(
|
||
("extra_args", "expected_headings_and_events"),
|
||
[
|
||
(
|
||
{},
|
||
[
|
||
(
|
||
"12 December 2012",
|
||
(
|
||
"Test User 13:13 "
|
||
"Renamed this service from ‘Before lunch’ to ‘After lunch’ "
|
||
"Test User 12:12 "
|
||
"Renamed this service from ‘Example service’ to ‘Before lunch’"
|
||
),
|
||
),
|
||
(
|
||
"11 November 2012",
|
||
("Test User 12:12 " "Revoked the ‘Bad key’ API key"),
|
||
),
|
||
(
|
||
"11 November",
|
||
("Test User 11:11 " "Created an API key called ‘Bad key’"),
|
||
),
|
||
(
|
||
"10 October 2010",
|
||
(
|
||
"Test User 11:10 "
|
||
"Created an API key called ‘Good key’ "
|
||
"Test User 10:09 "
|
||
"Created an API key called ‘Key event returned in non-chronological order’ "
|
||
"Test User 02:01 "
|
||
"Created this service and called it ‘Example service’"
|
||
),
|
||
),
|
||
],
|
||
),
|
||
(
|
||
{"selected": "api"},
|
||
[
|
||
(
|
||
"11 November 2012",
|
||
("Test User 12:12 " "Revoked the ‘Bad key’ API key"),
|
||
),
|
||
(
|
||
"11 November",
|
||
("Test User 11:11 " "Created an API key called ‘Bad key’"),
|
||
),
|
||
(
|
||
"10 October 2010",
|
||
(
|
||
"Test User 11:10 "
|
||
"Created an API key called ‘Good key’ "
|
||
"Test User 10:09 "
|
||
"Created an API key called ‘Key event returned in non-chronological order’"
|
||
),
|
||
),
|
||
],
|
||
),
|
||
(
|
||
{"selected": "service"},
|
||
[
|
||
(
|
||
"12 December 2012",
|
||
(
|
||
"Test User 13:13 "
|
||
"Renamed this service from ‘Before lunch’ to ‘After lunch’ "
|
||
"Test User 12:12 "
|
||
"Renamed this service from ‘Example service’ to ‘Before lunch’"
|
||
),
|
||
),
|
||
(
|
||
"10 October 2010",
|
||
(
|
||
"Test User 02:01 "
|
||
"Created this service and called it ‘Example service’"
|
||
),
|
||
),
|
||
],
|
||
),
|
||
],
|
||
)
|
||
@freeze_time("2012-01-01 01:01:01")
|
||
def test_history(
|
||
client_request,
|
||
mock_get_service_history,
|
||
mock_get_users_by_service,
|
||
extra_args,
|
||
expected_headings_and_events,
|
||
):
|
||
page = client_request.get("main.history", service_id=SERVICE_ONE_ID, **extra_args)
|
||
|
||
assert page.select_one("h1").text == "Audit events"
|
||
|
||
# Check for content directly
|
||
page_text = normalize_spaces(page.text)
|
||
|
||
for expected_heading, expected_events in expected_headings_and_events:
|
||
# Check heading exists in page
|
||
assert expected_heading in page_text
|
||
|
||
# The application renders with curly quotes, and our test data has curly quotes
|
||
for event in expected_events.split("Test User"):
|
||
if event.strip():
|
||
# Just check the main content without the "Test User" prefix
|
||
assert event.strip() in page_text
|