Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build out simple e2e Testing in CI #34833

Open
feanil opened this issue May 21, 2024 · 2 comments
Open

Build out simple e2e Testing in CI #34833

feanil opened this issue May 21, 2024 · 2 comments

Comments

@feanil
Copy link
Contributor

feanil commented May 21, 2024

Context

The edx-platform frontend is very complex and so not all the issues with it can be caught with the existing frontend unit tests.

Goal

To ensure that we don't break the most basic capabilities of the edx-platform, we should have a set of tests that run on a production-like runtime of edx-platform.

Acceptance Criteria

The end-to-end tests should spin up a production like run of edx-platform with assets fully built and test the following scenarios:

  • User creation
  • User Login
  • User enrollment in a course
  • User can load a problem
  • User can submit a response

Some of these capabilities have moved to MFEs in which case we should use the relevant APIs but where possible we should load the page/iframe in a browser and do UI level testing.

@awais786
Copy link
Contributor

@feanil what playwirght seems good candidate for this.
Could you please share some ideas on how to initiate the server or use an existing sandbox with code changes?

@feanil
Copy link
Contributor Author

feanil commented Jul 16, 2024

I think the simplest version of this testing would bring up the server similar to how we do it for the migration testing where we just use the minimal config and then we hit that running server with whatever UI testing we have written. I think it's fine to try this with playwright or any other technology that you're familiar with as long as the end tests are in python or javascript in a way that's easy for developers to add/update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants