From ffb46fec5258f5d459b6440ca6ee457b16b8b329 Mon Sep 17 00:00:00 2001 From: Alex Corey Date: Mon, 4 Apr 2022 21:28:18 -0400 Subject: [PATCH] Fixes test failure --- .../DraggableSelectedList.test.js | 248 +++++++++--------- .../Job/JobOutput/JobOutputSearch.test.js | 15 +- 2 files changed, 132 insertions(+), 131 deletions(-) diff --git a/awx/ui/src/components/SelectedList/DraggableSelectedList.test.js b/awx/ui/src/components/SelectedList/DraggableSelectedList.test.js index 46fe564340..fef0e1e48d 100644 --- a/awx/ui/src/components/SelectedList/DraggableSelectedList.test.js +++ b/awx/ui/src/components/SelectedList/DraggableSelectedList.test.js @@ -1,133 +1,133 @@ -// These tests have been turned off because they fail due to a console wanring coming from patternfly. +// These tests have been turned off because they fail due to a console wanring coming from patternfly. // The warning is that the onDrag api has been deprecated. It's replacement is a DragDrop component, // however that component is not keyboard accessible. Therefore we have elected to turn off these tests. -// https://github.com/patternfly/patternfly-react/issues/6317s +//github.com/patternfly/patternfly-react/issues/6317s -// import React from 'react'; -// import { act } from 'react-dom/test-utils'; -// import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; -// import DraggableSelectedList from './DraggableSelectedList'; +import React from 'react'; +import { act } from 'react-dom/test-utils'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import DraggableSelectedList from './DraggableSelectedList'; -// describe('', () => { -// let wrapper; -// afterEach(() => { -// jest.clearAllMocks(); -// }); +describe.skip('', () => { + let wrapper; + afterEach(() => { + jest.clearAllMocks(); + }); -// test('should render expected rows', () => { -// const mockSelected = [ -// { -// id: 1, -// name: 'foo', -// }, -// { -// id: 2, -// name: 'bar', -// }, -// ]; -// wrapper = mountWithContexts( -// {}} -// onRowDrag={() => {}} -// /> -// ); -// expect(wrapper.find('DraggableSelectedList').length).toBe(1); -// expect(wrapper.find('DataListItem').length).toBe(2); -// expect( -// wrapper -// .find('DataListItem DataListCell') -// .first() -// .containsMatchingElement(1. foo) -// ).toEqual(true); -// expect( -// wrapper -// .find('DataListItem DataListCell') -// .last() -// .containsMatchingElement(2. bar) -// ).toEqual(true); -// }); + test('should render expected rows', () => { + const mockSelected = [ + { + id: 1, + name: 'foo', + }, + { + id: 2, + name: 'bar', + }, + ]; + wrapper = mountWithContexts( + {}} + onRowDrag={() => {}} + /> + ); + expect(wrapper.find('DraggableSelectedList').length).toBe(1); + expect(wrapper.find('DataListItem').length).toBe(2); + expect( + wrapper + .find('DataListItem DataListCell') + .first() + .containsMatchingElement(1. foo) + ).toEqual(true); + expect( + wrapper + .find('DataListItem DataListCell') + .last() + .containsMatchingElement(2. bar) + ).toEqual(true); + }); -// test('should not render when selected list is empty', () => { -// wrapper = mountWithContexts( -// {}} -// onRowDrag={() => {}} -// /> -// ); -// expect(wrapper.find('DataList').length).toBe(0); -// }); + test('should not render when selected list is empty', () => { + wrapper = mountWithContexts( + {}} + onRowDrag={() => {}} + /> + ); + expect(wrapper.find('DataList').length).toBe(0); + }); -// test('should call onRemove callback prop on remove button click', () => { -// const onRemove = jest.fn(); -// const mockSelected = [ -// { -// id: 1, -// name: 'foo', -// }, -// ]; -// wrapper = mountWithContexts( -// -// ); -// expect( -// wrapper -// .find('DataListDragButton[aria-label="Reorder"]') -// .prop('isDisabled') -// ).toBe(true); -// wrapper -// .find('DataListItem[id="foo"] Button[aria-label="Remove"]') -// .simulate('click'); -// expect(onRemove).toBeCalledWith({ -// id: 1, -// name: 'foo', -// }); -// }); + test('should call onRemove callback prop on remove button click', () => { + const onRemove = jest.fn(); + const mockSelected = [ + { + id: 1, + name: 'foo', + }, + ]; + wrapper = mountWithContexts( + + ); + expect( + wrapper + .find('DataListDragButton[aria-label="Reorder"]') + .prop('isDisabled') + ).toBe(true); + wrapper + .find('DataListItem[id="foo"] Button[aria-label="Remove"]') + .simulate('click'); + expect(onRemove).toBeCalledWith({ + id: 1, + name: 'foo', + }); + }); -// test('should disable remove button when dragging item', () => { -// const mockSelected = [ -// { -// id: 1, -// name: 'foo', -// }, -// { -// id: 2, -// name: 'bar', -// }, -// ]; -// wrapper = mountWithContexts( -// {}} -// onRowDrag={() => {}} -// /> -// ); + test('should disable remove button when dragging item', () => { + const mockSelected = [ + { + id: 1, + name: 'foo', + }, + { + id: 2, + name: 'bar', + }, + ]; + wrapper = mountWithContexts( + {}} + onRowDrag={() => {}} + /> + ); -// expect( -// wrapper.find('Button[aria-label="Remove"]').at(0).prop('isDisabled') -// ).toBe(false); -// expect( -// wrapper.find('Button[aria-label="Remove"]').at(1).prop('isDisabled') -// ).toBe(false); -// act(() => { -// wrapper.find('DataList').prop('onDragStart')(); -// }); -// wrapper.update(); -// expect( -// wrapper.find('Button[aria-label="Remove"]').at(0).prop('isDisabled') -// ).toBe(true); -// expect( -// wrapper.find('Button[aria-label="Remove"]').at(1).prop('isDisabled') -// ).toBe(true); -// act(() => { -// wrapper.find('DataList').prop('onDragCancel')(); -// }); -// wrapper.update(); -// expect( -// wrapper.find('Button[aria-label="Remove"]').at(0).prop('isDisabled') -// ).toBe(false); -// expect( -// wrapper.find('Button[aria-label="Remove"]').at(1).prop('isDisabled') -// ).toBe(false); -// }); -// }); + expect( + wrapper.find('Button[aria-label="Remove"]').at(0).prop('isDisabled') + ).toBe(false); + expect( + wrapper.find('Button[aria-label="Remove"]').at(1).prop('isDisabled') + ).toBe(false); + act(() => { + wrapper.find('DataList').prop('onDragStart')(); + }); + wrapper.update(); + expect( + wrapper.find('Button[aria-label="Remove"]').at(0).prop('isDisabled') + ).toBe(true); + expect( + wrapper.find('Button[aria-label="Remove"]').at(1).prop('isDisabled') + ).toBe(true); + act(() => { + wrapper.find('DataList').prop('onDragCancel')(); + }); + wrapper.update(); + expect( + wrapper.find('Button[aria-label="Remove"]').at(0).prop('isDisabled') + ).toBe(false); + expect( + wrapper.find('Button[aria-label="Remove"]').at(1).prop('isDisabled') + ).toBe(false); + }); +}); diff --git a/awx/ui/src/screens/Job/JobOutput/JobOutputSearch.test.js b/awx/ui/src/screens/Job/JobOutput/JobOutputSearch.test.js index 4b345a7e73..366222ac9d 100644 --- a/awx/ui/src/screens/Job/JobOutput/JobOutputSearch.test.js +++ b/awx/ui/src/screens/Job/JobOutput/JobOutputSearch.test.js @@ -44,9 +44,9 @@ describe('JobOutputSearch', () => { wrapper.find(searchBtn).simulate('click'); }); expect(wrapper.find('Search').prop('columns')).toHaveLength(3); - expect(wrapper.find('Search').prop('columns').at(0).name).toBe('Stdout'); - expect(wrapper.find('Search').prop('columns').at(1).name).toBe('Event'); - expect(wrapper.find('Search').prop('columns').at(2).name).toBe('Advanced'); + expect(wrapper.find('Search').prop('columns')[0].name).toBe('Stdout'); + expect(wrapper.find('Search').prop('columns')[1].name).toBe('Event'); + expect(wrapper.find('Search').prop('columns')[2].name).toBe('Advanced'); expect(history.location.search).toEqual('?stdout__icontains=99'); }); test('Should not have Event key in search drop down for system job', () => { @@ -70,8 +70,8 @@ describe('JobOutputSearch', () => { } ); expect(wrapper.find('Search').prop('columns')).toHaveLength(2); - expect(wrapper.find('Search').prop('columns').at(0).name).toBe('Stdout'); - expect(wrapper.find('Search').prop('columns').at(1).name).toBe('Advanced'); + expect(wrapper.find('Search').prop('columns')[0].name).toBe('Stdout'); + expect(wrapper.find('Search').prop('columns')[1].name).toBe('Advanced'); }); test('Should not have Event key in search drop down for inventory update job', () => { @@ -94,8 +94,9 @@ describe('JobOutputSearch', () => { context: { router: { history } }, } ); + expect(wrapper.find('Search').prop('columns')).toHaveLength(2); - expect(wrapper.find('Search').prop('columns').at(0).name).toBe('Stdout'); - expect(wrapper.find('Search').prop('columns').at(1).name).toBe('Advanced'); + expect(wrapper.find('Search').prop('columns')[0].name).toBe('Stdout'); + expect(wrapper.find('Search').prop('columns')[1].name).toBe('Advanced'); }); });