kibana/test/plugin_functional
Stacey Gammon bd484391fc
Embeddable API V2 (#37510)
* Embeddable API plugin

* Expose new embeddableActions uiExport endpoint

* Add missing getInjectedUIAppVars to Server type

* Add jest tests

* Most basic skeleton of the sample plugin to see if it still kills ci

* strip even more out to see if it passes ci

* It passed, put back init fn

* add back in a uiExport to see if that is what is killing ci

* Passed again, add back embeddableActions uiExports and require kibana line

* Add everything back but the sass import

* Found two bugs with customize panel title action, added jest test coverage and fixes

* Functionally test embeddable explorer plugin

* Addressing review feedback part 1

* Simplify action context menu - remove support for nested actions/child panels, which was never exposed anyway.

* More review feedback

* Spread out orders to let developers inject their own actions in the middle.

* Remove check for overwriting ApplyFilterAction

* use createRegistry for EmbeddableFactoryRegistry

* Add comment for getInheritedInput

* Use kbn-es-query Filter types

* Fix missed file after createRegistry switch over for EmbeddableFactoryRegistry

* Use delete instead of setting to undefined

* upgrade EUI to match kibana version

* Add getIsContainer on base embeddable class

* Run functional tests of sample plugin

* move all tests classes outside __test__ and inside test_samples folder so not to potentially create issues with mocha

* fix: 🐛 remove unused imports

* fix: 🐛 set to undefined explicitly

* chore: refactored getRoot functionality

* fix: refactor miss from folder rename __test__ -> test_samples

* fix: add eui switch to let the user indicate “hide this title” to improve ux.

* fix: customize panel flout test

* Try to fix issue with multiple rxjs bundles I hit before.

See https://github.com/ReactiveX/rxjs/issues/3828

* Use an rxjs polyfill to work around the issue of multiple rxjs bundles

* chore: change customize panel flyout to modal post design feedback

* capitalize Reset

* fix: type errors in customize panel modal

* fix: remove extra line added to prevent EUICallout overflow from spilling over panel edges

The bug this was intended to fix doesn’t appear yet because dashboard isn’t using this, and it causes other issues, so for now, just remove.

* Clean up some classes and SASS

* Inline styles needed to get the containers to take up the full height of the app.

* Use the same old style of error messaging in panels

* chore: add untilEmbeddableLoaded tests, expose on interface, and use in embeddable_child_panel

* Remove unused styles, add padding

* Verify trigger Context containers an array of Filters for apply filter action

* Remove panel.embeddableId param, use panel.explicitInput.id instead

* Check `isCompatible` as well as the type guard needed for typescript.

* executeTriggerActions should account for getHref

* Remove unnecessary check for context being defined

* use npStart instead of getNewPlatform

* Conform to latest NP changes

* Use new np_mocks in all the tests

* Address review feedback on rxjs polyfill
2019-06-07 13:30:55 -04:00
..
plugins Embeddable API V2 (#37510) 2019-06-07 13:30:55 -04:00
test_suites Embeddable API V2 (#37510) 2019-06-07 13:30:55 -04:00
config.js Embeddable API V2 (#37510) 2019-06-07 13:30:55 -04:00
README.md Plugin test readme’s (#26632) 2018-12-04 15:23:23 -05:00

Plugin Functional Tests

This folder contains plugin functional tests, i.e. functional tests that should be executed against a Kibana instance with specific test plugins available.

To add a plugin to the instance, just place the plugin folder in the plugins directory.

Add new test suites into the test_suites folder and reference them from the config.js file. These test suites work the same as regular functional test except that they are executed against a Kibana with all plugins (from the plugins directory) installed.

Run the test

To run these tests during development you can use the following commands:

# Start the test server (can continue running)
node scripts/functional_tests_server.js --config test/plugin_functional/config.js
# Start a test run
node scripts/functional_test_runner.js --config test/plugin_functional/config.js

Run Kibana with a test plugin

In case you want to start Kibana with one of the test plugins (e.g. for developing the test plugin), you can just run:

yarn start --plugin-path=test/plugin_functional/plugins/<plugin_folder>

If you wish to start Kibana with multiple test plugins, you can run:

yarn start --plugin-path=test/plugin_functional/plugins/<plugin_folder1> --plugin-path=test/plugin_functional/plugins/<plugin_folder2> ... 

If you wish to load up specific es archived data for your test, you can do so via the es_archiver script detailed in the Scripts README.md

Another option, which will automatically use any specific settings the test environment may rely on, is to boot up the functional test server pointing to the plugin configuration file.

node scripts/functional_tests_server --config test/plugin_functional/config.js

Note: you may still need to use the es_archiver script to boot up any required data.