mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-08 02:24:11 +00:00
55143: fixed all tests
This commit is contained in:
@@ -22,23 +22,28 @@ describe('AuthNavMenuComponent', () => {
|
||||
let deNavMenuItem: DebugElement;
|
||||
let fixture: ComponentFixture<AuthNavMenuComponent>;
|
||||
|
||||
const notAuthState: AuthState = {
|
||||
authenticated: false,
|
||||
loaded: false,
|
||||
loading: false
|
||||
};
|
||||
const authState: AuthState = {
|
||||
authenticated: true,
|
||||
loaded: true,
|
||||
loading: false,
|
||||
authToken: new AuthTokenInfo('test_token'),
|
||||
user: EPersonMock
|
||||
};
|
||||
let notAuthState: AuthState;
|
||||
let authState: AuthState;
|
||||
|
||||
let routerState = {
|
||||
url: '/home'
|
||||
};
|
||||
|
||||
function init() {
|
||||
notAuthState = {
|
||||
authenticated: false,
|
||||
loaded: false,
|
||||
loading: false
|
||||
};
|
||||
authState = {
|
||||
authenticated: true,
|
||||
loaded: true,
|
||||
loading: false,
|
||||
authToken: new AuthTokenInfo('test_token'),
|
||||
user: EPersonMock
|
||||
};
|
||||
}
|
||||
describe('when is a not mobile view', () => {
|
||||
|
||||
beforeEach(async(() => {
|
||||
const window = new HostWindowServiceStub(800);
|
||||
|
||||
@@ -53,8 +58,13 @@ describe('AuthNavMenuComponent', () => {
|
||||
AuthNavMenuComponent
|
||||
],
|
||||
providers: [
|
||||
{provide: HostWindowService, useValue: window},
|
||||
{provide: AuthService, useValue: {setRedirectUrl: () => { /*empty*/ }}}
|
||||
{ provide: HostWindowService, useValue: window },
|
||||
{
|
||||
provide: AuthService, useValue: {
|
||||
setRedirectUrl: () => { /*empty*/
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
schemas: [
|
||||
CUSTOM_ELEMENTS_SCHEMA
|
||||
@@ -64,11 +74,14 @@ describe('AuthNavMenuComponent', () => {
|
||||
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
init();
|
||||
});
|
||||
describe('when route is /login and user is not authenticated', () => {
|
||||
routerState = {
|
||||
url: '/login'
|
||||
};
|
||||
beforeEach(inject([Store], (store: Store<AppState>) => {
|
||||
routerState = {
|
||||
url: '/login'
|
||||
};
|
||||
store
|
||||
.subscribe((state) => {
|
||||
(state as any).router = Object.create({});
|
||||
@@ -91,7 +104,9 @@ describe('AuthNavMenuComponent', () => {
|
||||
const navMenuItemSelector = 'li';
|
||||
deNavMenuItem = deNavMenu.query(By.css(navMenuItemSelector));
|
||||
}));
|
||||
|
||||
afterEach(() => {
|
||||
fixture.destroy();
|
||||
});
|
||||
it('should not render', () => {
|
||||
expect(component).toBeTruthy();
|
||||
expect(deNavMenu.nativeElement).toBeDefined();
|
||||
@@ -101,10 +116,10 @@ describe('AuthNavMenuComponent', () => {
|
||||
});
|
||||
|
||||
describe('when route is /logout and user is authenticated', () => {
|
||||
routerState = {
|
||||
url: '/logout'
|
||||
};
|
||||
beforeEach(inject([Store], (store: Store<AppState>) => {
|
||||
routerState = {
|
||||
url: '/logout'
|
||||
};
|
||||
store
|
||||
.subscribe((state) => {
|
||||
(state as any).router = Object.create({});
|
||||
@@ -128,6 +143,10 @@ describe('AuthNavMenuComponent', () => {
|
||||
deNavMenuItem = deNavMenu.query(By.css(navMenuItemSelector));
|
||||
}));
|
||||
|
||||
afterEach(() => {
|
||||
fixture.destroy();
|
||||
});
|
||||
|
||||
it('should not render', () => {
|
||||
expect(component).toBeTruthy();
|
||||
expect(deNavMenu.nativeElement).toBeDefined();
|
||||
@@ -166,6 +185,11 @@ describe('AuthNavMenuComponent', () => {
|
||||
deNavMenuItem = deNavMenu.query(By.css(navMenuItemSelector));
|
||||
}));
|
||||
|
||||
afterEach(() => {
|
||||
fixture.destroy();
|
||||
component = null;
|
||||
});
|
||||
|
||||
it('should render login dropdown menu', () => {
|
||||
const loginDropdownMenu = deNavMenuItem.query(By.css('div[id=loginDropdownMenu]'));
|
||||
expect(loginDropdownMenu.nativeElement).toBeDefined();
|
||||
@@ -200,6 +224,10 @@ describe('AuthNavMenuComponent', () => {
|
||||
deNavMenuItem = deNavMenu.query(By.css(navMenuItemSelector));
|
||||
}));
|
||||
|
||||
afterEach(() => {
|
||||
fixture.destroy();
|
||||
component = null;
|
||||
});
|
||||
it('should render logout dropdown menu', () => {
|
||||
const logoutDropdownMenu = deNavMenuItem.query(By.css('div[id=logoutDropdownMenu]'));
|
||||
expect(logoutDropdownMenu.nativeElement).toBeDefined();
|
||||
@@ -223,8 +251,13 @@ describe('AuthNavMenuComponent', () => {
|
||||
AuthNavMenuComponent
|
||||
],
|
||||
providers: [
|
||||
{provide: HostWindowService, useValue: window},
|
||||
{provide: AuthService, useValue: {setRedirectUrl: () => { /*empty*/ }}}
|
||||
{ provide: HostWindowService, useValue: window },
|
||||
{
|
||||
provide: AuthService, useValue: {
|
||||
setRedirectUrl: () => { /*empty*/
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
schemas: [
|
||||
CUSTOM_ELEMENTS_SCHEMA
|
||||
@@ -234,6 +267,9 @@ describe('AuthNavMenuComponent', () => {
|
||||
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
init();
|
||||
});
|
||||
describe('when user is not authenticated', () => {
|
||||
|
||||
beforeEach(inject([Store], (store: Store<AppState>) => {
|
||||
@@ -260,6 +296,11 @@ describe('AuthNavMenuComponent', () => {
|
||||
deNavMenuItem = deNavMenu.query(By.css(navMenuItemSelector));
|
||||
}));
|
||||
|
||||
afterEach(() => {
|
||||
fixture.destroy();
|
||||
component = null;
|
||||
});
|
||||
|
||||
it('should render login link', () => {
|
||||
const loginDropdownMenu = deNavMenuItem.query(By.css('a[id=loginLink]'));
|
||||
expect(loginDropdownMenu.nativeElement).toBeDefined();
|
||||
@@ -291,6 +332,11 @@ describe('AuthNavMenuComponent', () => {
|
||||
deNavMenuItem = deNavMenu.query(By.css(navMenuItemSelector));
|
||||
}));
|
||||
|
||||
afterEach(() => {
|
||||
fixture.destroy();
|
||||
component = null;
|
||||
});
|
||||
|
||||
it('should render logout link', inject([Store], (store: Store<AppState>) => {
|
||||
const logoutDropdownMenu = deNavMenuItem.query(By.css('a[id=logoutLink]'));
|
||||
expect(logoutDropdownMenu.nativeElement).toBeDefined();
|
||||
|
Reference in New Issue
Block a user