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
No known key found for this signature in database
GPG Key ID: FD2C3C012A72926B
3 changed files with 48 additions and 60 deletions

View File

@ -85,7 +85,11 @@ function ListJobsController (
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 }) => {

View File

@ -16,19 +16,13 @@ describe('View: Job Details', () => {
OutputStatusService;
var mockData = {
summary_fields: {
internal_limit: {
shard: {
offset: 1,
step: 2,
}
}
},
job_slice_count: 2,
job_slice_number: 2,
labels: {
SPLIT_JOB: 'foo'
SLICE_JOB: 'foo'
},
tooltips: {
SPLIT_JOB_DETAILS: 'bar'
SLICE_JOB_DETAILS: 'bar'
}
};
let resource = {
@ -117,12 +111,12 @@ describe('View: Job Details', () => {
it('is created successfully', () => {
expect(JobDetails).toBeDefined();
});
it('has method "getSplitJobDetails"', () => {
expect(JobDetails.splitJobDetails).toBeDefined();
it('has method "sliceJobDetails"', () => {
expect(JobDetails.sliceJobDetails).toBeDefined();
});
describe('splitJobDetails method', () => {
it('returned values are strings', () => {
const result = JobDetails.splitJobDetails;
const result = JobDetails.sliceJobDetails;
const { label, offset, tooltip } = result;
expect(offset).toEqual('2/2');
expect(label).toEqual('foo');
@ -130,14 +124,8 @@ describe('View: Job Details', () => {
});
it('returns null if label, offset, or tooltip is undefined', () => {
mockData = {
summary_fields: {
internal_limit: {
shard: {
offset: 1,
step: 2,
}
}
},
job_slice_count: 2,
job_slice_number: 2,
labels: {
SPLIT_JOB: null
},
@ -146,14 +134,13 @@ describe('View: Job Details', () => {
}
};
JobDetails.$onInit();
const result = JobDetails.splitJobDetails;
const result = JobDetails.sliceJobDetails;
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 = {
summary_fields: {
internal_limit: undefined
},
job_slice_count: null,
job_slice_number: 2,
labels: {
SPLIT_JOB: 'foo'
},
@ -162,16 +149,13 @@ describe('View: Job Details', () => {
}
};
JobDetails.$onInit();
const result = JobDetails.splitJobDetails;
const result = JobDetails.sliceJobDetails;
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 = {
summary_fields: {
internal_limit: {
shard: undefined
}
},
job_slice_count: 2,
job_slice_number: null,
labels: {
SPLIT_JOB: 'foo'
},
@ -180,16 +164,13 @@ describe('View: Job Details', () => {
}
};
JobDetails.$onInit();
const result = JobDetails.splitJobDetails;
const result = JobDetails.sliceJobDetails;
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 = {
summary_fields: {
internal_limit: {
shard: {}
}
},
job_slice_count: 1,
job_slice_number: null,
labels: {
SPLIT_JOB: 'foo'
},
@ -198,7 +179,7 @@ describe('View: Job Details', () => {
}
};
JobDetails.$onInit();
const result = JobDetails.splitJobDetails;
const result = JobDetails.sliceJobDetails;
expect(result).toBeNull();
});
});

View File

@ -89,35 +89,38 @@ describe('View: Split Jobs List', () => {
expect(JobList).toBeDefined();
});
it('has method "getSplitJobDetails"', () => {
expect(JobList.getSplitJobDetails).toBeDefined();
expect(JobList.getSliceJobDetails).toBeDefined();
});
it('returns a string', () => {
let data = {
shard: {
offset: 1,
step: 2
}
job_slice_number: 1,
job_slice_count: 2
}
const result = JobList.getSplitJobDetails(data);
expect(result).toEqual('Split Job 2/2');
const result = JobList.getSliceJobDetails(data);
expect(result).toEqual('Slice Job 1/2');
});
it('returns null when there is no data', () => {
let data = undefined;
const result = JobList.getSplitJobDetails(data);
it('returns null when data is null', () => {
let data = {
job_slice_number: null,
job_slice_count: null
}
const result = JobList.getSliceJobDetails(data);
expect(result).toBeNull();
});
it('returns null when there is no "shard" attribute', () => {
it('returns null when data is undefined', () => {
let data = {
foo: {}
};
const result = JobList.getSplitJobDetails(data);
job_slice_number: undefined,
job_slice_count: undefined
}
const result = JobList.getSliceJobDetails(data);
expect(result).toBeNull();
});
it('returns null when "shard" is an empty object', () => {
it('returns null when job is not a sliced job', () => {
let data = {
shard: {}
};
const result = JobList.getSplitJobDetails(data);
job_slice_number: null,
job_slice_count: 1
}
const result = JobList.getSliceJobDetails(data);
expect(result).toBeNull();
});
});