diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 855659a66b..c976e25ca3 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -9,6 +9,14 @@ USER $USER # install devcontainer requirements RUN pip install -e .[dev,test] +# USER root +# RUN pip install playwright +# RUN pip install pytest-playwright playwright -U +# RUN playwright install-deps + +# USER $USER +# RUN playwright install + # docs requirements are in a separate file for the GitHub Action COPY docs/requirements.txt docs/requirements.txt RUN pip install -r docs/requirements.txt diff --git a/pyproject.toml b/pyproject.toml index ce729d2ef3..dcbb4b22a5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,8 +33,10 @@ dev = [ test = [ "coverage", "pytest", + "playwright", "pytest-django", "pytest-mock", + "pytest-playwright", "pytest-socket", ] diff --git a/test_example.py b/test_example.py new file mode 100644 index 0000000000..b05b15dabb --- /dev/null +++ b/test_example.py @@ -0,0 +1,21 @@ +import re +from playwright.sync_api import Page, expect + + +def test_has_title(page: Page): + page.goto("https://dev-benefits.calitp.org/") + + # Expect a title "to contain" a substring. + expect(page).to_have_title(re.compile("Cal-ITP")) + + +def test_get_started_link(page: Page): + page.goto("https://dev-benefits.calitp.org/") + + # Click the Choose your provider link. + page.get_by_text("Choose your provider").click() + + page.get_by_text("California State Transit (dev)").click() + + # # Expects page to have a heading with the name of Installation. + # expect(page.get("heading", name="Installation")).to_be_visible()