Page Menu
Home
Sealhub
Search
Configure Global Search
Log In
Files
F9582234
generate-routes.test.ts
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
generate-routes.test.ts
View Options
import
{
generateURL
,
sortRoutes
}
from
"./generate-routes.js"
;
import
{
formatWithPrettier
}
from
"./utils/prettier.js"
;
import
assert
from
"node:assert"
;
describe
(
"generate routes"
,
()
=>
{
it
(
"handles a url with params"
,
async
()
=>
{
assert
.
strictEqual
(
await
formatWithPrettier
(
generateURL
(
"EditUser"
,
"/admin/users/:id/edit/"
)),
await
formatWithPrettier
(
`export const EditUserURL = (id: string) => \`/admin/users/\${id}/edit/\`;
EditUserURL.params = ["id"];
EditUserURL.rawURL = "/admin/users/:id/edit/";`
)
);
});
it
(
"handles polish characters in the url"
,
()
=>
{
assert
.
strictEqual
(
generateURL
(
"Users"
,
"/admin/użytkownicy/"
),
`export const UsersURL = "/admin/u%C5%BCytkownicy/";`
);
});
it
(
"handles a url with params and diacritics"
,
async
()
=>
{
assert
.
strictEqual
(
await
formatWithPrettier
(
generateURL
(
"EditUser"
,
"/admin/użytkownicy/:id/edit/"
)),
await
formatWithPrettier
(
`export const EditUserURL = (id: string) => \`/admin/u%C5%BCytkownicy/\${id}/edit/\`;
EditUserURL.params = ["id"];
EditUserURL.rawURL = "/admin/u%C5%BCytkownicy/:id/edit/";`
)
);
});
it
(
"sorts routes from most specific first to least specific last, considering directory structure"
,
()
=>
{
assert
.
deepStrictEqual
(
sortRoutes
(
[
"/home"
,
"/foo/:bar/:baz"
,
"/:param1/:param2/:param3"
,
"/foo/bar/baz"
,
"/foo/:bar"
,
"/:param1"
,
].
map
((
url
)
=>
({
url
,
}))
).
map
(({
url
}
:
{
url
:
string
})
=>
url
),
[
"/home"
,
"/:param1"
,
"/foo/:bar"
,
"/foo/bar/baz"
,
"/foo/:bar/:baz"
,
"/:param1/:param2/:param3"
,
]
);
});
});
File Metadata
Details
Attached
Mime Type
text/x-java
Expires
Sat, Oct 11, 06:22 (4 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
980164
Default Alt Text
generate-routes.test.ts (1 KB)
Attached To
Mode
rSGEN sealgen
Attached
Detach File
Event Timeline
Log In to Comment