From 81adbaddd9ce06896f19e026b8831ffa98e40d42 Mon Sep 17 00:00:00 2001 From: masumulu28 Date: Mon, 13 Mar 2023 14:53:17 +0300 Subject: [PATCH] Test done #15938 --- .../core/src/lib/tests/routes.service.spec.ts | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/npm/ng-packs/packages/core/src/lib/tests/routes.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/routes.service.spec.ts index 51c81a5b3c..1f3bb79362 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/routes.service.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/routes.service.spec.ts @@ -1,11 +1,14 @@ import { Subject } from 'rxjs'; import { take } from 'rxjs/operators'; +import { ABP } from '../models'; import { RoutesService } from '../services/routes.service'; import { DummyInjector } from './utils/common.utils'; import { mockPermissionService } from './utils/permission-service.spec.utils'; const updateStream$ = new Subject(); +type GroupType = ABP.Group; + export const mockRoutesService = (injectorPayload = {} as { [key: string]: any }) => { const injector = new DummyInjector({ PermissionService: mockPermissionService(), @@ -17,6 +20,10 @@ export const mockRoutesService = (injectorPayload = {} as { [key: string]: any } describe('Routes Service', () => { let service: RoutesService; + + const fooGroup: GroupType = { key: 'foo', text: '::FooGroup' }; + const barGroup: GroupType = { key: 'bar', text: '::BarGroup' }; + const routes = [ { path: '/foo', name: 'foo' }, { path: '/foo/bar', name: 'bar', parentName: 'foo', invisible: true, order: 2 }, @@ -25,6 +32,13 @@ describe('Routes Service', () => { { path: '/foo/x', name: 'x', parentName: 'foo', order: 1 }, ]; + const groupedRoutes = [ + { path: '/foo', name: 'foo', group: fooGroup }, + { path: '/foo/bar', name: 'bar', group: barGroup }, + { path: '/foo/bar/baz', name: 'baz', group: barGroup }, + { path: '/foo/y', name: 'y', parentName: 'foo' }, + ]; + beforeEach(() => { service = mockRoutesService(); }); @@ -59,6 +73,18 @@ describe('Routes Service', () => { }); }); + describe('#addGroup', () => { + it('should have routes with and without group', async () => { + service.add(groupedRoutes); + + const grouped = await service.flat.filter(f => f.group); + const unGrouped = await service.flat.filter(f => !f.group); + + expect(grouped.length).toBe(3); + expect(unGrouped.length).toBe(1); + }); + }); + describe('#find', () => { it('should return node found based on query', () => { service.add(routes);