diff --git a/src/app/bitstream-page/bitstream-page-routes.spec.ts b/src/app/bitstream-page/bitstream-page-routes.spec.ts new file mode 100644 index 00000000000..7e60ed785b5 --- /dev/null +++ b/src/app/bitstream-page/bitstream-page-routes.spec.ts @@ -0,0 +1,24 @@ +import { BitstreamDownloadPageComponent } from './bitstream-download-page/bitstream-download-page.component'; +import { bitstreamPageResolver } from './bitstream-page.resolver'; +import { ROUTES } from './bitstream-page-routes'; +import { legacyBitstreamURLRedirectGuard } from './legacy-bitstream-url-redirect.guard'; + +describe('bitstream page routes', () => { + it('should activate the Angular bitstream download page before redirecting to content', () => { + const downloadRoute = ROUTES.find((route) => route.path === ':id/download')!; + + expect(downloadRoute).toBeDefined(); + expect(downloadRoute.component).toBe(BitstreamDownloadPageComponent); + expect(downloadRoute.resolve?.bitstream).toBe(bitstreamPageResolver); + expect(downloadRoute.canActivate).toBeUndefined(); + }); + + it('should keep redirect guards on legacy bitstream URL routes', () => { + const legacyRoutes = ROUTES.filter((route) => route.path !== ':id/download' && route.component === BitstreamDownloadPageComponent); + + expect(legacyRoutes.length).toBe(2); + legacyRoutes.forEach((route) => { + expect(route.canActivate).toContain(legacyBitstreamURLRedirectGuard); + }); + }); +}); diff --git a/src/app/bitstream-page/bitstream-page-routes.ts b/src/app/bitstream-page/bitstream-page-routes.ts index da9d2f7c60c..21e770c508d 100644 --- a/src/app/bitstream-page/bitstream-page-routes.ts +++ b/src/app/bitstream-page/bitstream-page-routes.ts @@ -9,7 +9,6 @@ import { resourcePolicyResolver } from '../shared/resource-policies/resolvers/re import { resourcePolicyTargetResolver } from '../shared/resource-policies/resolvers/resource-policy-target.resolver'; import { BitstreamAuthorizationsComponent } from './bitstream-authorizations/bitstream-authorizations.component'; import { BitstreamDownloadPageComponent } from './bitstream-download-page/bitstream-download-page.component'; -import { bitstreamDownloadRedirectGuard } from './bitstream-download-redirect.guard'; import { bitstreamPageResolver } from './bitstream-page.resolver'; import { bitstreamPageAuthorizationsGuard } from './bitstream-page-authorizations.guard'; import { ThemedEditBitstreamPageComponent } from './edit-bitstream-page/themed-edit-bitstream-page.component'; @@ -44,7 +43,6 @@ export const ROUTES: Route[] = [ resolve: { bitstream: bitstreamPageResolver, }, - canActivate: [bitstreamDownloadRedirectGuard], }, { path: EDIT_BITSTREAM_PATH,