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

Refactor: extract logic from E2E tests to reuse it for integration tests #128

Merged
merged 1 commit into from
Apr 28, 2023
Merged

Refactor: extract logic from E2E tests to reuse it for integration tests #128

merged 1 commit into from
Apr 28, 2023

Conversation

josecelano
Copy link
Member

@josecelano josecelano commented Apr 28, 2023

E2E tests run an independent application process with docker, and then the test are executed against that single service.

Integration tests will use an independent process for each test, running the API on a different port. The tests launch their instances. We need to refactor the application bootstrapping to be able to launch an app instance programmatically, as we did for the tracker.

This refactoring allows us to reuse the code from E2E tests in future integration tests.

@josecelano josecelano changed the title Refactor: extract logic from E2E tests to reuse it for integrations tests Refactor: extract logic from E2E tests to reuse it for integration tests Apr 28, 2023
…ests

E2E tests run an independent application process with docker, and then they are executed against that public service. It's only one instance.

Integrations tests will use an independent process for each test, running the API on a different port. The instance SUT is launched by the tests. We need to refactor the application bootstrapping to be able lo launch an app instance from tests.

This refactor allows us to reuse the code from E2E tests in future integration tests.
@josecelano josecelano marked this pull request as ready for review April 28, 2023 16:49
@josecelano
Copy link
Member Author

josecelano commented Apr 28, 2023

Hi @da2ce7 @WarmBeer, this is ready for review. My plan is:

  1. Merge this PR.
  2. Scaffolding for integration tests: app bootstrapping with an App launcher (what we called the state machine in the tracker), using it for both PROD and TEST envs. Notice that in the tracker we used it only for testing.

After those steps, we will be able to start writing integration tests on demand.

@josecelano josecelano merged commit e78a5bf into torrust:develop Apr 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

1 participant