-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Security Solution] Fixing jest warnings and errors #86532
Conversation
@@ -101,17 +101,17 @@ const CaseActionBarComponent: React.FC<CaseActionBarProps> = ({ | |||
<EuiDescriptionList compressed> | |||
<EuiFlexGroup gutterSize="l" alignItems="center"> | |||
<EuiFlexItem> | |||
<EuiDescriptionListTitle> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This clears up the following error that showed in cases/components/case_view/index.test.tsx
Warning: validateDOMNesting(...): <dt> cannot appear as a descendant of <dd>.
in dt (created by EuiDescriptionListTitle)
in EuiDescriptionListTitle (created by CaseActionBarComponent)
in dd (created by EuiDescriptionListDescription)
in EuiDescriptionListDescription (created by CaseActionBarComponent)
in div (created by EuiFlexItem)
<EventDetails {...alertsProps} /> | ||
</TestProviders> | ||
) as ReactWrapper; | ||
await waitFor(() => wrapper.update()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clears up the following error:
Warning: An update to SummaryViewComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act
in SummaryViewComponent (created by EventDetailsComponent)
in div (created by EuiTabbedContent)
in div (created by EuiTabbedContent)
in EuiTabbedContent (created by Styled(EuiTabbedContent))
in Styled(EuiTabbedContent) (created by EventDetailsComponent)
in EventDetailsComponent
@@ -84,7 +91,7 @@ const eventsViewerDefaultProps = { | |||
sort: [ | |||
{ | |||
columnId: 'foo', | |||
sortDirection: 'none' as SortDirection, | |||
sortDirection: 'asc' as SortDirection, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clears up the following error:
Warning: Failed prop type: Invalid prop `sorting.columns[0].direction` of value `none` supplied to `EuiDataGridColumnSortingDraggable`, expected one of ["asc","desc"].
in EuiDataGridColumnSortingDraggable (created by ColumnHeadersComponent)
in ColumnHeadersComponent
in ColumnHeadersComponent
in div (created by styled.div)
in styled.div
in div (created by TimelineBody)
in TimelineBody
const original = jest.requireActual('@elastic/eui'); | ||
return { | ||
...original, | ||
useDataGridColumnSorting: jest.fn(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clears up the following error:
Warning: Failed prop type: The prop `display` is marked as required in `EuiDataGridColumnSortingDraggable`, but its value is `undefined`.
in EuiDataGridColumnSortingDraggable (created by ColumnHeadersComponent)
in ColumnHeadersComponent
in ColumnHeadersComponent
in div (created by styled.div)
in styled.div
in div (created by TimelineBody)
in TimelineBody
@@ -25,6 +25,7 @@ import { | |||
} from '../../../../../../../../src/plugins/data/common/index_patterns/fields/fields.mocks'; | |||
import { getFoundListSchemaMock } from '../../../../../../lists/common/schemas/response/found_list_schema.mock'; | |||
import { getEmptyValue } from '../../empty_value'; | |||
import { waitFor } from '@testing-library/dom'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the waitFor
s clear up a couple of these errors:
Warning: An update to AutocompleteFieldMatchAny inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act
in AutocompleteFieldMatchAny (created by BuilderEntryItem)
in div (created by EuiFlexItem)
@@ -8,12 +8,18 @@ import { mount } from 'enzyme'; | |||
import { I18nProvider } from '@kbn/i18n/react'; | |||
|
|||
import { LastUpdatedAt } from './'; | |||
jest.mock('@kbn/i18n/react', () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clears up the following warning:
console.warn
Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.
* Move data fetching code or side effects to componentDidUpdate.
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state
* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.
Please update the following components: FormattedRelative
@@ -71,7 +72,7 @@ describe('anomaly_scores', () => { | |||
</TestProviders> | |||
); | |||
wrapper.find('[data-test-subj="anomaly-score-popover"]').first().simulate('click'); | |||
wrapper.update(); | |||
await waitFor(() => wrapper.update()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clears up the following warning:
console.error
Warning: An update to ExplorerLink inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act
in ExplorerLink (created by AnomalyScoreComponent)
in div (created by EuiFlexItem)
in EuiFlexItem (created by AnomalyScoreComponent)
in div (created by EuiFlexGroup)
in EuiFlexGroup (created by AnomalyScoreComponent)
@@ -134,7 +135,7 @@ describe('anomaly_scores', () => { | |||
</TestProviders> | |||
); | |||
wrapper.find('[data-test-subj="anomaly-score-popover"]').first().simulate('click'); | |||
wrapper.update(); | |||
await waitFor(() => wrapper.update()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clears up the following warning:
Warning: An update to ExplorerLink inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act
in ExplorerLink (created by AnomalyScoreComponent)
in div (created by EuiFlexItem)
in EuiFlexItem (created by AnomalyScoreComponent)
in div (created by EuiFlexGroup)
in EuiFlexGroup (created by AnomalyScoreComponent)
@@ -10,6 +10,7 @@ import { mockAnomalies } from '../mock'; | |||
import { createDescriptionList } from './create_description_list'; | |||
import { EuiDescriptionList } from '@elastic/eui'; | |||
import { Anomaly } from '../types'; | |||
import { waitFor } from '@testing-library/dom'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clears up the following error:
Warning: An update to ExplorerLink inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act
in ExplorerLink
in div (created by EuiFlexItem)
in EuiFlexItem
in div (created by EuiFlexGroup)
in EuiFlexGroup
in dd (created by EuiDescriptionListDescription)
in EuiDescriptionListDescription (created by EuiDescriptionList)
in dl (created by EuiDescriptionList)
in EuiDescriptionList (created by WrapperComponent)
return outline ? ( | ||
<EuiButton data-test-subj={`${dataTestSubjPrefix}-with-border`} {...buttonProps}> | ||
{title} | ||
</EuiButton> | ||
) : ( | ||
<EuiButtonEmpty data-test-subj={dataTestSubjPrefix} color="text" {...buttonProps}> | ||
<EuiButtonEmpty data-test-subj={dataTestSubjPrefix} color="text" {...propsWithoutFill}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clears the following error from the test for this file:
Warning: Received `true` for a non-boolean attribute `fill`.
If you want to write it to the DOM, pass a string instead: fill="true" or fill={value.toString()}.
in button (created by EuiButtonEmpty)
in EuiButtonEmpty (created by WrapperComponent)
in WrapperComponent
@@ -23,6 +23,7 @@ import { | |||
getDataProviderFilter, | |||
TIMELINE_FILTER_DROP_AREA, | |||
} from './index'; | |||
import { waitFor } from '@testing-library/dom'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clears the following error:
Warning: An update to null inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act
in Unknown (created by Proxy)
in Provider (created by App)
in App (created by ErrorBoundary)
in ErrorBoundary (created by DragDropContext)
in DragDropContext (created by TestProvidersComponent)
in ThemeProvider (created by TestProvidersComponent)
in Provider (created by TestProvidersComponent)
in ApolloProvider (created by TestProvidersComponent)
in Provider
in Unknown (created by TestProvidersComponent)
in PseudoLocaleWrapper (created by I18nProvider)
in IntlProvider (created by I18nProvider)
in I18nProvider (created by TestProvidersComponent)
in TestProvidersComponent (created by Proxy)
in Proxy (created by WrapperComponent)
in WrapperComponent
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks for doing this!! 🚀
@elasticmachine merge upstream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙏
💚 Build SucceededMetrics [docs]Async chunks
Distributable file count
History
To update your PR or re-run it, just comment with: |
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
8 similar comments
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
Summary
Another round of jest error/warning fixes. Fixes detailed in the files.
There were 2 warnings I gave up on clearing if anyone wants to take a crack at them. Same warning on 2 files.
management/pages/endpoint_hosts/view/index.test.tsx
common/components/query_bar/index.test.tsx
The warning/error:
Checklist
Delete any items that are not applicable to this PR.