diff --git a/src/app/shared/menu/menu-item/link-menu-item.component.html b/src/app/shared/menu/menu-item/link-menu-item.component.html
index e4b92284d2..f1ac32387c 100644
--- a/src/app/shared/menu/menu-item/link-menu-item.component.html
+++ b/src/app/shared/menu/menu-item/link-menu-item.component.html
@@ -1 +1,3 @@
-{{item.text | translate}}
\ No newline at end of file
+{{item.text | translate}}
diff --git a/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts b/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts
index 43e17b8f03..41bc9feaeb 100644
--- a/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts
+++ b/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts
@@ -5,6 +5,7 @@ import { By } from '@angular/platform-browser';
import { LinkMenuItemComponent } from './link-menu-item.component';
import { RouterLinkDirectiveStub } from '../../testing/router-link-directive.stub';
import { environment } from '../../../../environments/environment';
+import { QueryParamsDirectiveStub } from '../../testing/query-params-directive.stub';
describe('LinkMenuItemComponent', () => {
let component: LinkMenuItemComponent;
@@ -12,19 +13,21 @@ describe('LinkMenuItemComponent', () => {
let debugElement: DebugElement;
let text;
let link;
+ let queryParams;
function init() {
text = 'HELLO';
link = 'http://google.com';
+ queryParams = {params: true};
}
beforeEach(waitForAsync(() => {
init();
TestBed.configureTestingModule({
imports: [TranslateModule.forRoot()],
- declarations: [LinkMenuItemComponent, RouterLinkDirectiveStub],
+ declarations: [LinkMenuItemComponent, RouterLinkDirectiveStub, QueryParamsDirectiveStub],
providers: [
- { provide: 'itemModelProvider', useValue: { text: text, link: link } },
+ { provide: 'itemModelProvider', useValue: { text: text, link: link, queryParams: queryParams } },
],
schemas: [NO_ERRORS_SCHEMA]
})
@@ -54,4 +57,12 @@ describe('LinkMenuItemComponent', () => {
expect(routerLinkQuery.length).toBe(1);
expect(routerLinkQuery[0].routerLink).toBe(environment.ui.nameSpace + link);
});
+
+ it('should have the right queryParams attribute', () => {
+ const queryDes = fixture.debugElement.queryAll(By.directive(QueryParamsDirectiveStub));
+ const routerParamsQuery = queryDes.map((de) => de.injector.get(QueryParamsDirectiveStub));
+
+ expect(routerParamsQuery.length).toBe(1);
+ expect(routerParamsQuery[0].queryParams).toBe(queryParams);
+ });
});
diff --git a/src/app/shared/menu/menu-item/models/link.model.ts b/src/app/shared/menu/menu-item/models/link.model.ts
index a5b3671f62..2b80a808f9 100644
--- a/src/app/shared/menu/menu-item/models/link.model.ts
+++ b/src/app/shared/menu/menu-item/models/link.model.ts
@@ -1,5 +1,6 @@
import { MenuItemModel } from './menu-item.model';
import { MenuItemType } from '../../initial-menus-state';
+import { Params } from '@angular/router';
/**
* Model representing an Link Menu Section
@@ -8,4 +9,5 @@ export class LinkMenuItemModel implements MenuItemModel {
type = MenuItemType.LINK;
text: string;
link: string;
+ queryParams?: Params | null;
}