)
})
+ it('resolves a normal path without name', () => {
+ assertRecordMatch(
+ { path: '/', component },
+ { path: '/' },
+ { name: undefined, path: '/', params: {} }
+ )
+ })
+
it('resolves a path with params', () => {
assertRecordMatch(
{ path: '/users/:id', name: 'User', component },
{ name: 'User', params: { id: 'posva', other: 'hey' } }
)
})
+
+ it('resolves a path with multiple params but no name', () => {
+ assertRecordMatch(
+ { path: '/users/:id/:other', component },
+ { path: '/users/posva/hey' },
+ { name: undefined, params: { id: 'posva', other: 'hey' } }
+ )
+ })
})
describe('LocationAsName', () => {
)
})
+ it('replace params even with no name', () => {
+ assertRecordMatch(
+ { path: '/users/:id/m/:role', component },
+ { params: { id: 'posva', role: 'admin' } },
+ { name: undefined, path: '/users/posva/m/admin' },
+ {
+ path: '/users/ed/m/user',
+ name: undefined,
+ params: { id: 'ed', role: 'user' },
+ }
+ )
+ })
+
it('replace params', () => {
assertRecordMatch(
{ path: '/users/:id/m/:role', name: 'UserEdit', component },
}
)
})
+
+ it('keep params if not provided even with no name', () => {
+ assertRecordMatch(
+ { path: '/users/:id/m/:role', component },
+ {},
+ {
+ name: undefined,
+ path: '/users/ed/m/user',
+ params: { id: 'ed', role: 'user' },
+ },
+ {
+ path: '/users/ed/m/user',
+ name: undefined,
+ params: { id: 'ed', role: 'user' },
+ }
+ )
+ })
})
})
})