mirror of
https://github.com/ansible/awx.git
synced 2026-05-24 00:57:48 -02:30
Convert elapsed days into hours and add unit test
This commit is contained in:
@@ -41,17 +41,16 @@ const Wrapper = styled.div`
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
const toHHMMSS = elapsed => {
|
const toHHMMSS = elapsed => {
|
||||||
const pad = n => {
|
const sec_num = parseInt(elapsed, 10);
|
||||||
return `00${n}`.slice(-2);
|
const hours = Math.floor(sec_num / 3600);
|
||||||
};
|
const minutes = Math.floor(sec_num / 60) % 60;
|
||||||
|
const seconds = sec_num % 60;
|
||||||
|
|
||||||
const date = new Date();
|
const stampHours = hours < 10 ? `0${hours}` : hours;
|
||||||
date.setTime(elapsed * 1000);
|
const stampMinutes = minutes < 10 ? `0${minutes}` : minutes;
|
||||||
const hrs = date.getUTCHours();
|
const stampSeconds = seconds < 10 ? `0${seconds}` : seconds;
|
||||||
const mins = date.getUTCMinutes();
|
|
||||||
const secs = date.getUTCSeconds();
|
|
||||||
|
|
||||||
return `${pad(hrs)}:${pad(mins)}:${pad(secs)}`;
|
return `${stampHours}:${stampMinutes}:${stampSeconds}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
const OUTPUT_NO_COUNT_JOB_TYPES = [
|
const OUTPUT_NO_COUNT_JOB_TYPES = [
|
||||||
@@ -67,7 +66,7 @@ const OutputToolbar = ({ i18n, job, onDelete }) => {
|
|||||||
const taskCount = job?.playbook_counts?.task_count;
|
const taskCount = job?.playbook_counts?.task_count;
|
||||||
const darkCount = job?.host_status_counts?.dark;
|
const darkCount = job?.host_status_counts?.dark;
|
||||||
const failureCount = job?.host_status_counts?.failures;
|
const failureCount = job?.host_status_counts?.failures;
|
||||||
const totalHostCount = Object.keys(job?.host_status_counts).reduce(
|
const totalHostCount = Object.keys(job?.host_status_counts || {}).reduce(
|
||||||
(sum, key) => sum + job?.host_status_counts[key],
|
(sum, key) => sum + job?.host_status_counts[key],
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -67,6 +67,22 @@ describe('<OutputToolbar />', () => {
|
|||||||
expect(wrapper.find('div[aria-label="Failed Host Count"]').length).toBe(0);
|
expect(wrapper.find('div[aria-label="Failed Host Count"]').length).toBe(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('should display elapsed time as HH:MM:SS', () => {
|
||||||
|
wrapper = mountWithContexts(
|
||||||
|
<OutputToolbar
|
||||||
|
job={{
|
||||||
|
...mockJobData,
|
||||||
|
elapsed: 274265,
|
||||||
|
}}
|
||||||
|
onDelete={() => {}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(wrapper.find('div[aria-label="Elapsed Time"] Badge').text()).toBe(
|
||||||
|
'76:11:05'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
test('should hide relaunch button based on user capabilities', () => {
|
test('should hide relaunch button based on user capabilities', () => {
|
||||||
expect(wrapper.find('LaunchButton').length).toBe(1);
|
expect(wrapper.find('LaunchButton').length).toBe(1);
|
||||||
wrapper = mountWithContexts(
|
wrapper = mountWithContexts(
|
||||||
|
|||||||
Reference in New Issue
Block a user