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:
kialam
2018-10-17 09:31:34 -04:00
committed by AlanCoding
parent 21aeda0f45
commit f72fca5fcf
3 changed files with 48 additions and 60 deletions

View File

@@ -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 }) => {

View File

@@ -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();
}); });
}); });

View File

@@ -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();
}); });
}); });