diff --git a/airflow/www/static/js/dag/InstanceTooltip.test.tsx b/airflow/www/static/js/dag/InstanceTooltip.test.tsx index 8543057e7b2d0..4a8f2b9192ea5 100644 --- a/airflow/www/static/js/dag/InstanceTooltip.test.tsx +++ b/airflow/www/static/js/dag/InstanceTooltip.test.tsx @@ -48,6 +48,7 @@ describe('Test Task InstanceTooltip', () => { expect(getByText('Status: success')).toBeDefined(); expect(queryByText('Contains a note')).toBeNull(); + expect(getByText('Duration: 00:00:00')).toBeDefined(); }); test('Displays a mapped task with overall status', () => { @@ -111,4 +112,17 @@ describe('Test Task InstanceTooltip', () => { expect(getByText('Contains a note')).toBeInTheDocument(); }); + + test('Hides duration if there is no start date', () => { + const { queryByText, getByText } = render( + , + { wrapper: Wrapper }, + ); + + expect(getByText('Status: success')).toBeDefined(); + expect(queryByText('Duration: 00:00:00')).toBeNull(); + }); }); diff --git a/airflow/www/static/js/dag/InstanceTooltip.tsx b/airflow/www/static/js/dag/InstanceTooltip.tsx index a31b712b194b0..a4a2550973e55 100644 --- a/airflow/www/static/js/dag/InstanceTooltip.tsx +++ b/airflow/www/static/js/dag/InstanceTooltip.tsx @@ -96,16 +96,20 @@ const InstanceTooltip = ({ {state || 'no status'} {(isGroup || isMapped) && summary} - - Started: - {' '} - - - Duration: - {' '} - {formatDuration(getDuration(startDate, endDate))} - + {startDate && ( + <> + + Started: + {' '} + + + Duration: + {' '} + {formatDuration(getDuration(startDate, endDate))} + + + )} {note && ( Contains a note )} diff --git a/airflow/www/static/js/dag/details/dagRun/index.tsx b/airflow/www/static/js/dag/details/dagRun/index.tsx index ffbf613da50ae..3f69e693d5bb6 100644 --- a/airflow/www/static/js/dag/details/dagRun/index.tsx +++ b/airflow/www/static/js/dag/details/dagRun/index.tsx @@ -144,12 +144,14 @@ const DagRun = ({ runId }: Props) => { {runType} - - Run duration - - {formatDuration(getDuration(startDate, endDate))} - - + {startDate && ( + + Run duration + + {formatDuration(getDuration(startDate, endDate))} + + + )} {lastSchedulingDecision && ( Last scheduling decision diff --git a/airflow/www/static/js/dag/details/taskInstance/Details.tsx b/airflow/www/static/js/dag/details/taskInstance/Details.tsx index 6deb24617feaa..2baefa5d69f65 100644 --- a/airflow/www/static/js/dag/details/taskInstance/Details.tsx +++ b/airflow/www/static/js/dag/details/taskInstance/Details.tsx @@ -200,13 +200,15 @@ const Details = ({ instance, group, dagId }: Props) => { {operator} )} - - - {isOverall} - Duration - - {formatDuration(getDuration(startDate, endDate))} - + {startDate && ( + + + {isOverall} + Duration + + {formatDuration(getDuration(startDate, endDate))} + + )} {startDate && ( Started diff --git a/airflow/www/yarn.lock b/airflow/www/yarn.lock index a30b381fe4945..5431b00d520d5 100644 --- a/airflow/www/yarn.lock +++ b/airflow/www/yarn.lock @@ -3947,20 +3947,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109: - version "1.0.30001355" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001355.tgz#e240b7177443ed0198c737a7f609536976701c77" - integrity sha512-Sd6pjJHF27LzCB7pT7qs+kuX2ndurzCzkpJl6Qct7LPSZ9jn0bkOA8mdgMgmqnQAWLVOOGjLpc+66V57eLtb1g== - -caniuse-lite@^1.0.30001219: - version "1.0.30001312" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz" - integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== - -caniuse-lite@^1.0.30001349: - version "1.0.30001354" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001354.tgz#95c5efdb64148bb4870771749b9a619304755ce5" - integrity sha512-mImKeCkyGDAHNywYFA4bqnLAzTUvVkqPvhY4DV47X+Gl2c5Z8c3KNETnXp14GQt11LvxE8AwjzGxJ+rsikiOzg== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001349: + version "1.0.30001439" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz" + integrity sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A== chakra-react-select@^4.0.0: version "4.0.3"