mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-18 21:49:37 -04:00
This commit introduces a slightly hacky way of putting usernames against events, given that the API only returns user IDs. It does so without: - making changes to the API - making a pages that could potentially fire off dozens of API calls (ie one per user) This comes with the limitation that it can only get names for those team members who are still in the team. Otherwise it will say ‘Unknown’. In the future the API should probably return the name and email address for the user who initiated the event, and whether that user was acting in a platform admin capacity.
100 lines
2.6 KiB
Python
100 lines
2.6 KiB
Python
import pytest
|
||
|
||
from tests.conftest import SERVICE_ONE_ID, normalize_spaces
|
||
|
||
|
||
@pytest.mark.parametrize('extra_args, expected_headings_and_events', (
|
||
({}, [
|
||
(
|
||
'12 December',
|
||
(
|
||
'Test User 12:12pm '
|
||
'Renamed this service from ‘Example service’ to ‘Real service’'
|
||
),
|
||
),
|
||
(
|
||
'11 November',
|
||
(
|
||
'Test User 12:12pm '
|
||
'Revoked the ‘Bad key’ API key'
|
||
),
|
||
),
|
||
(
|
||
'11 November',
|
||
(
|
||
'Test User 11:11am '
|
||
'Created an API key called ‘Bad key’'
|
||
),
|
||
),
|
||
(
|
||
'10 October',
|
||
(
|
||
'Test User 11:10am '
|
||
'Created an API key called ‘Good key’ '
|
||
'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',
|
||
(
|
||
'Test User 11:11am '
|
||
'Created an API key called ‘Bad key’'
|
||
),
|
||
),
|
||
(
|
||
'10 October',
|
||
(
|
||
'Test User 11:10am '
|
||
'Created an API key called ‘Good key’'
|
||
),
|
||
),
|
||
]),
|
||
({'selected': 'service'}, [
|
||
(
|
||
'12 December',
|
||
(
|
||
'Test User 12:12pm '
|
||
'Renamed this service from ‘Example service’ to ‘Real service’'
|
||
),
|
||
),
|
||
(
|
||
'10 October',
|
||
(
|
||
'Unknown 2:01am '
|
||
'Created this service and called it ‘Example service’'
|
||
),
|
||
),
|
||
]),
|
||
))
|
||
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
|