mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-08 04:13:41 -05:00
41 lines
950 B
Python
41 lines
950 B
Python
import os
|
|
|
|
import pytest
|
|
from axe_core_python.sync_playwright import Axe
|
|
|
|
E2E_TEST_URI = os.getenv("NOTIFY_E2E_TEST_URI")
|
|
|
|
|
|
@pytest.fixture
|
|
def end_to_end_context(browser):
|
|
context = browser.new_context()
|
|
return context
|
|
|
|
|
|
@pytest.fixture
|
|
def authenticated_page(end_to_end_context):
|
|
# Open a new page and go to the site.
|
|
page = end_to_end_context.new_page()
|
|
page.goto(f"{E2E_TEST_URI}/sign-in")
|
|
|
|
# Wait for the next page to fully load.
|
|
page.wait_for_load_state("domcontentloaded")
|
|
|
|
return page
|
|
|
|
|
|
def check_axe_report(page):
|
|
axe = Axe()
|
|
|
|
results = axe.run(page)
|
|
|
|
# TODO we are setting this to critical for now
|
|
# to keep tests passing. Once the serious and
|
|
# moderate issues are fixed, we will set this
|
|
# 'moderate'
|
|
for violation in results["violations"]:
|
|
assert violation["impact"] in [
|
|
"minor",
|
|
"moderate",
|
|
], f"Accessibility violation: {violation}"
|