plugin-tools
plugin-tools copied to clipboard
Plugin E2E: Tasklist
Which areas does this feature request relate to
- [ ] Create Plugin
- [ ] Sign Plugin
- [x] Plugin E2E
- [ ] Documentation
Problem
This epic contains a list of all the tasks that need to be completed for the plugin e2e package MVP.
For a detailed description of the problem, see https://github.com/grafana/grafana/issues/77484.
### Tasks
- [x] [Add new workspace](https://github.com/grafana/plugin-tools/pull/533)
- [x] [Add e2e selectors](https://github.com/grafana/plugin-tools/pull/537)
- [x] [Add first fixtures](https://github.com/grafana/plugin-tools/pull/538)
- [x] [Enable testing Config editor page](https://github.com/grafana/plugin-tools/pull/546)
- [x] [Enable testing the Query editor](https://github.com/grafana/plugin-tools/pull/551)
- [x] [Add provisioning file](https://github.com/grafana/plugin-tools/pull/558)
- [x] [Enable testing the Variable editor](https://github.com/grafana/plugin-tools/pull/553)
- [x] [Enable testing the Annotation editor](https://github.com/grafana/plugin-tools/pull/577)
- [x] [Enable testing Explore](https://github.com/grafana/plugin-tools/pull/581)
- [x] [Add GH action that resolves target versions for Grafana](https://github.com/grafana/plugin-tools/pull/584)
- [x] [Replace magic strings with selectors](https://github.com/grafana/plugin-tools/pull/597) (https://github.com/grafana/plugin-tools/pull/581#discussion_r1425004723)
- [ ] https://github.com/grafana/plugin-tools/pull/605
- [x] [Harmonise model instantiations and navigation](https://github.com/grafana/plugin-tools/pull/603)
- [ ] https://github.com/grafana/plugin-tools/pull/651
- [ ] https://github.com/grafana/plugin-tools/issues/724
- [ ] https://github.com/grafana/plugin-tools/pull/610
- [ ] https://github.com/grafana/plugin-tools/pull/612
- [ ] https://github.com/grafana/plugin-tools/pull/616
- [ ] https://github.com/grafana/plugin-tools/pull/634
- [ ] https://github.com/grafana/plugin-tools/pull/645
- [x] Refine publish to GCS step (https://github.com/grafana/plugin-tools/pull/645#pullrequestreview-1838771761)
- [ ] https://github.com/grafana/plugin-tools/pull/688
- [ ] https://github.com/grafana/plugin-tools/issues/728
- [ ] https://github.com/grafana/plugin-tools/issues/731
Solution
See https://github.com/grafana/grafana/issues/77484.
Alternatives
No response
Additional context
No response
Are you interested in contributing the solution?
- [ ] Yes
- [ ] No
Good to see that we are improving our E2E suite. BTW, did we consider breaking this into sub categories such as datasources e2e and panels e2e. By that way, we can understand what is important for different type of plugins. Also it would be nice if we can recommend series of scenarios to test for datasource developers such as how to test config editors for various scenarios, how to test query editors and query responses. Also it would be nice if we can come up with some guidelines on what a datasource developer should test and shouldn't test. ( by accident, it is easy that a plugin authors will start testing grafana functionality instead of plugin functionality )
Thanks for feedback @yesoreyeram!
This is somewhat confusing, but this issue just lists actions for this repo. The overall epic is defined in the Grafana repo, and it in turn has an issue that aimed to align on what scenarios plugin-e2e should provide for data source plugins. I shared this in the #grafana-data-sources channel to collect feedback a while back.
But I totally agree with you here - we should provide guidelines on how to E2E test the different kinds of plugins. Me and @sympatheticmoose have made a rough draft of what we'd like to cover in the docs for plugin-e2e:
├── getting-started
│ ├── installation.md
│ └── writing-tests.md
│ ├── ci-github-actions.md
├── guides
│ ├── best-practices.md
│ ├── how-to-test-data-source-plugins.md # frontend and backend
│ └──how-to-test-panel-plugins.md
│ ├── how-to-test-app-plugins.md
│ ├── assertions.md
│ ├── ci.md
│ ├── feature-toggles.md
│ ├── playwright-configuration.md
│ ├── provisioning.md
└── migration
└── migrating-from-grafana-e2e.md
├── api ref
│ ├── assertions.md
│ ├── classes.md
│ └── fixtures.md
As you can see, we'll walk through testing the different plugin types, best practices and much more in the guides.
@sunker I think we can close this one?
Yes 👍