mirror of
https://github.com/ansible/awx.git
synced 2026-03-18 17:37:30 -02:30
Move all mock workflow approvals out to data.workflowApprovals.json
This commit is contained in:
@@ -6,7 +6,7 @@ import {
|
|||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import mockDetails from './data.workflowApproval.json';
|
import mockWorkflowApprovals from './data.workflowApprovals.json';
|
||||||
import WorkflowApproval from './WorkflowApproval';
|
import WorkflowApproval from './WorkflowApproval';
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
@@ -18,7 +18,9 @@ const mockMe = {
|
|||||||
|
|
||||||
describe('<WorkflowApproval />', () => {
|
describe('<WorkflowApproval />', () => {
|
||||||
test('initially renders succesfully', async () => {
|
test('initially renders succesfully', async () => {
|
||||||
WorkflowApprovalsAPI.readDetail.mockResolvedValue({ data: mockDetails });
|
WorkflowApprovalsAPI.readDetail.mockResolvedValue({
|
||||||
|
data: mockWorkflowApprovals.results[0],
|
||||||
|
});
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
mountWithContexts(
|
mountWithContexts(
|
||||||
<WorkflowApproval setBreadcrumb={() => {}} me={mockMe} />
|
<WorkflowApproval setBreadcrumb={() => {}} me={mockMe} />
|
||||||
|
|||||||
@@ -7,7 +7,9 @@ import {
|
|||||||
import { WorkflowApprovalsAPI } from '../../../api';
|
import { WorkflowApprovalsAPI } from '../../../api';
|
||||||
import { formatDateString } from '../../../util/dates';
|
import { formatDateString } from '../../../util/dates';
|
||||||
import WorkflowApprovalDetail from './WorkflowApprovalDetail';
|
import WorkflowApprovalDetail from './WorkflowApprovalDetail';
|
||||||
import workflowApproval from '../data.workflowApproval.json';
|
import mockWorkflowApprovals from '../data.workflowApprovals.json';
|
||||||
|
|
||||||
|
const workflowApproval = mockWorkflowApprovals.results[0];
|
||||||
|
|
||||||
jest.mock('../../../api');
|
jest.mock('../../../api');
|
||||||
|
|
||||||
|
|||||||
@@ -3,169 +3,17 @@ import { act } from 'react-dom/test-utils';
|
|||||||
import { WorkflowApprovalsAPI } from '../../../api';
|
import { WorkflowApprovalsAPI } from '../../../api';
|
||||||
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
||||||
import WorkflowApprovalList from './WorkflowApprovalList';
|
import WorkflowApprovalList from './WorkflowApprovalList';
|
||||||
|
import mockWorkflowApprovals from '../data.workflowApprovals.json';
|
||||||
|
|
||||||
jest.mock('../../../api');
|
jest.mock('../../../api');
|
||||||
|
|
||||||
const mockWorkflowApprovals = [
|
|
||||||
{
|
|
||||||
id: 221,
|
|
||||||
type: 'workflow_approval',
|
|
||||||
url: '/api/v2/workflow_approvals/221/',
|
|
||||||
related: {
|
|
||||||
created_by: '/api/v2/users/1/',
|
|
||||||
unified_job_template: '/api/v2/workflow_approval_templates/10/',
|
|
||||||
source_workflow_job: '/api/v2/workflow_jobs/220/',
|
|
||||||
workflow_approval_template: '/api/v2/workflow_approval_templates/10/',
|
|
||||||
approve: '/api/v2/workflow_approvals/221/approve/',
|
|
||||||
deny: '/api/v2/workflow_approvals/221/deny/',
|
|
||||||
},
|
|
||||||
summary_fields: {
|
|
||||||
workflow_job_template: {
|
|
||||||
id: 9,
|
|
||||||
name: 'Approval @ 9:15:26 AM',
|
|
||||||
description: '',
|
|
||||||
},
|
|
||||||
workflow_job: {
|
|
||||||
id: 220,
|
|
||||||
name: 'Approval @ 9:15:26 AM',
|
|
||||||
description: '',
|
|
||||||
},
|
|
||||||
workflow_approval_template: {
|
|
||||||
id: 10,
|
|
||||||
name: 'approval copy',
|
|
||||||
description: '',
|
|
||||||
timeout: 30,
|
|
||||||
},
|
|
||||||
unified_job_template: {
|
|
||||||
id: 10,
|
|
||||||
name: 'approval copy',
|
|
||||||
description: '',
|
|
||||||
unified_job_type: 'workflow_approval',
|
|
||||||
},
|
|
||||||
created_by: {
|
|
||||||
id: 1,
|
|
||||||
username: 'admin',
|
|
||||||
first_name: '',
|
|
||||||
last_name: '',
|
|
||||||
},
|
|
||||||
user_capabilities: {
|
|
||||||
delete: true,
|
|
||||||
start: true,
|
|
||||||
},
|
|
||||||
source_workflow_job: {
|
|
||||||
id: 220,
|
|
||||||
name: 'Approval @ 9:15:26 AM',
|
|
||||||
description: '',
|
|
||||||
status: 'failed',
|
|
||||||
failed: true,
|
|
||||||
elapsed: 89.766,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
created: '2020-10-09T19:58:27.337904Z',
|
|
||||||
modified: '2020-10-09T19:58:27.338000Z',
|
|
||||||
name: 'approval copy',
|
|
||||||
description: '',
|
|
||||||
unified_job_template: 10,
|
|
||||||
launch_type: 'workflow',
|
|
||||||
status: 'failed',
|
|
||||||
failed: true,
|
|
||||||
started: '2020-10-09T19:58:27.337904Z',
|
|
||||||
finished: '2020-10-09T19:59:26.974046Z',
|
|
||||||
canceled_on: null,
|
|
||||||
elapsed: 59.636,
|
|
||||||
job_explanation:
|
|
||||||
'The approval node approval copy (221) has expired after 30 seconds.',
|
|
||||||
can_approve_or_deny: false,
|
|
||||||
approval_expiration: null,
|
|
||||||
timed_out: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 6,
|
|
||||||
type: 'workflow_approval',
|
|
||||||
url: '/api/v2/workflow_approvals/6/',
|
|
||||||
related: {
|
|
||||||
created_by: '/api/v2/users/1/',
|
|
||||||
unified_job_template: '/api/v2/workflow_approval_templates/8/',
|
|
||||||
source_workflow_job: '/api/v2/workflow_jobs/5/',
|
|
||||||
workflow_approval_template: '/api/v2/workflow_approval_templates/8/',
|
|
||||||
approve: '/api/v2/workflow_approvals/6/approve/',
|
|
||||||
deny: '/api/v2/workflow_approvals/6/deny/',
|
|
||||||
approved_or_denied_by: '/api/v2/users/1/',
|
|
||||||
},
|
|
||||||
summary_fields: {
|
|
||||||
workflow_job_template: {
|
|
||||||
id: 7,
|
|
||||||
name: 'Approval',
|
|
||||||
description: '',
|
|
||||||
},
|
|
||||||
workflow_job: {
|
|
||||||
id: 5,
|
|
||||||
name: 'Approval',
|
|
||||||
description: '',
|
|
||||||
},
|
|
||||||
workflow_approval_template: {
|
|
||||||
id: 8,
|
|
||||||
name: 'approval',
|
|
||||||
description: '',
|
|
||||||
timeout: 0,
|
|
||||||
},
|
|
||||||
unified_job_template: {
|
|
||||||
id: 8,
|
|
||||||
name: 'approval',
|
|
||||||
description: '',
|
|
||||||
unified_job_type: 'workflow_approval',
|
|
||||||
},
|
|
||||||
approved_or_denied_by: {
|
|
||||||
id: 1,
|
|
||||||
username: 'admin',
|
|
||||||
first_name: '',
|
|
||||||
last_name: '',
|
|
||||||
},
|
|
||||||
created_by: {
|
|
||||||
id: 1,
|
|
||||||
username: 'admin',
|
|
||||||
first_name: '',
|
|
||||||
last_name: '',
|
|
||||||
},
|
|
||||||
user_capabilities: {
|
|
||||||
delete: false,
|
|
||||||
start: false,
|
|
||||||
},
|
|
||||||
source_workflow_job: {
|
|
||||||
id: 5,
|
|
||||||
name: 'Approval',
|
|
||||||
description: '',
|
|
||||||
status: 'successful',
|
|
||||||
failed: false,
|
|
||||||
elapsed: 168.233,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
created: '2020-10-05T20:14:53.875701Z',
|
|
||||||
modified: '2020-10-05T20:17:41.211373Z',
|
|
||||||
name: 'approval',
|
|
||||||
description: '',
|
|
||||||
unified_job_template: 8,
|
|
||||||
launch_type: 'workflow',
|
|
||||||
status: 'successful',
|
|
||||||
failed: false,
|
|
||||||
started: '2020-10-05T20:14:53.875701Z',
|
|
||||||
finished: '2020-10-05T20:17:41.200738Z',
|
|
||||||
canceled_on: null,
|
|
||||||
elapsed: 167.325,
|
|
||||||
job_explanation: '',
|
|
||||||
can_approve_or_deny: false,
|
|
||||||
approval_expiration: null,
|
|
||||||
timed_out: false,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
describe('<WorkflowApprovalList />', () => {
|
describe('<WorkflowApprovalList />', () => {
|
||||||
let wrapper;
|
let wrapper;
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
WorkflowApprovalsAPI.read.mockResolvedValue({
|
WorkflowApprovalsAPI.read.mockResolvedValue({
|
||||||
data: {
|
data: {
|
||||||
count: mockWorkflowApprovals.length,
|
count: mockWorkflowApprovals.results.length,
|
||||||
results: mockWorkflowApprovals,
|
results: mockWorkflowApprovals.results,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -191,7 +39,7 @@ describe('<WorkflowApprovalList />', () => {
|
|||||||
});
|
});
|
||||||
wrapper.update();
|
wrapper.update();
|
||||||
|
|
||||||
expect(wrapper.find('WorkflowApprovalListItem')).toHaveLength(2);
|
expect(wrapper.find('WorkflowApprovalListItem')).toHaveLength(3);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should select workflow approval when checked', async () => {
|
test('should select workflow approval when checked', async () => {
|
||||||
@@ -228,7 +76,7 @@ describe('<WorkflowApprovalList />', () => {
|
|||||||
wrapper.update();
|
wrapper.update();
|
||||||
|
|
||||||
const items = wrapper.find('WorkflowApprovalListItem');
|
const items = wrapper.find('WorkflowApprovalListItem');
|
||||||
expect(items).toHaveLength(2);
|
expect(items).toHaveLength(3);
|
||||||
items.forEach(item => {
|
items.forEach(item => {
|
||||||
expect(item.prop('isSelected')).toEqual(true);
|
expect(item.prop('isSelected')).toEqual(true);
|
||||||
});
|
});
|
||||||
@@ -250,7 +98,7 @@ describe('<WorkflowApprovalList />', () => {
|
|||||||
await act(async () => {
|
await act(async () => {
|
||||||
wrapper
|
wrapper
|
||||||
.find('WorkflowApprovalListItem')
|
.find('WorkflowApprovalListItem')
|
||||||
.at(1)
|
.at(2)
|
||||||
.invoke('onSelect')();
|
.invoke('onSelect')();
|
||||||
});
|
});
|
||||||
wrapper.update();
|
wrapper.update();
|
||||||
@@ -269,7 +117,7 @@ describe('<WorkflowApprovalList />', () => {
|
|||||||
await act(async () => {
|
await act(async () => {
|
||||||
wrapper
|
wrapper
|
||||||
.find('WorkflowApprovalListItem')
|
.find('WorkflowApprovalListItem')
|
||||||
.at(0)
|
.at(1)
|
||||||
.invoke('onSelect')();
|
.invoke('onSelect')();
|
||||||
});
|
});
|
||||||
wrapper.update();
|
wrapper.update();
|
||||||
@@ -300,7 +148,7 @@ describe('<WorkflowApprovalList />', () => {
|
|||||||
await act(async () => {
|
await act(async () => {
|
||||||
wrapper
|
wrapper
|
||||||
.find('WorkflowApprovalListItem')
|
.find('WorkflowApprovalListItem')
|
||||||
.at(0)
|
.at(1)
|
||||||
.invoke('onSelect')();
|
.invoke('onSelect')();
|
||||||
});
|
});
|
||||||
wrapper.update();
|
wrapper.update();
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ const workflowApproval = {
|
|||||||
id: 1,
|
id: 1,
|
||||||
name: 'Foo',
|
name: 'Foo',
|
||||||
can_approve_or_deny: true,
|
can_approve_or_deny: true,
|
||||||
|
url: '/api/v2/workflow_approvals/218/',
|
||||||
};
|
};
|
||||||
|
|
||||||
describe('<WorkflowApprovalListApproveButton />', () => {
|
describe('<WorkflowApprovalListApproveButton />', () => {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ const workflowApproval = {
|
|||||||
id: 1,
|
id: 1,
|
||||||
name: 'Foo',
|
name: 'Foo',
|
||||||
can_approve_or_deny: true,
|
can_approve_or_deny: true,
|
||||||
|
url: '/api/v2/workflow_approvals/218/',
|
||||||
};
|
};
|
||||||
|
|
||||||
describe('<WorkflowApprovalListDenyButton />', () => {
|
describe('<WorkflowApprovalListDenyButton />', () => {
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
||||||
import WorkflowApprovalListItem from './WorkflowApprovalListItem';
|
import WorkflowApprovalListItem from './WorkflowApprovalListItem';
|
||||||
import workflowApproval from '../data.workflowApproval.json';
|
import mockWorkflowApprovals from '../data.workflowApprovals.json';
|
||||||
|
|
||||||
|
const workflowApproval = mockWorkflowApprovals.results[0];
|
||||||
|
|
||||||
jest.mock('../../../api/models/WorkflowApprovals');
|
jest.mock('../../../api/models/WorkflowApprovals');
|
||||||
|
|
||||||
|
|||||||
@@ -1,71 +0,0 @@
|
|||||||
{
|
|
||||||
"id": 218,
|
|
||||||
"type": "workflow_approval",
|
|
||||||
"url": "/api/v2/workflow_approvals/218/",
|
|
||||||
"related": {
|
|
||||||
"created_by": "/api/v2/users/1/",
|
|
||||||
"unified_job_template": "/api/v2/workflow_approval_templates/10/",
|
|
||||||
"source_workflow_job": "/api/v2/workflow_jobs/216/",
|
|
||||||
"workflow_approval_template": "/api/v2/workflow_approval_templates/10/",
|
|
||||||
"approve": "/api/v2/workflow_approvals/218/approve/",
|
|
||||||
"deny": "/api/v2/workflow_approvals/218/deny/"
|
|
||||||
},
|
|
||||||
"summary_fields": {
|
|
||||||
"workflow_job_template": {
|
|
||||||
"id": 9,
|
|
||||||
"name": "Approval @ 9:15:26 AM",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"workflow_job": {
|
|
||||||
"id": 216,
|
|
||||||
"name": "Approval @ 9:15:26 AM",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"workflow_approval_template": {
|
|
||||||
"id": 10,
|
|
||||||
"name": "approval copy",
|
|
||||||
"description": "",
|
|
||||||
"timeout": 0
|
|
||||||
},
|
|
||||||
"unified_job_template": {
|
|
||||||
"id": 10,
|
|
||||||
"name": "approval copy",
|
|
||||||
"description": "",
|
|
||||||
"unified_job_type": "workflow_approval"
|
|
||||||
},
|
|
||||||
"created_by": {
|
|
||||||
"id": 1,
|
|
||||||
"username": "admin",
|
|
||||||
"first_name": "",
|
|
||||||
"last_name": ""
|
|
||||||
},
|
|
||||||
"user_capabilities": {
|
|
||||||
"delete": true,
|
|
||||||
"start": true
|
|
||||||
},
|
|
||||||
"source_workflow_job": {
|
|
||||||
"id": 216,
|
|
||||||
"name": "Approval @ 9:15:26 AM",
|
|
||||||
"description": "",
|
|
||||||
"status": "running",
|
|
||||||
"failed": false,
|
|
||||||
"elapsed": 0.0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"created": "2020-10-09T17:13:12.067947Z",
|
|
||||||
"modified": "2020-10-09T17:13:12.068147Z",
|
|
||||||
"name": "approval",
|
|
||||||
"description": "description of approval",
|
|
||||||
"unified_job_template": 10,
|
|
||||||
"launch_type": "workflow",
|
|
||||||
"status": "pending",
|
|
||||||
"failed": false,
|
|
||||||
"started": "2020-10-09T17:13:12.067947Z",
|
|
||||||
"finished": null,
|
|
||||||
"canceled_on": null,
|
|
||||||
"elapsed": 22.879029,
|
|
||||||
"job_explanation": "",
|
|
||||||
"can_approve_or_deny": true,
|
|
||||||
"approval_expiration": null,
|
|
||||||
"timed_out": false
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,227 @@
|
|||||||
|
{
|
||||||
|
"count": 3,
|
||||||
|
"next": "/api/v2/workflow_approvals/",
|
||||||
|
"previous": null,
|
||||||
|
"results": [
|
||||||
|
{
|
||||||
|
"id": 218,
|
||||||
|
"type": "workflow_approval",
|
||||||
|
"url": "/api/v2/workflow_approvals/218/",
|
||||||
|
"related": {
|
||||||
|
"created_by": "/api/v2/users/1/",
|
||||||
|
"unified_job_template": "/api/v2/workflow_approval_templates/10/",
|
||||||
|
"source_workflow_job": "/api/v2/workflow_jobs/216/",
|
||||||
|
"workflow_approval_template": "/api/v2/workflow_approval_templates/10/",
|
||||||
|
"approve": "/api/v2/workflow_approvals/218/approve/",
|
||||||
|
"deny": "/api/v2/workflow_approvals/218/deny/"
|
||||||
|
},
|
||||||
|
"summary_fields": {
|
||||||
|
"workflow_job_template": {
|
||||||
|
"id": 9,
|
||||||
|
"name": "Approval @ 9:15:26 AM",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"workflow_job": {
|
||||||
|
"id": 216,
|
||||||
|
"name": "Approval @ 9:15:26 AM",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"workflow_approval_template": {
|
||||||
|
"id": 10,
|
||||||
|
"name": "approval copy",
|
||||||
|
"description": "",
|
||||||
|
"timeout": 0
|
||||||
|
},
|
||||||
|
"unified_job_template": {
|
||||||
|
"id": 10,
|
||||||
|
"name": "approval copy",
|
||||||
|
"description": "",
|
||||||
|
"unified_job_type": "workflow_approval"
|
||||||
|
},
|
||||||
|
"created_by": {
|
||||||
|
"id": 1,
|
||||||
|
"username": "admin",
|
||||||
|
"first_name": "",
|
||||||
|
"last_name": ""
|
||||||
|
},
|
||||||
|
"user_capabilities": {
|
||||||
|
"delete": true,
|
||||||
|
"start": true
|
||||||
|
},
|
||||||
|
"source_workflow_job": {
|
||||||
|
"id": 216,
|
||||||
|
"name": "Approval @ 9:15:26 AM",
|
||||||
|
"description": "",
|
||||||
|
"status": "running",
|
||||||
|
"failed": false,
|
||||||
|
"elapsed": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"created": "2020-10-09T17:13:12.067947Z",
|
||||||
|
"modified": "2020-10-09T17:13:12.068147Z",
|
||||||
|
"name": "approval",
|
||||||
|
"description": "description of approval",
|
||||||
|
"unified_job_template": 10,
|
||||||
|
"launch_type": "workflow",
|
||||||
|
"status": "pending",
|
||||||
|
"failed": false,
|
||||||
|
"started": "2020-10-09T17:13:12.067947Z",
|
||||||
|
"finished": null,
|
||||||
|
"canceled_on": null,
|
||||||
|
"elapsed": 22.879029,
|
||||||
|
"job_explanation": "",
|
||||||
|
"can_approve_or_deny": true,
|
||||||
|
"approval_expiration": null,
|
||||||
|
"timed_out": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 221,
|
||||||
|
"type": "workflow_approval",
|
||||||
|
"url": "/api/v2/workflow_approvals/221/",
|
||||||
|
"related": {
|
||||||
|
"created_by": "/api/v2/users/1/",
|
||||||
|
"unified_job_template": "/api/v2/workflow_approval_templates/10/",
|
||||||
|
"source_workflow_job": "/api/v2/workflow_jobs/220/",
|
||||||
|
"workflow_approval_template": "/api/v2/workflow_approval_templates/10/",
|
||||||
|
"approve": "/api/v2/workflow_approvals/221/approve/",
|
||||||
|
"deny": "/api/v2/workflow_approvals/221/deny/"
|
||||||
|
},
|
||||||
|
"summary_fields": {
|
||||||
|
"workflow_job_template": {
|
||||||
|
"id": 9,
|
||||||
|
"name": "Approval @ 9:15:26 AM",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"workflow_job": {
|
||||||
|
"id": 220,
|
||||||
|
"name": "Approval @ 9:15:26 AM",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"workflow_approval_template": {
|
||||||
|
"id": 10,
|
||||||
|
"name": "approval copy",
|
||||||
|
"description": "",
|
||||||
|
"timeout": 30
|
||||||
|
},
|
||||||
|
"unified_job_template": {
|
||||||
|
"id": 10,
|
||||||
|
"name": "approval copy",
|
||||||
|
"description": "",
|
||||||
|
"unified_job_type": "workflow_approval"
|
||||||
|
},
|
||||||
|
"created_by": {
|
||||||
|
"id": 1,
|
||||||
|
"username": "admin",
|
||||||
|
"first_name": "",
|
||||||
|
"last_name": ""
|
||||||
|
},
|
||||||
|
"user_capabilities": {
|
||||||
|
"delete": true,
|
||||||
|
"start": true
|
||||||
|
},
|
||||||
|
"source_workflow_job": {
|
||||||
|
"id": 220,
|
||||||
|
"name": "Approval @ 9:15:26 AM",
|
||||||
|
"description": "",
|
||||||
|
"status": "failed",
|
||||||
|
"failed": true,
|
||||||
|
"elapsed": 89.766
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"created": "2020-10-09T19:58:27.337904Z",
|
||||||
|
"modified": "2020-10-09T19:58:27.338000Z",
|
||||||
|
"name": "approval copy",
|
||||||
|
"description": "",
|
||||||
|
"unified_job_template": 10,
|
||||||
|
"launch_type": "workflow",
|
||||||
|
"status": "failed",
|
||||||
|
"failed": true,
|
||||||
|
"started": "2020-10-09T19:58:27.337904Z",
|
||||||
|
"finished": "2020-10-09T19:59:26.974046Z",
|
||||||
|
"canceled_on": null,
|
||||||
|
"elapsed": 59.636,
|
||||||
|
"job_explanation": "The approval node approval copy (221) has expired after 30 seconds.",
|
||||||
|
"can_approve_or_deny": false,
|
||||||
|
"approval_expiration": null,
|
||||||
|
"timed_out": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"type": "workflow_approval",
|
||||||
|
"url": "/api/v2/workflow_approvals/6/",
|
||||||
|
"related": {
|
||||||
|
"created_by": "/api/v2/users/1/",
|
||||||
|
"unified_job_template": "/api/v2/workflow_approval_templates/8/",
|
||||||
|
"source_workflow_job": "/api/v2/workflow_jobs/5/",
|
||||||
|
"workflow_approval_template": "/api/v2/workflow_approval_templates/8/",
|
||||||
|
"approve": "/api/v2/workflow_approvals/6/approve/",
|
||||||
|
"deny": "/api/v2/workflow_approvals/6/deny/",
|
||||||
|
"approved_or_denied_by": "/api/v2/users/1/"
|
||||||
|
},
|
||||||
|
"summary_fields": {
|
||||||
|
"workflow_job_template": {
|
||||||
|
"id": 7,
|
||||||
|
"name": "Approval",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"workflow_job": {
|
||||||
|
"id": 5,
|
||||||
|
"name": "Approval",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"workflow_approval_template": {
|
||||||
|
"id": 8,
|
||||||
|
"name": "approval",
|
||||||
|
"description": "",
|
||||||
|
"timeout": 0
|
||||||
|
},
|
||||||
|
"unified_job_template": {
|
||||||
|
"id": 8,
|
||||||
|
"name": "approval",
|
||||||
|
"description": "",
|
||||||
|
"unified_job_type": "workflow_approval"
|
||||||
|
},
|
||||||
|
"approved_or_denied_by": {
|
||||||
|
"id": 1,
|
||||||
|
"username": "admin",
|
||||||
|
"first_name": "",
|
||||||
|
"last_name": ""
|
||||||
|
},
|
||||||
|
"created_by": {
|
||||||
|
"id": 1,
|
||||||
|
"username": "admin",
|
||||||
|
"first_name": "",
|
||||||
|
"last_name": ""
|
||||||
|
},
|
||||||
|
"user_capabilities": {
|
||||||
|
"delete": false,
|
||||||
|
"start": false
|
||||||
|
},
|
||||||
|
"source_workflow_job": {
|
||||||
|
"id": 5,
|
||||||
|
"name": "Approval",
|
||||||
|
"description": "",
|
||||||
|
"status": "successful",
|
||||||
|
"failed": false,
|
||||||
|
"elapsed": 168.233
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"created": "2020-10-05T20:14:53.875701Z",
|
||||||
|
"modified": "2020-10-05T20:17:41.211373Z",
|
||||||
|
"name": "approval",
|
||||||
|
"description": "",
|
||||||
|
"unified_job_template": 8,
|
||||||
|
"launch_type": "workflow",
|
||||||
|
"status": "successful",
|
||||||
|
"failed": false,
|
||||||
|
"started": "2020-10-05T20:14:53.875701Z",
|
||||||
|
"finished": "2020-10-05T20:17:41.200738Z",
|
||||||
|
"canceled_on": null,
|
||||||
|
"elapsed": 167.325,
|
||||||
|
"job_explanation": "",
|
||||||
|
"can_approve_or_deny": false,
|
||||||
|
"approval_expiration": null,
|
||||||
|
"timed_out": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -2,7 +2,9 @@ import React from 'react';
|
|||||||
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
||||||
import { formatDateString } from '../../../util/dates';
|
import { formatDateString } from '../../../util/dates';
|
||||||
import WorkflowApprovalStatus from './WorkflowApprovalStatus';
|
import WorkflowApprovalStatus from './WorkflowApprovalStatus';
|
||||||
import workflowApproval from '../data.workflowApproval.json';
|
import mockWorkflowApprovals from '../data.workflowApprovals.json';
|
||||||
|
|
||||||
|
const workflowApproval = mockWorkflowApprovals.results[0];
|
||||||
|
|
||||||
describe('<WorkflowApprovalStatus />', () => {
|
describe('<WorkflowApprovalStatus />', () => {
|
||||||
let wrapper;
|
let wrapper;
|
||||||
|
|||||||
Reference in New Issue
Block a user