Commit graph

33 commits

Author SHA1 Message Date
Tre
0515829a9e
[FTR] Move find service to shared location (#173874)
## Summary

Refactoring general ui service to a kbn package.

Resolves an [Appex QA](https://github.com/elastic/appex-qa-team) issue.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-01-04 17:58:17 +00:00
Tomasz Kajtoch
b043545208
Upgrade EUI to v91.0.0 (with backports) (#170716)
`v90.0.0``v91.0.0-backport.0`

⚠️ While this upgrade pings many teams and has a large code diff, **the
majority of the changes are snapshots or tests-related** and do not
touch source code, so should theoretically only need a code review and
not dedicated QA.

The changes in EUI that required a large swathe of these updates are:

- **EuiPopover** removed an extra unnecessary `<div>` wrapper on its
anchors, which affected many snapshots and a few CSS overrides, which
should have been updated
- **EuiButtonGroup** now renders `<button>` elements instead of `<input
type="radio">` elements for single selection, which affected both
snapshots and E2E tests
- **EuiSuperDatePicker**'s absolute date input now requires an `Enter`
keypress when parsing dates (affected E2E tests)
- **EuiComboBox**, when rendered with `singleSelection={{ plainText:
'true' }}`, no longer renders a pill (i.e. text). This combobox type now
behaves more like an `EuiFieldText`, where the selection is rendered via
input `value` instead. This affected a high amount of E2E tests (both
FTR and Cypress), both in terms of updating assertions and changing
selections, but should **not** significantly affect user experience -
see https://github.com/elastic/eui/pull/7332 for more.

---

##
[`v91.0.0-backport.0`](https://github.com/elastic/eui/tree/v91.0.0-backport.0)

**This is a backport release only intended for use by Kibana.**

- Added `esqlVis`, `pipeBreaks`, and `pipeNoBreaks` icon glyphs.
- `EuiSelectable` now allows configurable text truncation via
`listProps.truncationProps`
([#7388](https://github.com/elastic/eui/pull/7388))
- `EuiTextTruncate` now supports a new `calculationDelayMs` prop for
working around font loading or layout shifting scenarios
([#7388](https://github.com/elastic/eui/pull/7388))

**Bug fixes**

- Fixed a bug with `EuiSelectable`s with custom `truncationProps`, where
scrollbar widths were not being accounted for
([#7392](https://github.com/elastic/eui/pull/7392))

## [`91.0.0`](https://github.com/elastic/eui/tree/v91.0.0)

- Updated the background color of `EuiPopover`s in dark mode to increase
visibility & contrast against other page/panel backgrounds
([#7310](https://github.com/elastic/eui/pull/7310))
- Memoized `EuiDataGrid` to prevent unneeded re-renders
([#7324](https://github.com/elastic/eui/pull/7324))
- Added a configurable `role` prop to `EuiAccordion`
([#7326](https://github.com/elastic/eui/pull/7326))
- Added a configurable `role` prop to `EuiGlobalToastList`
([#7328](https://github.com/elastic/eui/pull/7328))
- For greater flexibility, `EuiSuperDatePicker` now allows users to
paste ISO 8601, RFC 2822, and Unix timestamps in the `Absolute` tab
input, in addition to timestamps in the `dateFormat` prop
([#7331](https://github.com/elastic/eui/pull/7331))
- Plain text `EuiComboBox`es now behave more like a normal text
field/input. Backspacing will no longer delete the entire value, and
selected values can now be double clicked and copied.
([#7332](https://github.com/elastic/eui/pull/7332))
- `EuiDataGrid`'s display settings popover now allows users to clear the
"Lines per row" input before typing in a new number
([#7338](https://github.com/elastic/eui/pull/7338))
- Improved the UX of `EuiSuperDatePicker`'s Absolute tab for users
manually typing in timestamps
([#7341](https://github.com/elastic/eui/pull/7341))
- Updated `EuiI18n`s with multiple `tokens` to accept dynamic `values`
([#7341](https://github.com/elastic/eui/pull/7341))

**Bug fixes**

- Fixed `EuiComboBox`'s `onSearchChange` callback to pass the correct
`hasMatchingOptions` value
([#7334](https://github.com/elastic/eui/pull/7334))
- Fixed an `EuiSelectableTemplateSitewide` bug where the `popoverButton`
behavior would break if passed a non-DOM React wrapper
([#7339](https://github.com/elastic/eui/pull/7339))

**Deprecations**

- `EuiPopover`: deprecated `anchorClassName`. Use `className` instead
([#7311](https://github.com/elastic/eui/pull/7311))
- `EuiPopover`: deprecated `buttonRef`. Use `popoverRef` instead
([#7311](https://github.com/elastic/eui/pull/7311))
- `EuiPopover`: removed extra `.euiPopover__anchor` div wrapper. Target
`.euiPopover` instead if necessary
([#7311](https://github.com/elastic/eui/pull/7311))
- Deprecated `EuiButtonGroup`'s `name` prop. This can safely be removed.
([#7325](https://github.com/elastic/eui/pull/7325))

**Breaking changes**

- Removed deprecated `euiPaletteComplimentary` - use
`euiPaletteComplementary` Instead
([#7333](https://github.com/elastic/eui/pull/7333))

**Accessibility**

- Updated `type="single"` `EuiButtonGroup`s to render standard buttons
instead of radio buttons under the hood, per recent a11y recommendations
([#7325](https://github.com/elastic/eui/pull/7325))
- `EuiAccordion` now defaults to a less screenreader-noisy `group` role
instead of `region`. If your accordion contains significant enough
content to be a document landmark role, you may re-configure it back to
`region`. ([#7326](https://github.com/elastic/eui/pull/7326))
- Reduced screen reader noisiness when sorting `EuiDataGrid` columns via
toolbar ([#7327](https://github.com/elastic/eui/pull/7327))
- `EuiGlobalToastList` now defaults to a `log` role. If your toasts will
always require immediate user action, consider (with caution) using the
`alert` role instead.
([#7328](https://github.com/elastic/eui/pull/7328))

**CSS-in-JS conversions**

- Updated `$euiFontFamily` and `$euiCodeFontFamily` to match Emotion
fonts ([#7332](https://github.com/elastic/eui/pull/7332))

---------

Co-authored-by: Cee Chen <constance.chen@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Cee Chen <549407+cee-chen@users.noreply.github.com>
Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2023-12-18 11:15:15 -06:00
Hannah Mudge
d9e2d06512
[Dashboard] Fix flaky sync_colors.tsx test (#172633)
## Summary

It is possible for the `noDataPopover` to take more than the `100ms`
timeout from `ensureHiddenNoDataPopover` (pictured below) to appear - in
these cases, any tests that make use of the Lens page object's
`goToTimeRange` method will fail due to clicking the wrong element (the
tour step rather than the time picker).


![image](35de1215-6f9f-4a72-a0ab-e1a60f5bb80a)


While my initial thought was to simply increase the timeout for the
`noDataPopover` check, this isn't ideal - **a lot** of tests use the
`goToTimeRange` method and, by doing this, we would be slowing down
**every single one of them** even when the test wouldn't have failed to
begin with! Instead, I've chosen to surround the important parts of the
code in `goToTimeRange` with a `retry` - that way, if the
`noDataPopover` never shows up or it shows up comfortably within the
`100ms` timeout, the impact to the speed of a given test will be
**minimal**; however, if the no data popover shows up **outside** of
this timeout, the retry will save the test from outright failure.

### [Flaky Test
Runner](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4192)


![image](1ac033d7-6cc1-4789-9a2b-6c7b8c34f67c)


### Checklist
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2023-12-06 07:55:13 -07:00
Gerard Soldevila
a62d9a90f5
Simplify test code, reenable skipped suite (#163158)
Attempt at fixing https://github.com/elastic/kibana/issues/149611

I updated the test code as follows:
* Removed the RxJS logic and simply factorised the reads to read only
once.
* Got rid of the "retry" service. There's already a mechanism in place
to make sure the logs are up-to-date.
* Updated the `setCommonlyUsedTime` method to make sure it awaits for
the popup to be ready before clicking.
* Skipped 4 tests that seem outdated, the logs don't have the related
entries even after waiting for more than one minute and flushing (in
fact, they all seem to systematically fail on `main` too):
  * lnsLegacyMetric
  * [Flights] Delays & Cancellations
  * [Flights] Destination Weather
  * [Flights] Delay Buckets

Attached is the generated
[kibana.log](12260144/kibana.log)
(focussing only the `browser.ts` tests).

So for the skipped tests, this does not look like flakiness anymore, but
rather outdated / incorrect checks. I propose we review and update them
on a separate issue / PR.

50 runs results
[here](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3026).
2023-08-31 15:09:19 +02:00
Achyut Jhunjhunwala
384cf7864b
[APM] Revert skip for flaky Tests (#160391)
## Summary

Closes
- https://github.com/elastic/kibana/issues/120056
- https://github.com/elastic/kibana/issues/122001
- https://github.com/elastic/kibana/issues/127431
- https://github.com/elastic/kibana/issues/127416


## Flakiness Testing

Changes in the PR were tested with the flaky test runner, running 50
times for all 5 configs for APM
1. 4 config (Trial, Basic, Cloud and Rules) present inside
`apm_api_integration` folder and
2. 1 config present inside `functional/apps/apm`

https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2499
2023-06-28 10:29:46 +02:00
Drew Tate
d528635279
[Lens] better missing fields test (#150466) 2023-02-08 11:26:08 -06:00
Davis McPhee
d1de864dc5
[Discover] Update Unified Histogram to use Lens (#143117)
## Summary

This PR updates Discover and Unified Histogram to use Lens for the
histogram chart, and removes Discover as a Lens dependency:

![discover_lens](https://user-images.githubusercontent.com/25592674/202795541-a7dc33d6-5529-4097-9de4-f2155fd81052.gif)

Note that there are some additional changes to make in followup PRs
before this will be ready for solutions adoption:
- Add the ability for Unified Histogram to support manually refetching
in addition to auto refetching.
- Currently Unified Histogram watches for changes to the query, filters,
and time range. We will need to update this so those dependencies are
passed as props instead.
- It would be helpful to add some usage documentation to Unified
Histogram to help other teams implement it in their projects.

A la carte deployment:
https://davismcphee-pr-143117-enhancement-unified-histogram-lens.kbndev.co.

Flaky test run:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/1571.

Resolves #143108.
Resolves #142390.

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
~[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials~
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] ~Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))~
- [ ] ~If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

Co-authored-by: Dzmitry Tamashevich <diaamnj@mail.ru>
Co-authored-by: Matthias Wilhelm <matthias.wilhelm@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-12-05 09:42:47 -04:00
Lee Drengenberg
1734b0e5db
quick check of current URL to skip timepicker (#146462)
## Summary

We have some tests which set the default time but then also call
setAbsoluteTime in every test. This PR adds code in setAbsoluteTime to
quickly check if the desired start and end (from and to) times are
already set, and if so, just return. The end result should be less time
spent on functional tests. It could also reduce occasional flakiness
setting the time.

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
2022-12-04 21:50:50 +01:00
Lee Drengenberg
9c9c66cd0b
fix timepicker default start day (#145947)
## Summary

This PR is mainly some cleanup before another PR I have in the works to
shortcut timepicker.setAbsoluteTime() by checking if we already have the
desired time set.

This PR changes the timePicker defaultStartTimeUTC value from September
18th to September 19th to match the value of defaultStartTimeUTC.
The variable name defaultStartTimeUTC implies it's a different timezone
but actually it's the same date time but in a different ISO format.
It seems there was only 1 place in tests which expected that Sep 18th
date.

Another small change in
`x-pack/test/functional/apps/lens/group1/text_based_languages.ts` is to
use uiSettings.update insteda of uiSettings.replace. `replace` wipes out
the default UTC timezone and the defaultTime settings.

I added a few calls to cleanStandardList to make sure any saved objects
created by the tests are cleaned up, and to get a clean run if other
tests left something.

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-11-28 08:59:09 -06:00
Constance
7b11420ee9
Upgrade EUI to v62.0.3 (#138351)
* Upgrade to v62.0.3

* Update EUI i18n tokens

* Update html string snapshots

- Emotion CSS hash changed

* [EuiIcon] Update instances of `keyboardShortcut` icons to `keyboard`

* [EuiErrorBoundary] Update snapshots from Emotion conversion

* [EuiImage] Update snapshots, tests, and CSS to account for Emotion conversion

* [EuiImage][RTL] Fix test failures caused by EuiImage changes

* [EuiCommentList] Deprecate EuiCommentProps.type

* [EuiCommentList] Rename `timelineIcon` prop to `timelineAvatar`

- see https://github.com/elastic/eui/pull/6071

* [EuiCommentList] Fix selectors deprecated by Emotion conversion

* [EuiPopover][EuiCommentEvent][Enzyme] Fix mounted test failures caused by Emotion conversions

- Mounting displays the Emotion wrapper with the data-test-subj on them - we need to specify the output div renders in order for text assertions to be correct

* [EuiPopover] Deprecate `initialFocus={false}` as an option

see https://github.com/elastic/eui/pull/6044

* [EuiPopover] Rename `display=inlineBlock` to `inline-block`

- see https://github.com/elastic/eui/pull/5977

* [EuiPopover] Update snapshots from Emotion conversion

* [EuiPopover] Replace deprecated `.euiPopover__panel-isOpen` class with new `[data-popover-open]` attribute

* [EuiPopover][RTL] Fix test failures caused by not waiting for EuiPopover animation/transition

* Skip failing a11y tests

- test w/ similar error already skipped in another test above
- requires closing the popover for next test to pass
- not sure why delete action is no longer available

* Fix failing Security Cypress tests

* Attempt to squash flaky FTR tests around Add Filter popover

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Jonathan Budzenski <jon@elastic.co>
2022-08-12 16:40:58 -07:00
Brian Seeders
fb87699eb8
[functional-tests] TimePicker optimizations (#130200) 2022-04-18 16:13:19 -04:00
Joe Reuter
ec7f2f3d8c
click slower in timepicker (#125264) 2022-02-10 18:59:15 +01:00
Greg Thompson
604409b3de
Upgrade EUI to v43.1.1 (#120935)
* eui to v43.0.0

* update themeprovider types

* update sass import location

* storyshots

* snapshots

* jest

* jest

* timepicker functional test helpers

* snapshots

* timepicker functional test helpers

* invert checked logic

* fix i18n token

* snapshots

* handle new refresh interval operations order

* refactor refresh interval logic, test

* jest

* timepicker popover order

* eui to v43.1.0

* jest

* jest

* jest

* euicode selector

* jest

* functional tests

* functional tests

* timepicker

* bump timeout

* conditional click to close

* clean up

* eui to v43.1.1

* clean up

* loading background

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-12-20 10:48:36 -06:00
Robert Oskamp
22e4172781
[ML] Functional tests - re-enable transform runtime mappings suite (#115547)
This PR stabilizes and re-enables the transform runtime mappings tests.
2021-10-20 11:23:51 +02:00
Dzmitry Lemechko
28702ff1c6
[test/page_objects] validate selected dates for timepicker (#113597)
* [test/page_objects] validate selected dates for timepicker

* unskip flaky test

* fix types check failure

* update tests

* update message

* unskip more tests
2021-10-04 19:00:41 +02:00
Jean-Louis Leysens
2fb1a47137
[Reporting] Unskip flaky test when downloading CSV with "no data" (#105252)
* unskipped test and added additional checks when using time picker

* rather wait for the timepicker to close

* set up test for flaky test runner

* Additional .only

* Remove .only

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-07-20 10:30:54 +02:00
Spencer
090d0abd11
[ts] migrate root test dir to project refs (#99148)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2021-06-04 13:17:00 -04:00
Spencer
9538788611
[ftr] migrate "MenuToggle" service to FtrService class (#100608)
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-05-28 07:10:32 +02:00
Spencer
111e15a054
[ftr] implement FtrService classes and migrate common services (#99546)
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-05-25 09:25:09 -07:00
Dominique Clarke
25cad22b3d
[Uptime] Fix overview flaky tests (#99781)
* add retry logic and add describe.only to prepare for flaky test runner

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-05-14 14:33:46 -04:00
Brandon Kobel
4584a8b570
Elastic License 2.0 (#90099)
* Updating everything except the license headers themselves

* Applying ESLint rules

* Manually replacing the stragglers
2021-02-03 18:12:39 -08:00
Brandon Kobel
170a2956c8
Updating the License (#88343)
* Updating the Licenses, except for applying eslint, building

* Applying ESLint rules,building @kbn/pm, regenerating api docs
2021-01-19 17:52:56 -08:00
Nick Partridge
ddea10e718
Create vis_type_xy plugin to replace histogram, area and line charts (#78154) 2020-12-18 08:38:07 -06:00
Spencer
441890ccb3
[ftr/menuToggle] provide helper for enhanced menu toggle handling (#81709)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2020-10-27 09:09:41 -07:00
Anton Dosov
a23b42301b
[Discover] fix auto-refresh (#80635)
* fix refresh interval in discover
* Also implicitly fixes a subtle bug with excessive re-fetch after deleting already disabled filter

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-16 18:06:50 +02:00
Michail Yasonik
61c4e6fd8d
Stacked headers and navigational search (#72331)
Co-authored-by: Poff Poffenberger <poffdeluxe@gmail.com>
Co-authored-by: Ryan Keairns <contactryank@gmail.com>
Co-authored-by: pgayvallet <pierre.gayvallet@elastic.co>
Co-authored-by: cchaos <caroline.horn@elastic.co>
2020-09-14 14:32:30 -05:00
Dmitry Lemeshko
633968e053
Remove IE support in functional tests (#71285)
* [ftr] remove ie support

* remove ie integration tests config
2020-07-09 22:12:52 +02:00
Joe Reuter
de79985f92
[Lens] Add "no data" popover (#69147) 2020-07-01 10:08:37 +02:00
Vadim Dalecky
3ee0bf2132
Explore underlying data (#68496)
* feat: 🎸 stub discover_enhanced plugin

* feat: 🎸 improve view in discover action

* feat: 🎸 add URL generator to "View in Discover" action

* feat: 🎸 implement navigation and getHref in view raw logs actio

* fix: 🐛 disable action in "edit" mode

* refactor: 💡 renamce context menu view in discover action

* feat: 🎸 rename action to "explore data"

* fix: 🐛 correctly generate action path

* feat: 🎸 add internationalization to "explore action"

* fix: 🐛 correctly parse generated Discover URL path

* test: 💍 setup basic functional tests

* refactor: 💡 modularize url generation logic

* feat: 🎸 export CommonlyUsed type

* test: 💍 add test subjects to panel custom time range modal

* test: 💍 add index patterna and time range functional tests

* refactor: 💡 rename action file

* refactor: 💡 use URL generator from Discover plugin's contract

* test: 💍 add "Explore raw data" action unit tests

* fix: 🐛 import share plugin to check if it is enabled

* Update x-pack/plugins/discover_enhanced/public/actions/view_in_discover/explore_data_context_menu_action.ts

Co-authored-by: Matthias Wilhelm <ankertal@gmail.com>

* chore: 🤖 add discover_enhanced to KibanaApp codeowners

* test: 💍 improve "Explore underlying data" functional tests

* test: 💍 improve <a> link assertion

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Matthias Wilhelm <ankertal@gmail.com>
2020-06-17 10:31:16 +02:00
Matthias Wilhelm
679118bcbc
[Discover] Unskip context navigation test (#68490) 2020-06-12 06:54:34 +02:00
restrry
bf04235dae apply prettier styles 2020-05-22 09:08:58 +02:00
Anton Dosov
7cf7c261b9
fix fetchSoon delay in case of 0ms. Add async_dashboard test (#65083)
* forwardport #64999

* Add additional verifications on dashboard

I hope you don't mind me updating the test directly.
I *thought* the other dashboard tests required a consistent set of exact documents so that the count would always be the same.  Since the test uses sample data, I added a new timepicker:quickRanges so that the test can just select it.  Test FTR isn't set up to do relative time ranges right now.
But it looks like the dashboard checks aren't that specific to the data.  The dashboard seems to have `Last 24 hours` saved in it.  And when I don't change it to the whole sample data time range the test still passes.

* fix eslint error

* [page_objects/time_picker] allow any string in setCommonlyUsedTime

Co-authored-by: Lee Drengenberg <lee.drengenberg@elastic.co>
Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
2020-05-08 12:03:42 +02:00
Dmitry Lemeshko
7cca2dacf0
[test/functional] Tsfy page objects (#64887)
* [test/functional/page_objects] tsfy console, context, header, timepicker & timelion

* [test/functional/page_objects] tsfy shield & error

* fix ts-check issue

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-05-05 16:24:04 +03:00
Renamed from test/functional/page_objects/time_picker.js (Browse further)