From 6e7c0da68ab79d282f84a6c4b8db81b03002a3d9 Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Thu, 9 Jan 2025 19:09:23 +0100 Subject: [PATCH] [DURACOM-288] Add unit test to test SSR url replace --- .../server-hard-redirect.service.spec.ts | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/app/core/services/server-hard-redirect.service.spec.ts b/src/app/core/services/server-hard-redirect.service.spec.ts index d3247dd0dd..a904a8e66c 100644 --- a/src/app/core/services/server-hard-redirect.service.spec.ts +++ b/src/app/core/services/server-hard-redirect.service.spec.ts @@ -8,7 +8,7 @@ describe('ServerHardRedirectService', () => { const mockRequest = jasmine.createSpyObj(['get']); const mockResponse = jasmine.createSpyObj(['redirect', 'end']); - const service: ServerHardRedirectService = new ServerHardRedirectService(environment, mockRequest, mockResponse); + let service: ServerHardRedirectService = new ServerHardRedirectService(environment, mockRequest, mockResponse); const origin = 'https://test-host.com:4000'; beforeEach(() => { @@ -69,4 +69,23 @@ describe('ServerHardRedirectService', () => { }); }); + describe('when SSR base url is set', () => { + const redirect = 'https://private-url:4000/server/api/bitstreams/uuid'; + const replacedUrl = 'https://public-url/server/api/bitstreams/uuid'; + const environmentWithSSRUrl: any = { ...environment, ...{ ...environment.rest, rest: { + ssrBaseUrl: 'https://private-url:4000/server', + baseUrl: 'https://public-url/server', + } } }; + service = new ServerHardRedirectService(environmentWithSSRUrl, mockRequest, mockResponse); + + beforeEach(() => { + service.redirect(redirect); + }); + + it('should perform a 302 redirect', () => { + expect(mockResponse.redirect).toHaveBeenCalledWith(302, replacedUrl); + expect(mockResponse.end).toHaveBeenCalled(); + }); + }); + });