diff options
Diffstat (limited to 'Timeline/ClientApp/src/app/user/mock-activated-route.ts')
-rw-r--r-- | Timeline/ClientApp/src/app/user/mock-activated-route.ts | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Timeline/ClientApp/src/app/user/mock-activated-route.ts b/Timeline/ClientApp/src/app/user/mock-activated-route.ts new file mode 100644 index 00000000..9e516e83 --- /dev/null +++ b/Timeline/ClientApp/src/app/user/mock-activated-route.ts @@ -0,0 +1,43 @@ +import { ParamMap } from '@angular/router'; + +interface MockActivatedRoute { + snapshot: MockActivatedRouteSnapshot; +} + +interface MockActivatedRouteSnapshot { + paramMap: ParamMap; +} + +export function createMockActivatedRoute(mockParamMap: { [name: string]: string | string[] }): MockActivatedRoute { + return { + snapshot: { + paramMap: { + keys: Object.keys(mockParamMap), + get(name: string): string | null { + const param = mockParamMap[name]; + if (typeof param === 'string') { + return param; + } else if (param instanceof Array) { + if (param.length === 0) { + return null; + } + return param[0]; + } + return null; + }, + getAll(name: string): string[] { + const param = mockParamMap[name]; + if (typeof param === 'string') { + return [param]; + } else if (param instanceof Array) { + return param; + } + return []; + }, + has(name: string): boolean { + return mockParamMap.hasOwnProperty(name); + } + } + } + } +} |