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

Integration tests #8487

Closed
farmaazon opened this issue Dec 7, 2023 · 7 comments · Fixed by #11198
Closed

Integration tests #8487

farmaazon opened this issue Dec 7, 2023 · 7 comments · Fixed by #11198
Assignees
Labels
-build-script Category: build script -gui d-intermediate Difficulty: some prior knowledge required p-medium Should be completed in the next few sprints x-chore Type: chore

Comments

@farmaazon
Copy link
Contributor

farmaazon commented Dec 7, 2023

Automatic tests of GUI with the real backend connection. They could be playwright tests which assume there is a running project manager instance.

OPTIONAL, as it would be replaced with Bazel scripts soon: The build script should have working command ./run integration-tests which spawns PM and run those tests. The Project Manager should be configured in such a way, that it creates projects in temporary directory (to not clutter user project list) - the old integration tests had a similar mechanism.

If the above will be nontrivial (or in case of lack of time), having pnpm script for running tests (assuming there is an already built electron package) is enough for this task.

As output of this task, there should be one test scenario of "typical new project flow" where we create new project, add some nodes there, browse visualizations, collapse node, enter it, check visualizations there and leave it.

@farmaazon farmaazon added d-intermediate Difficulty: some prior knowledge required p-medium Should be completed in the next few sprints x-chore Type: chore -build-script Category: build script -gui labels Dec 7, 2023
@github-project-automation github-project-automation bot moved this to ❓New in Issues Board Dec 7, 2023
@farmaazon farmaazon moved this from ❓New to 📤 Backlog in Issues Board Dec 7, 2023
@somebody1234
Copy link
Contributor

ideally the PM would remove any temporary directories after it's done as well

@farmaazon farmaazon added this to the 2024-08 Release milestone Jul 10, 2024
@farmaazon farmaazon added the s-research-needed Status: the task will require heavy research to complete label Aug 13, 2024
@farmaazon farmaazon removed the s-research-needed Status: the task will require heavy research to complete label Sep 24, 2024
@farmaazon
Copy link
Contributor Author

farmaazon commented Sep 24, 2024

Updated the description, loosening somewhat the requirements: as we expect to remove rust build script soon, the new command is optional.

Also, after a brief research I discovered https://playwright.dev/docs/api/class-electron - as playwright for electron testing just gets the path to executable, we should test the actually build package (without running PM ourselves)

Playwright has experimental support for Electron automation. You can access electron namespace via:

@farmaazon farmaazon self-assigned this Sep 24, 2024
@farmaazon farmaazon moved this from 📤 Backlog to 🔧 Implementation in Issues Board Sep 24, 2024
@enso-bot
Copy link

enso-bot bot commented Sep 26, 2024

Adam Obuchowicz reports a new STANDUP for yesterday (2024-09-25):

Progress: Managed to run integration test on electron package. Worked on "sandboxing" the test environment (so the user's local projects won't be cluttered), discussed how to manage login. It should be finished by 2024-09-30.

Next Day: Next day I will be working on the same task. Test on every environment

@farmaazon farmaazon mentioned this issue Sep 26, 2024
2 tasks
@enso-bot
Copy link

enso-bot bot commented Sep 27, 2024

Adam Obuchowicz reports a new STANDUP for yesterday (2024-09-26):

Progress: Tested integration tests on various platforms (with Ilya's help on macOS). Last cleanups and created a PR. Also added fixes to previous PR with autosized input: the enter key wasn't handled properly. It should be finished by 2024-09-30.

Next Day: Next day I will be working on the same task. Check how to easily enable integration tests in CI.

mergify bot pushed a commit that referenced this issue Sep 27, 2024
A stub for integration tests to be run locally; part of #8487

To run tests, you need to:
1. Build IDE package: `./run ide build`
2. set ENSO_TEST_USER and ENSO_TEST_USER_PASSWORD to some working credentials (I used my personal account, but there will be also test user soon)
3. run `corepack pnpm -r --filter enso exec playwright test`

The tests are run with a separate projects directory set up in tmpdir, so any local workspace dir is not affected.

The only test so far just checks if it's possible to log in and create a new project.
@enso-bot
Copy link

enso-bot bot commented Oct 1, 2024

Adam Obuchowicz reports a new STANDUP for yesterday (2024-09-30):

Progress: The last issues of CI integration tests: the missing xvfb on linux, and some error (probably to small timeout?) on macOS. It should be finished by 2024-10-02.

@farmaazon farmaazon moved this from 🔧 Implementation to 👁️ Code review in Issues Board Oct 3, 2024
@farmaazon farmaazon mentioned this issue Oct 3, 2024
2 tasks
@mergify mergify bot closed this as completed in #11198 Oct 3, 2024
mergify bot pushed a commit that referenced this issue Oct 3, 2024
Added a step for packaging IDE which runs integration tests.

This is an additional step, not a job, because here I'm sure the package will exist and won't be built unnecessarily twice. Technically I could make a job downloading it from GH action, but didn't want to invest time to rust scripts. Once Bazel will be fully introduced, the integration test will be improved.

# Important Notes
Fixes #8487
@github-project-automation github-project-automation bot moved this from 👁️ Code review to 🟢 Accepted in Issues Board Oct 3, 2024
@farmaazon farmaazon moved this from 🟢 Accepted to 🗄️ Archived in Issues Board Oct 15, 2024
@enso-bot
Copy link

enso-bot bot commented Nov 5, 2024

Adam Obuchowicz reports a new STANDUP for the provided date (2024-10-01):

Progress: Working on integration tests It should be finished by 2024-10-02.

Next Day: Next day I will be working on the same task. Finish working on integration tests

@enso-bot
Copy link

enso-bot bot commented Nov 5, 2024

Adam Obuchowicz reports a new STANDUP for the provided date (2024-10-02):

Progress: Fixed all issues on CI with integration tests. Created a PR and got an accept. It should be finished by 2024-10-02.

Next Day: Next day I will be working on the #10668 task. Start working with E-Hern on unifying dashboard and gui projects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-build-script Category: build script -gui d-intermediate Difficulty: some prior knowledge required p-medium Should be completed in the next few sprints x-chore Type: chore
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants