Skip to content
Snippets Groups Projects
Commit 8db00330 authored by Tifenn Guillas's avatar Tifenn Guillas
Browse files

Tests => DONE

parent 2880adb5
No related branches found
No related tags found
2 merge requests!169Develop,!155Resolve "Restrict navigation depending on instance config"
......@@ -9,25 +9,21 @@ const routes: Routes = [
{
path: 'search',
loadChildren: () => import('./search/search.module').then(m => m.SearchModule),
// canLoad: [NavigationGuard]
canActivate: [NavigationGuard]
},
{
path: 'search-multiple',
loadChildren: () => import('./search-multiple/search-multiple.module').then(m => m.SearchMultipleModule),
// canLoad: [NavigationGuard]
canActivate: [NavigationGuard]
},
{
path: 'detail/:dname/:objectSelected',
loadChildren: () => import('./detail/detail.module').then(m => m.DetailModule),
// canLoad: [NavigationGuard]
canActivate: [NavigationGuard]
},
{
path: 'documentation',
loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),
// canLoad: [NavigationGuard]
canActivate: [NavigationGuard]
},
{ path: '**', component: NotFoundPageComponent }
......
import { TestBed } from '@angular/core/testing';
import { MockStore, provideMockStore } from '@ngrx/store/testing';
import { provideMockStore } from '@ngrx/store/testing';
import { NavigationGuard } from './navigation.guard';
import * as fromMetamodel from '../metamodel/reducers';
import { INSTANCE } from '../../settings/test-data/instance';
fdescribe('NavigationGuardGuard', () => {
describe('[Guard] NavigationGuard', () => {
let guard: NavigationGuard;
let store: MockStore;
const initialState = { metamodel: {
...fromMetamodel,
instance: { instance: INSTANCE }
} };
}};
beforeEach(() => {
TestBed.configureTestingModule({
......
import { Injectable } from '@angular/core';
import {
ActivatedRouteSnapshot,
CanActivate,
CanLoad,
Route,
RouterStateSnapshot,
UrlSegment,
UrlTree
} from '@angular/router';
import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { filter, map, take } from 'rxjs/operators';
import { filter, map } from 'rxjs/operators';
import * as fromMetamodel from '../metamodel/reducers';
@Injectable({
providedIn: 'root'
})
export class NavigationGuard implements CanLoad, CanActivate {
export class NavigationGuard implements CanActivate {
constructor(private store$: Store<{ metamodel: fromMetamodel.State }>) { }
canLoad(
route: Route,
segments: UrlSegment[]): Observable<boolean> | Promise<boolean> | boolean {
const module: string = route.path;
return this.isModuleAllowed(module).pipe(take(1));
}
// canLoad(
// route: Route,
// segments: UrlSegment[]): Observable<boolean> | Promise<boolean> | boolean {
// const module: string = route.path;
// return this.isModuleAllowed(module).pipe(take(1));
// }
canActivate(
next: ActivatedRouteSnapshot,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment