mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-04-30 06:01:06 -04:00
Events should be sorted reverse-chronologically, no matter what order they come back from the API in, or which field in the API response they’ve been extracted from.
110 lines
3.2 KiB
Python
110 lines
3.2 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',
|
||
(
|
||
'Test User 1:13pm '
|
||
'Renamed this service from ‘Before lunch’ to ‘After lunch’ '
|
||
'Test User 12:12pm '
|
||
'Renamed this service from ‘Example service’ to ‘Before lunch’'
|
||
),
|
||
),
|
||
(
|
||
'11 November',
|
||
(
|
||
'Test User 12:12pm '
|
||
'Revoked the ‘Bad key’ API key'
|
||
),
|
||
),
|
||
(
|
||
'11 November 2011',
|
||
(
|
||
'Test User 11:11am '
|
||
'Created an API key called ‘Bad key’'
|
||
),
|
||
),
|
||
(
|
||
'10 October 2010',
|
||
(
|
||
'Test User 11:10am '
|
||
'Created an API key called ‘Good key’ '
|
||
'Test User 10:09am '
|
||
'Created an API key called ‘Key event returned in non-chronological order’ '
|
||
'Unknown 2:01am '
|
||
'Created this service and called it ‘Example service’'
|
||
),
|
||
),
|
||
]),
|
||
({'selected': 'api'}, [
|
||
(
|
||
'11 November',
|
||
(
|
||
'Test User 12:12pm '
|
||
'Revoked the ‘Bad key’ API key'
|
||
),
|
||
),
|
||
(
|
||
'11 November 2011',
|
||
(
|
||
'Test User 11:11am '
|
||
'Created an API key called ‘Bad key’'
|
||
),
|
||
),
|
||
(
|
||
'10 October 2010',
|
||
(
|
||
'Test User 11:10am '
|
||
'Created an API key called ‘Good key’ '
|
||
'Test User 10:09am '
|
||
'Created an API key called ‘Key event returned in non-chronological order’'
|
||
),
|
||
),
|
||
]),
|
||
({'selected': 'service'}, [
|
||
(
|
||
'12 December',
|
||
(
|
||
'Test User 1:13pm '
|
||
'Renamed this service from ‘Before lunch’ to ‘After lunch’ '
|
||
'Test User 12:12pm '
|
||
'Renamed this service from ‘Example service’ to ‘Before lunch’'
|
||
),
|
||
),
|
||
(
|
||
'10 October 2010',
|
||
(
|
||
'Unknown 2:01am '
|
||
'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'
|
||
|
||
headings = page.select('main h2.heading-small')
|
||
events = page.select('main ul.bottom-gutter')
|
||
|
||
assert len(headings) == len(events) == len(expected_headings_and_events)
|
||
|
||
for index, expected in enumerate(expected_headings_and_events):
|
||
assert (
|
||
normalize_spaces(headings[index].text),
|
||
normalize_spaces(events[index].text),
|
||
) == expected
|