dify/web/app/components/plugins/__tests__/plugin-routes.spec.ts
Jingyi 9b74df21d0
feat(web): refine onboarding UI (#37433)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: hjlarry <hjlarry@163.com>
Co-authored-by: fatelei <fatelei@gmail.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xiyuan Chen <52963600+GareArc@users.noreply.github.com>
Co-authored-by: gigglewang <gigglewang@dify.ai>
Co-authored-by: Yunlu Wen <yunlu.wen@dify.ai>
Co-authored-by: chariri <w@chariri.moe>
Co-authored-by: Evan <2869018789@qq.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-06-15 08:47:15 +00:00

40 lines
1.6 KiB
TypeScript

import { getLegacyPluginRedirectPath } from '../plugin-routes'
describe('plugin routes', () => {
it.each([
[{}, '/integrations'],
[{ tab: 'plugins' }, '/integrations'],
[{ tab: ['plugins', 'discover'] }, '/integrations'],
])('redirects installed plugin URLs for search params %j', (searchParams, expected) => {
expect(getLegacyPluginRedirectPath(searchParams)).toBe(expected)
})
it.each([
[{ tab: 'trigger' }, '/integrations/trigger'],
[{ tab: 'agent-strategy' }, '/integrations/agent-strategy'],
[{ tab: 'extension' }, '/integrations/extension'],
])('redirects legacy plugin category URLs for search params %j', (searchParams, expected) => {
expect(getLegacyPluginRedirectPath(searchParams)).toBe(expected)
})
it.each([
[{ tab: 'discover' }, '/marketplace'],
[{ tab: 'discover', category: 'extension' }, '/marketplace?category=extension'],
[{ tab: 'discover', q: 'slack', tags: ['a', 'b'] }, '/marketplace?q=slack&tags=a&tags=b'],
[{ tab: 'all' }, '/marketplace?category=all'],
[{ tab: 'tool' }, '/marketplace?category=tool'],
[{ tab: 'model' }, '/marketplace?category=model'],
[{ tab: 'datasource' }, '/marketplace?category=datasource'],
[{ tab: 'bundle' }, '/marketplace?category=bundle'],
])('redirects marketplace plugin URLs for search params %j', (searchParams, expected) => {
expect(getLegacyPluginRedirectPath(searchParams)).toBe(expected)
})
it.each([
{ tab: 'unsupported' },
{ tab: 'toString' },
])('does not redirect unsupported plugin URLs for search params %j', (searchParams) => {
expect(getLegacyPluginRedirectPath(searchParams)).toBeUndefined()
})
})