[CST-7119] User menu fixes and improvements

This commit is contained in:
Sufiyan Shaikh
2022-10-07 19:23:16 +05:30
committed by Davide Negretti
parent 273c754370
commit c75f5f7c81
17 changed files with 108 additions and 37 deletions

View File

@@ -22,9 +22,17 @@ import { Item } from '../core/shared/item.model';
import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service';
import { ThemeService } from '../shared/theme-support/theme.service';
import { getMockThemeService } from '../shared/mocks/theme-service.mock';
import { Store, StoreModule } from '@ngrx/store';
import { AppState, storeModuleConfig } from '../app.reducer';
import { authReducer } from '../core/auth/auth.reducer';
import { provideMockStore } from '@ngrx/store/testing';
import { AuthTokenInfo } from '../core/auth/models/auth-token-info.model';
import { EPersonMock } from '../shared/testing/eperson.mock';
let comp: NavbarComponent;
let fixture: ComponentFixture<NavbarComponent>;
let store: Store<AppState>;
let initialState: any;
const authorizationService = jasmine.createSpyObj('authorizationService', {
isAuthorized: observableOf(true)
@@ -83,10 +91,24 @@ describe('NavbarComponent', () => {
}
),
];
initialState = {
core: {
auth: {
authenticated: true,
loaded: true,
blocking: false,
loading: false,
authToken: new AuthTokenInfo('test_token'),
userId: EPersonMock.id,
authMethods: []
}
}
};
TestBed.configureTestingModule({
imports: [
TranslateModule.forRoot(),
StoreModule.forRoot({ auth: authReducer }, storeModuleConfig),
NoopAnimationsModule,
ReactiveFormsModule,
RouterTestingModule],
@@ -99,6 +121,7 @@ describe('NavbarComponent', () => {
{ provide: ActivatedRoute, useValue: routeStub },
{ provide: BrowseService, useValue: { getBrowseDefinitions: createSuccessfulRemoteDataObject$(buildPaginatedList(undefined, browseDefinitions)) } },
{ provide: AuthorizationDataService, useValue: authorizationService },
provideMockStore({ initialState }),
],
schemas: [NO_ERRORS_SCHEMA]
})
@@ -107,7 +130,7 @@ describe('NavbarComponent', () => {
// synchronous beforeEach
beforeEach(() => {
store = TestBed.inject(Store);
fixture = TestBed.createComponent(NavbarComponent);
comp = fixture.componentInstance;