Hide the delete button on workflow approval details when job is pending

This commit is contained in:
mabashian
2020-11-17 08:41:02 -05:00
parent 8c263f17ab
commit 8cd4d06903
2 changed files with 38 additions and 3 deletions

View File

@@ -204,7 +204,8 @@ function WorkflowApprovalDetail({ i18n, workflowApproval }) {
</Button> </Button>
</> </>
)} )}
{workflowApproval.summary_fields.user_capabilities && {workflowApproval.status !== 'pending' &&
workflowApproval.summary_fields.user_capabilities &&
workflowApproval.summary_fields.user_capabilities.delete && ( workflowApproval.summary_fields.user_capabilities.delete && (
<DeleteButton <DeleteButton
name={workflowApproval.name} name={workflowApproval.name}

View File

@@ -52,7 +52,6 @@ describe('<WorkflowApprovalDetail />', () => {
assertDetail('Elapsed', '00:00:22'); assertDetail('Elapsed', '00:00:22');
expect(wrapper.find('Button[aria-label="Approve"]').length).toBe(1); expect(wrapper.find('Button[aria-label="Approve"]').length).toBe(1);
expect(wrapper.find('Button[aria-label="Deny"]').length).toBe(1); expect(wrapper.find('Button[aria-label="Deny"]').length).toBe(1);
expect(wrapper.find('DeleteButton').length).toBe(1);
}); });
test('should show expiration date/time', () => { test('should show expiration date/time', () => {
@@ -227,12 +226,35 @@ describe('<WorkflowApprovalDetail />', () => {
<WorkflowApprovalDetail <WorkflowApprovalDetail
workflowApproval={{ workflowApproval={{
...workflowApproval, ...workflowApproval,
status: 'successful',
summary_fields: { summary_fields: {
...workflowApproval.summary_fields, ...workflowApproval.summary_fields,
user_capabilities: { user_capabilities: {
delete: false, delete: false,
start: false, start: false,
}, },
approved_or_denied_by: {
id: 1,
username: 'Foobar',
},
},
}}
/>
);
expect(wrapper.find('DeleteButton').length).toBe(0);
});
test('delete button should be hidden when job is pending', () => {
const wrapper = mountWithContexts(
<WorkflowApprovalDetail
workflowApproval={{
...workflowApproval,
summary_fields: {
...workflowApproval.summary_fields,
user_capabilities: {
delete: true,
start: false,
},
}, },
}} }}
/> />
@@ -245,7 +267,19 @@ describe('<WorkflowApprovalDetail />', () => {
Promise.reject(new Error()) Promise.reject(new Error())
); );
const wrapper = mountWithContexts( const wrapper = mountWithContexts(
<WorkflowApprovalDetail workflowApproval={workflowApproval} /> <WorkflowApprovalDetail
workflowApproval={{
...workflowApproval,
status: 'successful',
summary_fields: {
...workflowApproval.summary_fields,
approved_or_denied_by: {
id: 1,
username: 'Foobar',
},
},
}}
/>
); );
await waitForElement( await waitForElement(
wrapper, wrapper,