From 26be16187e8c6d61e810994c1a367dedae362b2d Mon Sep 17 00:00:00 2001 From: Paul Balchin Date: Thu, 9 Sep 2021 14:11:40 -0400 Subject: [PATCH 1/4] fix(decorator): add oncontextmenu --- src/components/DataDecorator/Decorator/Decorator.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/DataDecorator/Decorator/Decorator.js b/src/components/DataDecorator/Decorator/Decorator.js index 4edac896c..1fa20a787 100644 --- a/src/components/DataDecorator/Decorator/Decorator.js +++ b/src/components/DataDecorator/Decorator/Decorator.js @@ -128,13 +128,21 @@ class Decorator extends Component { className={decoratorClasses} onClick={this.handleClick} onContextMenu={this.handleContextMenuClick} - type="button"> + type="button" + > {decorator} ); } - return {decorator}; + return ( + + {decorator} + + ); } } From 9ec57239176456eaf0ee456af2cadd7ca0f41a9c Mon Sep 17 00:00:00 2001 From: Paul Balchin Date: Fri, 10 Sep 2021 08:49:53 -0400 Subject: [PATCH 2/4] fix(decorator): added tests --- .../DataDecorator/Decorator/Decorator.js | 12 +++--- .../Decorator/__tests__/Decorator-test.js | 42 +++++++++++++++++++ 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/src/components/DataDecorator/Decorator/Decorator.js b/src/components/DataDecorator/Decorator/Decorator.js index 1fa20a787..46ef7b1b6 100644 --- a/src/components/DataDecorator/Decorator/Decorator.js +++ b/src/components/DataDecorator/Decorator/Decorator.js @@ -116,7 +116,11 @@ class Decorator extends Component { if (href) { return ( - + {decorator} ); @@ -128,8 +132,7 @@ class Decorator extends Component { className={decoratorClasses} onClick={this.handleClick} onContextMenu={this.handleContextMenuClick} - type="button" - > + type="button"> {decorator} ); @@ -138,8 +141,7 @@ class Decorator extends Component { return ( + onContextMenu={this.handleContextMenuClick}> {decorator} ); diff --git a/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js b/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js index fb2fff9a3..73bb86cd5 100644 --- a/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js +++ b/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js @@ -3,6 +3,7 @@ * @copyright IBM Security 2019 - 2021 */ +import { fireEvent } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { render } from '@testing-library/react'; @@ -142,6 +143,47 @@ describe('Decorator', () => { // the MD5 hash -- the data decorator. expect(queryAllByText(/0f3deda483df…243b/i).length === 1); }); + + test('should invoke context menu mock when a non-interactive ("span") decorator is right-clicked', () => { + const onContextMenuMock = jest.fn(); + const { getByText } = render( + + ); + + fireEvent.contextMenu(getByText(/10.0.0.0/i).closest('span')); + expect(onContextMenuMock).toHaveBeenCalledTimes(1); + }); + + test('should invoke context menu mock when an href ("a") decorator is right-clicked', () => { + const onContextMenuMock = jest.fn(); + const { getByText } = render( + + ); + + fireEvent.contextMenu(getByText(/10.0.0.0/i).closest('a')); + expect(onContextMenuMock).toHaveBeenCalledTimes(1); + }); + + test('should invoke context menu mock when an interactive ("button") decorator is right-clicked', () => { + const onClickMock = jest.fn(); + const onContextMenuMock = jest.fn(); + const { getByText } = render( + + ); + + fireEvent.contextMenu(getByText(/10.0.0.0/i).closest('button')); + expect(onContextMenuMock).toHaveBeenCalledTimes(1); + }); }); Object.keys(icons).forEach((icon) => { From 12bc9d0b1399c87185fd4888127e6ad57780eca6 Mon Sep 17 00:00:00 2001 From: Paul Balchin <52505287+paul-balchin-ibm@users.noreply.github.com> Date: Mon, 13 Sep 2021 08:21:13 -0400 Subject: [PATCH 3/4] Update src/components/DataDecorator/Decorator/__tests__/Decorator-test.js Co-authored-by: Simon Finney --- .../DataDecorator/Decorator/__tests__/Decorator-test.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js b/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js index 73bb86cd5..d22f8ca6b 100644 --- a/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js +++ b/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js @@ -5,7 +5,6 @@ import { fireEvent } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; -import { render } from '@testing-library/react'; import React from 'react'; From 7a2fbcd893235c5575737ec1d0aff656d570aab1 Mon Sep 17 00:00:00 2001 From: Paul Balchin <52505287+paul-balchin-ibm@users.noreply.github.com> Date: Mon, 13 Sep 2021 08:21:20 -0400 Subject: [PATCH 4/4] Update src/components/DataDecorator/Decorator/__tests__/Decorator-test.js Co-authored-by: Simon Finney --- .../DataDecorator/Decorator/__tests__/Decorator-test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js b/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js index d22f8ca6b..4936f5184 100644 --- a/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js +++ b/src/components/DataDecorator/Decorator/__tests__/Decorator-test.js @@ -3,7 +3,7 @@ * @copyright IBM Security 2019 - 2021 */ -import { fireEvent } from '@testing-library/react'; +import { fireEvent, render } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react';