mirror of
https://github.com/ansible/awx.git
synced 2026-03-01 08:48:46 -03:30
Fix unit tests after "slice" rename.
- Update Jobs List unit tests with new schema and test cases. - Update Job Details unit tests with new schema and test cases. - Test both for expected behavior when handling a regular non-sliced job.
This commit is contained in:
@@ -85,7 +85,11 @@ function ListJobsController (
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return `Slice Job ${job.job_slice_number}/${job.job_slice_count}`;
|
if (job.job_slice_number && job.job_slice_count) {
|
||||||
|
return `Slice Job ${job.job_slice_number}/${job.job_slice_count}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
vm.getSref = ({ type, id }) => {
|
vm.getSref = ({ type, id }) => {
|
||||||
|
|||||||
@@ -16,19 +16,13 @@ describe('View: Job Details', () => {
|
|||||||
OutputStatusService;
|
OutputStatusService;
|
||||||
|
|
||||||
var mockData = {
|
var mockData = {
|
||||||
summary_fields: {
|
job_slice_count: 2,
|
||||||
internal_limit: {
|
job_slice_number: 2,
|
||||||
shard: {
|
|
||||||
offset: 1,
|
|
||||||
step: 2,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
labels: {
|
labels: {
|
||||||
SPLIT_JOB: 'foo'
|
SLICE_JOB: 'foo'
|
||||||
},
|
},
|
||||||
tooltips: {
|
tooltips: {
|
||||||
SPLIT_JOB_DETAILS: 'bar'
|
SLICE_JOB_DETAILS: 'bar'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
let resource = {
|
let resource = {
|
||||||
@@ -117,12 +111,12 @@ describe('View: Job Details', () => {
|
|||||||
it('is created successfully', () => {
|
it('is created successfully', () => {
|
||||||
expect(JobDetails).toBeDefined();
|
expect(JobDetails).toBeDefined();
|
||||||
});
|
});
|
||||||
it('has method "getSplitJobDetails"', () => {
|
it('has method "sliceJobDetails"', () => {
|
||||||
expect(JobDetails.splitJobDetails).toBeDefined();
|
expect(JobDetails.sliceJobDetails).toBeDefined();
|
||||||
});
|
});
|
||||||
describe('splitJobDetails method', () => {
|
describe('splitJobDetails method', () => {
|
||||||
it('returned values are strings', () => {
|
it('returned values are strings', () => {
|
||||||
const result = JobDetails.splitJobDetails;
|
const result = JobDetails.sliceJobDetails;
|
||||||
const { label, offset, tooltip } = result;
|
const { label, offset, tooltip } = result;
|
||||||
expect(offset).toEqual('2/2');
|
expect(offset).toEqual('2/2');
|
||||||
expect(label).toEqual('foo');
|
expect(label).toEqual('foo');
|
||||||
@@ -130,14 +124,8 @@ describe('View: Job Details', () => {
|
|||||||
});
|
});
|
||||||
it('returns null if label, offset, or tooltip is undefined', () => {
|
it('returns null if label, offset, or tooltip is undefined', () => {
|
||||||
mockData = {
|
mockData = {
|
||||||
summary_fields: {
|
job_slice_count: 2,
|
||||||
internal_limit: {
|
job_slice_number: 2,
|
||||||
shard: {
|
|
||||||
offset: 1,
|
|
||||||
step: 2,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
labels: {
|
labels: {
|
||||||
SPLIT_JOB: null
|
SPLIT_JOB: null
|
||||||
},
|
},
|
||||||
@@ -146,14 +134,13 @@ describe('View: Job Details', () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
JobDetails.$onInit();
|
JobDetails.$onInit();
|
||||||
const result = JobDetails.splitJobDetails;
|
const result = JobDetails.sliceJobDetails;
|
||||||
expect(result).toBeNull();
|
expect(result).toBeNull();
|
||||||
});
|
});
|
||||||
it('returns null if summary_fields.internal_limit is undefined or null', () => {
|
it('returns null if job_slice_count is undefined or null', () => {
|
||||||
mockData = {
|
mockData = {
|
||||||
summary_fields: {
|
job_slice_count: null,
|
||||||
internal_limit: undefined
|
job_slice_number: 2,
|
||||||
},
|
|
||||||
labels: {
|
labels: {
|
||||||
SPLIT_JOB: 'foo'
|
SPLIT_JOB: 'foo'
|
||||||
},
|
},
|
||||||
@@ -162,16 +149,13 @@ describe('View: Job Details', () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
JobDetails.$onInit();
|
JobDetails.$onInit();
|
||||||
const result = JobDetails.splitJobDetails;
|
const result = JobDetails.sliceJobDetails;
|
||||||
expect(result).toBeNull();
|
expect(result).toBeNull();
|
||||||
});
|
});
|
||||||
it('returns null if summary_fields.internal_limit.shard is undefined or null', () => {
|
it('returns null if job_slice_number is undefined or null', () => {
|
||||||
mockData = {
|
mockData = {
|
||||||
summary_fields: {
|
job_slice_count: 2,
|
||||||
internal_limit: {
|
job_slice_number: null,
|
||||||
shard: undefined
|
|
||||||
}
|
|
||||||
},
|
|
||||||
labels: {
|
labels: {
|
||||||
SPLIT_JOB: 'foo'
|
SPLIT_JOB: 'foo'
|
||||||
},
|
},
|
||||||
@@ -180,16 +164,13 @@ describe('View: Job Details', () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
JobDetails.$onInit();
|
JobDetails.$onInit();
|
||||||
const result = JobDetails.splitJobDetails;
|
const result = JobDetails.sliceJobDetails;
|
||||||
expect(result).toBeNull();
|
expect(result).toBeNull();
|
||||||
});
|
});
|
||||||
it('returns null if summary_fields.internal_limit.shard is an empty object', () => {
|
it('returns null if job is a non-sliced job', () => {
|
||||||
mockData = {
|
mockData = {
|
||||||
summary_fields: {
|
job_slice_count: 1,
|
||||||
internal_limit: {
|
job_slice_number: null,
|
||||||
shard: {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
labels: {
|
labels: {
|
||||||
SPLIT_JOB: 'foo'
|
SPLIT_JOB: 'foo'
|
||||||
},
|
},
|
||||||
@@ -198,7 +179,7 @@ describe('View: Job Details', () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
JobDetails.$onInit();
|
JobDetails.$onInit();
|
||||||
const result = JobDetails.splitJobDetails;
|
const result = JobDetails.sliceJobDetails;
|
||||||
expect(result).toBeNull();
|
expect(result).toBeNull();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -89,35 +89,38 @@ describe('View: Split Jobs List', () => {
|
|||||||
expect(JobList).toBeDefined();
|
expect(JobList).toBeDefined();
|
||||||
});
|
});
|
||||||
it('has method "getSplitJobDetails"', () => {
|
it('has method "getSplitJobDetails"', () => {
|
||||||
expect(JobList.getSplitJobDetails).toBeDefined();
|
expect(JobList.getSliceJobDetails).toBeDefined();
|
||||||
});
|
});
|
||||||
it('returns a string', () => {
|
it('returns a string', () => {
|
||||||
let data = {
|
let data = {
|
||||||
shard: {
|
job_slice_number: 1,
|
||||||
offset: 1,
|
job_slice_count: 2
|
||||||
step: 2
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
const result = JobList.getSplitJobDetails(data);
|
const result = JobList.getSliceJobDetails(data);
|
||||||
expect(result).toEqual('Split Job 2/2');
|
expect(result).toEqual('Slice Job 1/2');
|
||||||
});
|
});
|
||||||
it('returns null when there is no data', () => {
|
it('returns null when data is null', () => {
|
||||||
let data = undefined;
|
let data = {
|
||||||
const result = JobList.getSplitJobDetails(data);
|
job_slice_number: null,
|
||||||
|
job_slice_count: null
|
||||||
|
}
|
||||||
|
const result = JobList.getSliceJobDetails(data);
|
||||||
expect(result).toBeNull();
|
expect(result).toBeNull();
|
||||||
});
|
});
|
||||||
it('returns null when there is no "shard" attribute', () => {
|
it('returns null when data is undefined', () => {
|
||||||
let data = {
|
let data = {
|
||||||
foo: {}
|
job_slice_number: undefined,
|
||||||
};
|
job_slice_count: undefined
|
||||||
const result = JobList.getSplitJobDetails(data);
|
}
|
||||||
|
const result = JobList.getSliceJobDetails(data);
|
||||||
expect(result).toBeNull();
|
expect(result).toBeNull();
|
||||||
});
|
});
|
||||||
it('returns null when "shard" is an empty object', () => {
|
it('returns null when job is not a sliced job', () => {
|
||||||
let data = {
|
let data = {
|
||||||
shard: {}
|
job_slice_number: null,
|
||||||
};
|
job_slice_count: 1
|
||||||
const result = JobList.getSplitJobDetails(data);
|
}
|
||||||
|
const result = JobList.getSliceJobDetails(data);
|
||||||
expect(result).toBeNull();
|
expect(result).toBeNull();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user