piccolo_theme icon indicating copy to clipboard operation
piccolo_theme copied to clipboard

Add Playwright tests

Open dantownsend opened this issue 3 years ago • 5 comments

We use Playwright to test other UI projects in the Piccolo ecosystem (see Piccolo Admin).

Playwright is a E2E / UI testing framework.

Phase 1

Approximate time needed: 1 to 2 hours, depending on existing knowledge of Playwright.

  • [ ] Create a new folder called something like e2e.
  • [ ] Create requirements/test-requirements.txt, containing Playwright and Pytest.
  • [ ] Create a Playwright test (e.g. e2e/test_homepage.py), which performs some simple tests - e.g. loading the homepage, entering something into the search bar, and submitting it.
  • [ ] Create scripts/run-tests.sh, which runs pytest.

Phase 2

Can be done in a separate PR.

Approximate time needed is 1 to 2 hours, depending on knowledge of GitHub actions.

  • [ ] Run the tests using GitHub actions for a range of Sphinx versions (e.g. v4, v5), and Python versions.
    • [ ] Build the static files (cd docs && make html)
    • [ ] Have a Pytest fixture like this, which serves the static files. Hint, you should be able to use something like this, as a simple Python static file server.
  • [ ] Save screenshots of the tests as build artefacts, so we can quickly check that the theme isn't broken on any Sphinx versions when reviewing a PR.

dantownsend avatar Oct 10 '22 14:10 dantownsend

Hey @dantownsend. Would it be OK if I worked on this issue?

mikebarr24 avatar Oct 10 '22 19:10 mikebarr24

@mikebarr24 Yes, of course - would be great 👍

dantownsend avatar Oct 10 '22 19:10 dantownsend

@dantownsend Thank you! I'm new to this project and a lot of what I will be doing will be new to me. If you are looking for a fast fix to this, I'm happy to drop this.

Otherwise, I'm looking forward to getting involved!

mikebarr24 avatar Oct 10 '22 19:10 mikebarr24

@mikebarr24 There's no pressure - just tackle it in your own time. Hopefully it's an interesting one for you. I find Playwright quite exciting, and am introducing it into all of my projects.

dantownsend avatar Oct 10 '22 19:10 dantownsend

Hey @dantownsend. You're right! Playwright is a great package to have been introduced to!

I'm having some issues with the script file. I can't get the server to close after tests have run. Not sure if you're aware of any fix for this. I've created a PR anyway for you to have a look at. Happy to take on any feedback.

Thanks

mikebarr24 avatar Oct 16 '22 10:10 mikebarr24