mirror of
https://github.com/ansible/awx.git
synced 2026-02-28 16:28:43 -03:30
Merge pull request #6012 from mabashian/workflow-action-ids-2
Expose id's on workflow action items Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { func } from 'prop-types';
|
import { func, string } from 'prop-types';
|
||||||
|
|
||||||
const TooltipItem = styled.div`
|
const TooltipItem = styled.div`
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -24,12 +24,14 @@ const TooltipItem = styled.div`
|
|||||||
|
|
||||||
function WorkflowActionTooltipItem({
|
function WorkflowActionTooltipItem({
|
||||||
children,
|
children,
|
||||||
|
id,
|
||||||
onClick,
|
onClick,
|
||||||
onMouseEnter,
|
onMouseEnter,
|
||||||
onMouseLeave,
|
onMouseLeave,
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<TooltipItem
|
<TooltipItem
|
||||||
|
id={id}
|
||||||
onClick={onClick}
|
onClick={onClick}
|
||||||
onMouseEnter={onMouseEnter}
|
onMouseEnter={onMouseEnter}
|
||||||
onMouseLeave={onMouseLeave}
|
onMouseLeave={onMouseLeave}
|
||||||
@@ -40,6 +42,7 @@ function WorkflowActionTooltipItem({
|
|||||||
}
|
}
|
||||||
|
|
||||||
WorkflowActionTooltipItem.propTypes = {
|
WorkflowActionTooltipItem.propTypes = {
|
||||||
|
id: string.isRequired,
|
||||||
onClick: func,
|
onClick: func,
|
||||||
onMouseEnter: func,
|
onMouseEnter: func,
|
||||||
onMouseLeave: func,
|
onMouseLeave: func,
|
||||||
|
|||||||
@@ -171,7 +171,7 @@ describe('Visualizer', () => {
|
|||||||
wrapper.update();
|
wrapper.update();
|
||||||
expect(wrapper.find('LinkEditModal').length).toBe(0);
|
expect(wrapper.find('LinkEditModal').length).toBe(0);
|
||||||
wrapper.find('g#link-2-3').simulate('mouseenter');
|
wrapper.find('g#link-2-3').simulate('mouseenter');
|
||||||
wrapper.find('#link-edit').simulate('click');
|
wrapper.find('WorkflowActionTooltipItem#link-edit').simulate('click');
|
||||||
expect(wrapper.find('LinkEditModal').length).toBe(1);
|
expect(wrapper.find('LinkEditModal').length).toBe(1);
|
||||||
act(() => {
|
act(() => {
|
||||||
wrapper
|
wrapper
|
||||||
|
|||||||
@@ -96,13 +96,17 @@ describe('VisualizerLink', () => {
|
|||||||
.find('g')
|
.find('g')
|
||||||
.first()
|
.first()
|
||||||
.simulate('mouseenter');
|
.simulate('mouseenter');
|
||||||
wrapper.find('#link-add-node').simulate('mouseenter');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#link-add-node')
|
||||||
|
.simulate('mouseenter');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith(
|
expect(updateHelpText).toHaveBeenCalledWith(
|
||||||
'Add a new node between these two nodes'
|
'Add a new node between these two nodes'
|
||||||
);
|
);
|
||||||
wrapper.find('#link-add-node').simulate('mouseleave');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#link-add-node')
|
||||||
|
.simulate('mouseleave');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith(null);
|
expect(updateHelpText).toHaveBeenCalledWith(null);
|
||||||
wrapper.find('#link-add-node').simulate('click');
|
wrapper.find('WorkflowActionTooltipItem#link-add-node').simulate('click');
|
||||||
expect(dispatch).toHaveBeenCalledWith({
|
expect(dispatch).toHaveBeenCalledWith({
|
||||||
type: 'START_ADD_NODE',
|
type: 'START_ADD_NODE',
|
||||||
sourceNodeId: 2,
|
sourceNodeId: 2,
|
||||||
@@ -116,11 +120,11 @@ describe('VisualizerLink', () => {
|
|||||||
.find('g')
|
.find('g')
|
||||||
.first()
|
.first()
|
||||||
.simulate('mouseenter');
|
.simulate('mouseenter');
|
||||||
wrapper.find('#link-edit').simulate('mouseenter');
|
wrapper.find('WorkflowActionTooltipItem#link-edit').simulate('mouseenter');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith('Edit this link');
|
expect(updateHelpText).toHaveBeenCalledWith('Edit this link');
|
||||||
wrapper.find('#link-edit').simulate('mouseleave');
|
wrapper.find('WorkflowActionTooltipItem#link-edit').simulate('mouseleave');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith(null);
|
expect(updateHelpText).toHaveBeenCalledWith(null);
|
||||||
wrapper.find('#link-edit').simulate('click');
|
wrapper.find('WorkflowActionTooltipItem#link-edit').simulate('click');
|
||||||
expect(dispatch).toHaveBeenCalledWith({
|
expect(dispatch).toHaveBeenCalledWith({
|
||||||
type: 'SET_LINK_TO_EDIT',
|
type: 'SET_LINK_TO_EDIT',
|
||||||
value: link,
|
value: link,
|
||||||
@@ -133,11 +137,15 @@ describe('VisualizerLink', () => {
|
|||||||
.find('g')
|
.find('g')
|
||||||
.first()
|
.first()
|
||||||
.simulate('mouseenter');
|
.simulate('mouseenter');
|
||||||
wrapper.find('#link-delete').simulate('mouseenter');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#link-delete')
|
||||||
|
.simulate('mouseenter');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith('Delete this link');
|
expect(updateHelpText).toHaveBeenCalledWith('Delete this link');
|
||||||
wrapper.find('#link-delete').simulate('mouseleave');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#link-delete')
|
||||||
|
.simulate('mouseleave');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith(null);
|
expect(updateHelpText).toHaveBeenCalledWith(null);
|
||||||
wrapper.find('#link-delete').simulate('click');
|
wrapper.find('WorkflowActionTooltipItem#link-delete').simulate('click');
|
||||||
expect(dispatch).toHaveBeenCalledWith({
|
expect(dispatch).toHaveBeenCalledWith({
|
||||||
type: 'START_DELETE_LINK',
|
type: 'START_DELETE_LINK',
|
||||||
link,
|
link,
|
||||||
|
|||||||
@@ -86,11 +86,11 @@ describe('VisualizerNode', () => {
|
|||||||
|
|
||||||
test('Add tooltip action hover/click updates help text and dispatches properly', () => {
|
test('Add tooltip action hover/click updates help text and dispatches properly', () => {
|
||||||
wrapper.find('VisualizerNode').simulate('mouseenter');
|
wrapper.find('VisualizerNode').simulate('mouseenter');
|
||||||
wrapper.find('#node-add').simulate('mouseenter');
|
wrapper.find('WorkflowActionTooltipItem#node-add').simulate('mouseenter');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith('Add a new node');
|
expect(updateHelpText).toHaveBeenCalledWith('Add a new node');
|
||||||
wrapper.find('#node-add').simulate('mouseleave');
|
wrapper.find('WorkflowActionTooltipItem#node-add').simulate('mouseleave');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith(null);
|
expect(updateHelpText).toHaveBeenCalledWith(null);
|
||||||
wrapper.find('#node-add').simulate('click');
|
wrapper.find('WorkflowActionTooltipItem#node-add').simulate('click');
|
||||||
expect(dispatch).toHaveBeenCalledWith({
|
expect(dispatch).toHaveBeenCalledWith({
|
||||||
type: 'START_ADD_NODE',
|
type: 'START_ADD_NODE',
|
||||||
sourceNodeId: 2,
|
sourceNodeId: 2,
|
||||||
@@ -100,11 +100,15 @@ describe('VisualizerNode', () => {
|
|||||||
|
|
||||||
test('Edit tooltip action hover/click updates help text and dispatches properly', () => {
|
test('Edit tooltip action hover/click updates help text and dispatches properly', () => {
|
||||||
wrapper.find('VisualizerNode').simulate('mouseenter');
|
wrapper.find('VisualizerNode').simulate('mouseenter');
|
||||||
wrapper.find('#node-edit').simulate('mouseenter');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#node-edit')
|
||||||
|
.simulate('mouseenter');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith('Edit this node');
|
expect(updateHelpText).toHaveBeenCalledWith('Edit this node');
|
||||||
wrapper.find('#node-edit').simulate('mouseleave');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#node-edit')
|
||||||
|
.simulate('mouseleave');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith(null);
|
expect(updateHelpText).toHaveBeenCalledWith(null);
|
||||||
wrapper.find('#node-edit').simulate('click');
|
wrapper.find('WorkflowActionTooltipItem#node-edit').simulate('click');
|
||||||
expect(dispatch).toHaveBeenCalledWith({
|
expect(dispatch).toHaveBeenCalledWith({
|
||||||
type: 'SET_NODE_TO_EDIT',
|
type: 'SET_NODE_TO_EDIT',
|
||||||
value: nodeWithJT,
|
value: nodeWithJT,
|
||||||
@@ -114,11 +118,15 @@ describe('VisualizerNode', () => {
|
|||||||
|
|
||||||
test('Details tooltip action hover/click updates help text and dispatches properly', () => {
|
test('Details tooltip action hover/click updates help text and dispatches properly', () => {
|
||||||
wrapper.find('VisualizerNode').simulate('mouseenter');
|
wrapper.find('VisualizerNode').simulate('mouseenter');
|
||||||
wrapper.find('#node-details').simulate('mouseenter');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#node-details')
|
||||||
|
.simulate('mouseenter');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith('View node details');
|
expect(updateHelpText).toHaveBeenCalledWith('View node details');
|
||||||
wrapper.find('#node-details').simulate('mouseleave');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#node-details')
|
||||||
|
.simulate('mouseleave');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith(null);
|
expect(updateHelpText).toHaveBeenCalledWith(null);
|
||||||
wrapper.find('#node-details').simulate('click');
|
wrapper.find('WorkflowActionTooltipItem#node-details').simulate('click');
|
||||||
expect(dispatch).toHaveBeenCalledWith({
|
expect(dispatch).toHaveBeenCalledWith({
|
||||||
type: 'SET_NODE_TO_VIEW',
|
type: 'SET_NODE_TO_VIEW',
|
||||||
value: nodeWithJT,
|
value: nodeWithJT,
|
||||||
@@ -128,11 +136,15 @@ describe('VisualizerNode', () => {
|
|||||||
|
|
||||||
test('Link tooltip action hover/click updates help text and dispatches properly', () => {
|
test('Link tooltip action hover/click updates help text and dispatches properly', () => {
|
||||||
wrapper.find('VisualizerNode').simulate('mouseenter');
|
wrapper.find('VisualizerNode').simulate('mouseenter');
|
||||||
wrapper.find('#node-link').simulate('mouseenter');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#node-link')
|
||||||
|
.simulate('mouseenter');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith('Link to an available node');
|
expect(updateHelpText).toHaveBeenCalledWith('Link to an available node');
|
||||||
wrapper.find('#node-link').simulate('mouseleave');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#node-link')
|
||||||
|
.simulate('mouseleave');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith(null);
|
expect(updateHelpText).toHaveBeenCalledWith(null);
|
||||||
wrapper.find('#node-link').simulate('click');
|
wrapper.find('WorkflowActionTooltipItem#node-link').simulate('click');
|
||||||
expect(dispatch).toHaveBeenCalledWith({
|
expect(dispatch).toHaveBeenCalledWith({
|
||||||
type: 'SELECT_SOURCE_FOR_LINKING',
|
type: 'SELECT_SOURCE_FOR_LINKING',
|
||||||
node: nodeWithJT,
|
node: nodeWithJT,
|
||||||
@@ -142,11 +154,15 @@ describe('VisualizerNode', () => {
|
|||||||
|
|
||||||
test('Delete tooltip action hover/click updates help text and dispatches properly', () => {
|
test('Delete tooltip action hover/click updates help text and dispatches properly', () => {
|
||||||
wrapper.find('VisualizerNode').simulate('mouseenter');
|
wrapper.find('VisualizerNode').simulate('mouseenter');
|
||||||
wrapper.find('#node-delete').simulate('mouseenter');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#node-delete')
|
||||||
|
.simulate('mouseenter');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith('Delete this node');
|
expect(updateHelpText).toHaveBeenCalledWith('Delete this node');
|
||||||
wrapper.find('#node-delete').simulate('mouseleave');
|
wrapper
|
||||||
|
.find('WorkflowActionTooltipItem#node-delete')
|
||||||
|
.simulate('mouseleave');
|
||||||
expect(updateHelpText).toHaveBeenCalledWith(null);
|
expect(updateHelpText).toHaveBeenCalledWith(null);
|
||||||
wrapper.find('#node-delete').simulate('click');
|
wrapper.find('WorkflowActionTooltipItem#node-delete').simulate('click');
|
||||||
expect(dispatch).toHaveBeenCalledWith({
|
expect(dispatch).toHaveBeenCalledWith({
|
||||||
type: 'SET_NODE_TO_DELETE',
|
type: 'SET_NODE_TO_DELETE',
|
||||||
value: nodeWithJT,
|
value: nodeWithJT,
|
||||||
|
|||||||
Reference in New Issue
Block a user