mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-06 19:34:15 -05:00
This is a proposal of a way to test that changes to this page include updates to the 'last reviewed' date, if needed.
25 lines
1.2 KiB
Python
25 lines
1.2 KiB
Python
import re
|
|
import subprocess
|
|
from datetime import datetime
|
|
|
|
|
|
def test_last_review_date():
|
|
statement_file_path = "app/templates/views/accessibility_statement.html"
|
|
|
|
# test local changes against master for a full diff of what will be merged
|
|
statement_diff = subprocess.run([f"git diff --exit-code origin/master -- {statement_file_path}"],
|
|
stdout=subprocess.PIPE, shell=True)
|
|
|
|
# if statement has changed, test the review date was part of those changes
|
|
if statement_diff.returncode == 1:
|
|
raw_diff = statement_diff.stdout.decode('utf-8')
|
|
today = datetime.now().strftime('%d %B %Y')
|
|
with open(statement_file_path, 'r') as statement_file:
|
|
current_review_date = re.search((r'This statement was prepared on 23 September 2020\. '
|
|
r'It was last reviewed on (\d{1,2} [A-Z]{1}[a-z]+ \d{4})'),
|
|
statement_file.read()).group(1)
|
|
|
|
# guard against changes that don't need to update the review date
|
|
if current_review_date != today:
|
|
assert 'This statement was prepared on 23 September 2020. It was last reviewed on' in raw_diff
|