diff --git a/src/jsx/__tests__/makeRouteConfig.test.js b/src/jsx/__tests__/makeRouteConfig.test.js new file mode 100644 index 00000000..9ba0739d --- /dev/null +++ b/src/jsx/__tests__/makeRouteConfig.test.js @@ -0,0 +1,82 @@ +/* eslint-disable import/no-extraneous-dependencies */ + +import React from 'react'; + +import makeRouteConfig from '../makeRouteConfig'; +import Redirect from '../Redirect'; +import Route from '../Route'; +import RedirectObject from '../../Redirect'; + + +const AppPage = () =>
AppPage
; +const MainPage = () =>
MainPage
; +const FooPage = () =>
FooPage
; +const BarPage = () =>
BarPage
; + + +it('works with a route', () => { + expect(makeRouteConfig( + + )).toEqual([ + { + path: '/', + Component: AppPage, + }, + ]); +}); + +it('works with nested layer', () => { + expect(makeRouteConfig( + + + + + + + )).toEqual([ + { + path: '/', + Component: AppPage, + children: [ + { + Component: MainPage, + }, + { + path: 'foo', + Component: FooPage, + children: [ + { + path: 'bar', + Component: BarPage, + }, + ], + }, + ], + }, + ]); +}); + +it('works with ', () => { + expect(makeRouteConfig( + + + + )).toEqual([ + { + path: '/', + Component: AppPage, + children: [ + new RedirectObject({ + from: 'widget/:widgetId', + to: '/widgets/:widgetId', + }), + ], + }, + ]); +});