1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import type { RouteRecordRaw } from 'vue-router';
- import type { RouteModuleType } from './merge-route-modules';
- import { describe, expect, it } from 'vitest';
- import { mergeRouteModules } from './merge-route-modules';
- describe('mergeRouteModules', () => {
- it('should merge route modules correctly', () => {
- const routeModules: Record<string, RouteModuleType> = {
- './dynamic-routes/about.ts': {
- default: [
- {
- component: () => Promise.resolve({ template: '<div>About</div>' }),
- name: 'About',
- path: '/about',
- },
- ],
- },
- './dynamic-routes/home.ts': {
- default: [
- {
- component: () => Promise.resolve({ template: '<div>Home</div>' }),
- name: 'Home',
- path: '/',
- },
- ],
- },
- };
- const expectedRoutes: RouteRecordRaw[] = [
- {
- component: expect.any(Function),
- name: 'About',
- path: '/about',
- },
- {
- component: expect.any(Function),
- name: 'Home',
- path: '/',
- },
- ];
- const mergedRoutes = mergeRouteModules(routeModules);
- expect(mergedRoutes).toEqual(expectedRoutes);
- });
- it('should handle empty modules', () => {
- const routeModules: Record<string, RouteModuleType> = {};
- const expectedRoutes: RouteRecordRaw[] = [];
- const mergedRoutes = mergeRouteModules(routeModules);
- expect(mergedRoutes).toEqual(expectedRoutes);
- });
- it('should handle modules with no default export', () => {
- const routeModules: Record<string, RouteModuleType> = {
- './dynamic-routes/empty.ts': {
- default: [],
- },
- };
- const expectedRoutes: RouteRecordRaw[] = [];
- const mergedRoutes = mergeRouteModules(routeModules);
- expect(mergedRoutes).toEqual(expectedRoutes);
- });
- });
|