From c11dcb14d159dd24ad836dd9345f14d83046b828 Mon Sep 17 00:00:00 2001 From: Mohamed Abdul Rasheed Date: Wed, 8 Aug 2018 10:12:11 -0400 Subject: [PATCH] Added startsWith param to getFindAllHref --- src/app/core/data/data.service.spec.ts | 14 ++++++++++++-- src/app/core/data/data.service.ts | 4 ++++ src/app/core/data/request.models.ts | 1 + 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/app/core/data/data.service.spec.ts b/src/app/core/data/data.service.spec.ts index 72c79c23bd..8377afe92e 100644 --- a/src/app/core/data/data.service.spec.ts +++ b/src/app/core/data/data.service.spec.ts @@ -104,15 +104,25 @@ describe('DataService', () => { }); }); + it('should include startsWith in href if startsWith provided in options', () => { + options = { startsWith: 'ab' }; + const expected = `${endpoint}?startsWith=${options.startsWith}`; + + (service as any).getFindAllHref(endpoint, options).subscribe((value) => { + expect(value).toBe(expected); + }); + }); + it('should include all provided options in href', () => { const sortOptions = new SortOptions('field1', SortDirection.DESC) options = { currentPage: 6, elementsPerPage: 10, - sort: sortOptions + sort: sortOptions, + startsWith: 'ab' } const expected = `${endpoint}?page=${options.currentPage - 1}&size=${options.elementsPerPage}` + - `&sort=${sortOptions.field},${sortOptions.direction}`; + `&sort=${sortOptions.field},${sortOptions.direction}&startsWith=${options.startsWith}`; (service as any).getFindAllHref(endpoint, options).subscribe((value) => { expect(value).toBe(expected); diff --git a/src/app/core/data/data.service.ts b/src/app/core/data/data.service.ts index f532ff05ba..06e7f25926 100644 --- a/src/app/core/data/data.service.ts +++ b/src/app/core/data/data.service.ts @@ -45,6 +45,10 @@ export abstract class DataService args.push(`sort=${options.sort.field},${options.sort.direction}`); } + if (hasValue(options.startsWith)) { + args.push(`startsWith=${options.startsWith}`); + } + if (isNotEmpty(args)) { return result.map((href: string) => new URLCombiner(href, `?${args.join('&')}`).toString()); } else { diff --git a/src/app/core/data/request.models.ts b/src/app/core/data/request.models.ts index 7015b0b0f1..ce45d5b41c 100644 --- a/src/app/core/data/request.models.ts +++ b/src/app/core/data/request.models.ts @@ -141,6 +141,7 @@ export class FindAllOptions { elementsPerPage?: number; currentPage?: number; sort?: SortOptions; + startsWith?: string; } export class FindAllRequest extends GetRequest {