Begin adding unit tests for split jobs

- Test split job tag method within Jobs List Controller.
This commit is contained in:
kialam 2018-10-08 14:56:30 -04:00 committed by AlanCoding
parent 6dc58af8e1
commit 571e34bf79
No known key found for this signature in database
GPG Key ID: FD2C3C012A72926B
4 changed files with 99 additions and 2 deletions

View File

@ -1,12 +1,14 @@
import JobsStrings from './jobs.strings';
import jobsRoute from './routes/jobs.route';
import { jobsSchedulesRoute, jobsSchedulesEditRoute } from '../../src/scheduler/schedules.route';
import jobsListController from './jobsList.controller';
const MODULE_NAME = 'at.features.jobs';
angular
.module(MODULE_NAME, [])
.service('JobsStrings', JobsStrings)
.controller('jobsListController', jobsListController)
.run(['$stateExtender', ($stateExtender) => {
$stateExtender.addState(jobsRoute);
$stateExtender.addState(jobsSchedulesRoute);

View File

@ -1,5 +1,4 @@
import { N_ } from '../../../src/i18n';
import jobsListController from '../jobsList.controller';
import indexController from '../index.controller';
const indexTemplate = require('~features/jobs/index.view.html');
@ -69,7 +68,7 @@ export default {
},
'jobsList@jobs': {
templateUrl: jobsListTemplate,
controller: jobsListController,
controller: 'jobsListController',
controllerAs: 'vm'
}
}

View File

@ -6,4 +6,5 @@ import './file.unit';
import './layout.unit';
import './side-nav.unit';
import './side-nav-item.unit';
import './split-jobs.unit';

View File

@ -0,0 +1,95 @@
describe('View: Split Jobs List', () => {
let JobList,
scope,
state,
Dataset,
resolvedModels,
JobsStrings,
QuerySet,
Prompt,
filter,
ProcessErrors,
Wait,
Rest,
SearchBasePath;
beforeEach(angular.mock.module('at.features.jobs', ($provide) => {
Dataset = {
data: {
results: {}
}
}
state = {
params: {
job_search: {}
},
go: jasmine.createSpy('go'),
includes: jasmine.createSpy('includes')
}
resolvedModels = [
{
options: () => {
return ["foo", "bar"];
}
}
]
ProcessErrors = jasmine.createSpy('ProcessErrors');
Wait = jasmine.createSpy('Wait');
Prompt = jasmine.createSpy('Prompt');
$provide.value('state', state);
$provide.value('Dataset', Dataset);
$provide.value('resolvedModels', resolvedModels);
$provide.value('ProcessErrors', ProcessErrors);
$provide.value('Wait', Wait);
$provide.value('Prompt', Prompt);
$provide.value('Rest', angular.noop);
$provide.value('SearchBasePath', '');
$provide.value('JobsStrings', angular.noop);
$provide.value('QuerySet', angular.noop);
$provide.provider('$stateProvider', { '$get': function() { return function() {}; } });
$provide.value('$stateExtender', { addState: jasmine.createSpy('addState'), });
}));
beforeEach(angular.mock.inject(function($controller, $rootScope, _state_, _Dataset_, _resolvedModels_, _JobsStrings_, _QuerySet_, _Prompt_, _$filter_, _ProcessErrors_, _Wait_, _Rest_, _SearchBasePath_){
scope = $rootScope.$new();
state = _state_;
Dataset = _Dataset_;
resolvedModels = _resolvedModels_;
JobsStrings = _JobsStrings_;
QuerySet = _QuerySet_;
Prompt = _Prompt_;
filter = _$filter_;
ProcessErrors = _ProcessErrors_;
Wait = _Wait_;
Rest = _Rest_;
SearchBasePath = _SearchBasePath_;
JobList = $controller('jobsListController', {
$scope: scope,
$state: state,
Dataset: Dataset,
resolvedModels: resolvedModels,
JobsStrings: JobsStrings,
ProcessErrors: ProcessErrors,
QuerySet: QuerySet,
Wait: Wait,
Prompt: Prompt,
$filter: filter,
Wait: Wait,
Rest: Rest,
SearchBasePath: SearchBasePath,
});
}));
describe('JobList Controller', () => {
it('is created successfully', () => {
expect(JobList).toBeDefined();
});
it('has method "getSplitJobDetails"', () => {
expect(JobList.getSplitJobDetails).toBeDefined();
});
});
});