Skip to content

Commit

Permalink
moved the check inside a method and added unit tests for method
Browse files Browse the repository at this point in the history
  • Loading branch information
SheenaMalhotra182 committed Jul 15, 2023
1 parent 4900879 commit 96b9553
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -234,5 +234,36 @@ describe('Process filter', () => {
});

});

describe('isFilterAlreadyExisting', () => {
let dummyFilter;

beforeEach(() => {
dummyFilter = [
{ name: 'filter1' },
{ name: 'filter2' }
];
});

it('should return true if the filter already exists', () => {
const filterName = 'filter2';
const isFilterAlreadyExistingSpy = spyOn<any>(service, 'isFilterAlreadyExisting').and.callThrough();

const result = service.isFilterAlreadyExisting(dummyFilter, filterName);

expect(isFilterAlreadyExistingSpy).toHaveBeenCalled();
expect(result).toBe(true);
});

it('should return false if the filter does not exist', () => {
const filterName = 'filter3';
const isFilterAlreadyExistingSpy = spyOn<any>(service, 'isFilterAlreadyExisting').and.callThrough();

const result = service.isFilterAlreadyExisting(dummyFilter, filterName);

expect(isFilterAlreadyExistingSpy).toHaveBeenCalled();
expect(result).toBe(false);
});
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,7 @@ export class ProcessFilterService {
map((response) => {
const filters: FilterProcessRepresentationModel[] = [];
response.data.forEach((filter) => {
const isFilterAlreadyExisting = filters.some((existingFilter) => existingFilter.name === filter.name);
if (!isFilterAlreadyExisting) {
if (!this.isFilterAlreadyExisting(filters, filter.name)) {
const filterModel = new FilterProcessRepresentationModel(filter);
filters.push(filterModel);
}
Expand Down Expand Up @@ -119,8 +118,7 @@ export class ProcessFilterService {
(res) => {
const filters: FilterProcessRepresentationModel[] = [];
res.forEach((filter) => {
const isFilterAlreadyExisting = filters.some((existingFilter) => existingFilter.name === filter.name);
if (!isFilterAlreadyExisting) {
if (!this.isFilterAlreadyExisting(filters, filter.name)) {
if (filter.name === runningFilter.name) {
filters.push(new FilterProcessRepresentationModel({ ...filter, filter: runningFilter.filter, appId }));
} else if (filter.name === completedFilter.name) {
Expand All @@ -139,6 +137,10 @@ export class ProcessFilterService {
});
}

isFilterAlreadyExisting(filters: any, filterName: string): boolean {
return filters.some((existingFilter) => existingFilter.name === filterName);
}

/**
* Creates and returns a filter that matches "running" process instances.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,4 +251,35 @@ describe('Activiti Task filter Service', () => {
});
});
});

describe('isFilterAlreadyExisting', () => {
let dummyFilter;

beforeEach(() => {
dummyFilter = [
{ name: 'filter1' },
{ name: 'filter2' }
];
});

it('should return true if the filter already exists', () => {
const filterName = 'filter2';
const isFilterAlreadyExistingSpy = spyOn<any>(service, 'isFilterAlreadyExisting').and.callThrough();

const result = service.isFilterAlreadyExisting(dummyFilter, filterName);

expect(isFilterAlreadyExistingSpy).toHaveBeenCalled();
expect(result).toBe(true);
});

it('should return false if the filter does not exist', () => {
const filterName = 'filter3';
const isFilterAlreadyExistingSpy = spyOn<any>(service, 'isFilterAlreadyExisting').and.callThrough();

const result = service.isFilterAlreadyExisting(dummyFilter, filterName);

expect(isFilterAlreadyExistingSpy).toHaveBeenCalled();
expect(result).toBe(false);
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,7 @@ export class TaskFilterService {
(res) => {
const filters: FilterRepresentationModel[] = [];
res.forEach((filter) => {
const isFilterAlreadyExisting = filters.some((existingFilter) => existingFilter.name === filter.name);
if (!isFilterAlreadyExisting) {
if (!this.isFilterAlreadyExisting(filters, filter.name)) {
if (filter.name === involvedTasksFilter.name) {
filters.push(new FilterRepresentationModel({
...filter,
Expand Down Expand Up @@ -117,8 +116,7 @@ export class TaskFilterService {
map((response: any) => {
const filters: FilterRepresentationModel[] = [];
response.data.forEach((filter: FilterRepresentationModel) => {
const isFilterAlreadyExisting = filters.some((existingFilter) => existingFilter.name === filter.name);
if (!isFilterAlreadyExisting) {
if (!this.isFilterAlreadyExisting(filters, filter.name)) {
const filterModel = new FilterRepresentationModel(filter);
filters.push(filterModel);
}
Expand All @@ -129,6 +127,10 @@ export class TaskFilterService {
);
}

isFilterAlreadyExisting(filters: FilterRepresentationModel[], filterName: string): boolean {
return filters.some((existingFilter) => existingFilter.name === filterName);
}

/**
* Gets a task filter by ID.
*
Expand Down

0 comments on commit 96b9553

Please sign in to comment.