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

[GSoC] Multi-Project Test Suite #3155

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions integration-test/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
##### The content of this file will be replaced by the actual instructions on how to use the test suite.


#### Project description

Automated testing for projects and deployments that we expect EUI to support. Currently, we rely on manual build steps or testing suites (functional and/or unit tests) provided by consuming applications to check environment compatibility and catch instances of breaking API changes. Conversion to and adoption of TypeScript has helped at a low level, but we need broader, less manual means of understanding support coverage.
#### Target:
For projects that consume EUI
- Some of the targeted projects:
1. Gatsby EUI starter
2. NextJs
3. CodeSandbox
4. Create React App
#### Outcome:

- Developers will have a command line interface to execute the tests for different projects.
- The tool can test installation, build process and detect failure.
- The tests are configurable and extensible.
- Should also be integrated with CI tools.

Example:
```bash
>>> integration-test gatsby-starter --install
>>> integration-test --config ./integration-test/config/config.json
```
#### Overall plan:
1. Design and create a prototype test script for one of the projects such as EUI Gatsby starter.
2. Implement the essential scripts that interact with multiple projects with different operations.
3. Make the tests configurable and extensible. Improve the CLI.
4. Containeriz and optimize the suite and integrate it with CI tools.

(More details are shared in Google Doc.)