Update tests to reflect expected external behaviour of the service

Refs #850
This commit is contained in:
Will Abson
2016-10-10 16:20:55 +01:00
parent a1407d8159
commit 7bb1bfe220
2 changed files with 34 additions and 13 deletions

View File

@@ -21,11 +21,13 @@ import {
AlfrescoSettingsService,
AlfrescoApiService
} from 'ng2-alfresco-core';
import { UserProcessInstanceFilterRepresentationModel } from '../models/filter.model';
import { ActivitiProcessService } from './activiti-process.service';
describe('ActivitiProcessService', () => {
let service: ActivitiProcessService;
let authenticationService: AlfrescoAuthenticationService;
let injector: ReflectiveInjector;
let fakeEmptyFilters = {
@@ -33,6 +35,15 @@ describe('ActivitiProcessService', () => {
data: [ ]
};
let fakeApi = {
activiti: {
userFiltersApi: {
getUserProcessInstanceFilters: (filterOpts) => Promise.resolve({}),
createUserProcessInstanceFilter: (filter: UserProcessInstanceFilterRepresentationModel) => Promise.resolve(filter)
}
}
};
beforeEach(() => {
injector = ReflectiveInjector.resolveAndCreate([
ActivitiProcessService,
@@ -41,32 +52,42 @@ describe('ActivitiProcessService', () => {
AlfrescoSettingsService
]);
service = injector.get(ActivitiProcessService);
authenticationService = injector.get(AlfrescoAuthenticationService);
});
it('should get process instances', (done) => {
xit('should get process instances', (done) => {
expect(true).toBe(true);
done();
});
it('should call createDefaultFilters() when the returned filter list is empty', (done) => {
spyOn(service, 'createDefaultFilters');
spyOn(service, 'callApiGetUserProcessInstanceFilters').and.returnValue(Promise.resolve(fakeEmptyFilters));
spyOn(service, 'callApiAddFilter').and.returnValue(Promise.resolve({}));
it('should return the default filters when none are returned by the API', (done) => {
spyOn(fakeApi.activiti.userFiltersApi, 'getUserProcessInstanceFilters').
and.returnValue(Promise.resolve(fakeEmptyFilters));
spyOn(fakeApi.activiti.userFiltersApi, 'createUserProcessInstanceFilter').
and.returnValue(Promise.resolve({}));
spyOn(authenticationService, 'getAlfrescoApi').and.returnValue(fakeApi);
service.getProcessFilters(null).subscribe(
(res) => {
expect(service.createDefaultFilters).toHaveBeenCalled();
expect(fakeApi.activiti.userFiltersApi.createUserProcessInstanceFilter).toHaveBeenCalledTimes(3);
done();
}
);
});
it('should return the default filters', () => {
spyOn(service, 'addFilter').and.returnValue(Promise.resolve({}));
let filters = service.createDefaultFilters(null);
expect(service.addFilter).toHaveBeenCalledTimes(3);
expect(filters).toBeDefined();
expect(filters.length).toEqual(3);
it('should create the default filters when none are returned by the API', (done) => {
spyOn(fakeApi.activiti.userFiltersApi, 'getUserProcessInstanceFilters').
and.returnValue(Promise.resolve(fakeEmptyFilters));
spyOn(fakeApi.activiti.userFiltersApi, 'createUserProcessInstanceFilter').
and.returnValue(Promise.resolve({}));
spyOn(authenticationService, 'getAlfrescoApi').and.returnValue(fakeApi);
service.getProcessFilters(null).subscribe(
(res) => {
expect(res.length).toBe(3);
done();
}
);
});
});

View File

@@ -79,7 +79,7 @@ export class ActivitiProcessService {
* @param appId
* @returns {UserProcessInstanceFilterRepresentationModel[]}
*/
createDefaultFilters(appId: string): UserProcessInstanceFilterRepresentationModel[] {
private createDefaultFilters(appId: string): UserProcessInstanceFilterRepresentationModel[] {
let filters: UserProcessInstanceFilterRepresentationModel[] = [];
let involvedTasksFilter = this.getRunningFilterInstance(appId);