From 5ecab7de1228addf58f2dc853e6c80d2777c47f6 Mon Sep 17 00:00:00 2001 From: Marie Verdonck Date: Thu, 11 Mar 2021 16:41:22 +0100 Subject: [PATCH] 77178: Tests for getEmbedSizeParams selector --- src/app/core/index/index.selectors.spec.ts | 37 +++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/app/core/index/index.selectors.spec.ts b/src/app/core/index/index.selectors.spec.ts index 02cce4b7d6..91119a283c 100644 --- a/src/app/core/index/index.selectors.spec.ts +++ b/src/app/core/index/index.selectors.spec.ts @@ -1,4 +1,5 @@ -import { getUrlWithoutEmbedParams } from './index.selectors'; +import { getEmbedSizeParams, getUrlWithoutEmbedParams } from './index.selectors'; + describe(`index selectors`, () => { @@ -29,4 +30,38 @@ describe(`index selectors`, () => { }); + describe(`getEmbedSizeParams`, () => { + + it(`url with single embed size param => should return list with ['subcommunities' - size]`, () => { + const source = 'https://rest.api/core/communities/search/top?page=0&size=50&sort=dc.title,ASC&embed.size=subcommunities=5&embed=subcommunities'; + const result = getEmbedSizeParams(source); + expect(result).toHaveSize(1); + expect(result[0]).toEqual({name: 'subcommunities', size: 5}); + }); + + it(`url with multiple embed size param => should return list with {name, size}`, () => { + const source = 'https://rest.api/core/communities/search/top?page=0&size=50&sort=dc.title,ASC&embed.size=subcommunities=5&embed=subcommunities&embed.size=collections=1&embed=collections'; + const result = getEmbedSizeParams(source); + expect(result).toHaveSize(2); + expect(result[0]).toEqual({name: 'subcommunities', size: 5}); + expect(result[1]).toEqual({name: 'collections', size: 1}); + }); + + it(`url without params => should return empty list`, () => { + const source = 'https://rest.api/core/collections/uuid'; + expect(getEmbedSizeParams(source)).toHaveSize(0); + }); + + it(`url without embed size params => should return empty list`, () => { + const source = 'https://rest.api/core/collections/uuid?page=0&size=50'; + expect(getEmbedSizeParams(source)).toHaveSize(0); + }); + + it(`undefined or null url => should return empty list`, () => { + expect(getEmbedSizeParams(undefined)).toHaveSize(0); + expect(getEmbedSizeParams(null)).toHaveSize(0); + }); + + }); + });