2024-01-08 05:39:47 +00:00
|
|
|
import type { FocusEntityInfo } from "navigation/FocusEntity";
|
|
|
|
|
import { FocusEntity, identifyEntityFromPath } from "navigation/FocusEntity";
|
|
|
|
|
import { EditorState } from "@appsmith/entities/IDE/constants";
|
|
|
|
|
|
|
|
|
|
interface TestCase {
|
|
|
|
|
path: string;
|
|
|
|
|
expected: FocusEntityInfo;
|
|
|
|
|
}
|
2022-10-17 15:16:38 +00:00
|
|
|
|
2024-07-02 01:01:59 +00:00
|
|
|
const applicationId = "a0123456789abcdef0000000";
|
|
|
|
|
const pageId = "b0123456789abcdef0000000";
|
2024-06-11 09:44:54 +00:00
|
|
|
|
2022-10-17 15:16:38 +00:00
|
|
|
describe("identifyEntityFromPath", () => {
|
2024-01-08 05:39:47 +00:00
|
|
|
const oldUrlCases: TestCase[] = [
|
2022-10-17 15:16:38 +00:00
|
|
|
{
|
2024-07-02 01:01:59 +00:00
|
|
|
path: `/applications/${applicationId}/pages/${pageId}/edit`,
|
2023-11-20 07:58:08 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.CANVAS,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
applicationId,
|
|
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
},
|
2023-11-20 07:58:08 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
|
|
|
|
{
|
2024-07-02 01:01:59 +00:00
|
|
|
path: `/applications/${applicationId}/pages/${pageId}/edit/widgets/ryvc8i7oja`,
|
2022-12-08 07:21:58 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.PROPERTY_PANE,
|
2023-02-21 13:38:16 +00:00
|
|
|
id: "ryvc8i7oja",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
applicationId,
|
|
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
widgetIds: "ryvc8i7oja",
|
|
|
|
|
},
|
2022-12-08 07:21:58 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
{
|
2024-07-02 01:01:59 +00:00
|
|
|
path: `/applications/${applicationId}/pages/${pageId}/edit/queries`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.QUERY_LIST,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
applicationId,
|
2024-01-08 05:39:47 +00:00
|
|
|
entity: "queries",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
{
|
2024-07-02 01:01:59 +00:00
|
|
|
path: `/applications/${applicationId}/pages/${pageId}/edit/api/myApiId`,
|
2023-11-20 07:58:08 +00:00
|
|
|
expected: {
|
2023-11-28 12:46:43 +00:00
|
|
|
entity: FocusEntity.QUERY,
|
2023-11-20 07:58:08 +00:00
|
|
|
id: "myApiId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
apiId: "myApiId",
|
2024-07-02 01:01:59 +00:00
|
|
|
applicationId,
|
|
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
},
|
2023-11-20 07:58:08 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
|
|
|
|
{
|
2024-07-02 01:01:59 +00:00
|
|
|
path: `/applications/${applicationId}/pages/${pageId}/edit/queries/myQueryId`,
|
2022-12-08 07:21:58 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.QUERY,
|
|
|
|
|
id: "myQueryId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
queryId: "myQueryId",
|
2024-07-02 01:01:59 +00:00
|
|
|
applicationId,
|
|
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
},
|
2022-12-08 07:21:58 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
{
|
2024-07-02 01:01:59 +00:00
|
|
|
path: `/applications/${applicationId}/pages/${pageId}/edit/jsObjects`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.JS_OBJECT_LIST,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
applicationId,
|
2024-01-08 05:39:47 +00:00
|
|
|
entity: "jsObjects",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
2024-07-02 01:01:59 +00:00
|
|
|
path: `/applications/${applicationId}/pages/${pageId}/edit/jsObjects/myJSId`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.JS_OBJECT,
|
|
|
|
|
id: "myJSId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
applicationId,
|
2024-01-08 05:39:47 +00:00
|
|
|
collectionId: "myJSId",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
2024-07-02 01:01:59 +00:00
|
|
|
path: `/applications/${applicationId}/pages/${pageId}/edit/datasource`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.DATASOURCE_LIST,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.DATA,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
applicationId,
|
2024-01-08 05:39:47 +00:00
|
|
|
entity: "datasource",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
2024-07-02 01:01:59 +00:00
|
|
|
path: `/applications/${applicationId}/pages/${pageId}/edit/datasource/myDatasourceId`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.DATASOURCE,
|
|
|
|
|
id: "myDatasourceId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.DATA,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
applicationId,
|
2024-01-08 05:39:47 +00:00
|
|
|
datasourceId: "myDatasourceId",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
];
|
2024-01-08 05:39:47 +00:00
|
|
|
const pageSlugCases: TestCase[] = [
|
2022-10-17 15:16:38 +00:00
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/eval/page1-${pageId}/edit`,
|
2023-11-20 07:58:08 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.CANVAS,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
applicationSlug: "eval",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
pageSlug: "page1-",
|
|
|
|
|
},
|
2023-11-20 07:58:08 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
|
|
|
|
{
|
2024-07-02 01:01:59 +00:00
|
|
|
path: `/app/app-slug/page1-${pageId}/edit/widgets/ryvc8i7oja`,
|
2022-12-08 07:21:58 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.PROPERTY_PANE,
|
2023-02-21 13:38:16 +00:00
|
|
|
id: "ryvc8i7oja",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
applicationSlug: "app-slug",
|
|
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
pageSlug: "page1-",
|
|
|
|
|
widgetIds: "ryvc8i7oja",
|
|
|
|
|
},
|
2022-12-08 07:21:58 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/eval/page1-${pageId}/edit/queries`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.QUERY_LIST,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
applicationSlug: "eval",
|
|
|
|
|
entity: "queries",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
pageSlug: "page1-",
|
|
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/eval/page1-${pageId}/edit/api/myApiId`,
|
2023-11-20 07:58:08 +00:00
|
|
|
expected: {
|
2023-11-28 12:46:43 +00:00
|
|
|
entity: FocusEntity.QUERY,
|
2023-11-20 07:58:08 +00:00
|
|
|
id: "myApiId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
apiId: "myApiId",
|
|
|
|
|
applicationSlug: "eval",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
pageSlug: "page1-",
|
|
|
|
|
},
|
2023-11-20 07:58:08 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
|
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/eval/page1-${pageId}/edit/queries/myQueryId`,
|
2022-12-08 07:21:58 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.QUERY,
|
|
|
|
|
id: "myQueryId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
applicationSlug: "eval",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
pageSlug: "page1-",
|
|
|
|
|
queryId: "myQueryId",
|
|
|
|
|
},
|
2022-12-08 07:21:58 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/eval/page1-${pageId}/edit/jsObjects`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.JS_OBJECT_LIST,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
applicationSlug: "eval",
|
|
|
|
|
entity: "jsObjects",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
pageSlug: "page1-",
|
|
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/eval/page1-${pageId}/edit/jsObjects/myJSId`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.JS_OBJECT,
|
|
|
|
|
id: "myJSId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
applicationSlug: "eval",
|
|
|
|
|
collectionId: "myJSId",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
pageSlug: "page1-",
|
|
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/eval/page1-${pageId}/edit/datasource`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.DATASOURCE_LIST,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.DATA,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
applicationSlug: "eval",
|
|
|
|
|
entity: "datasource",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
pageSlug: "page1-",
|
|
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/eval/page1-${pageId}/edit/datasource/myDatasourceId`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.DATASOURCE,
|
|
|
|
|
id: "myDatasourceId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.DATA,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
applicationSlug: "eval",
|
|
|
|
|
datasourceId: "myDatasourceId",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
pageSlug: "page1-",
|
|
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
];
|
2024-01-08 05:39:47 +00:00
|
|
|
const customSlugCases: TestCase[] = [
|
2022-10-17 15:16:38 +00:00
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/myCustomSlug-${pageId}/edit`,
|
2023-11-20 07:58:08 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.CANVAS,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
customSlug: "myCustomSlug-",
|
|
|
|
|
},
|
2023-11-20 07:58:08 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
|
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/myCustomSlug-${pageId}/edit/widgets/ryvc8i7oja`,
|
2022-12-08 07:21:58 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.PROPERTY_PANE,
|
2023-02-21 13:38:16 +00:00
|
|
|
id: "ryvc8i7oja",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
customSlug: "myCustomSlug-",
|
|
|
|
|
widgetIds: "ryvc8i7oja",
|
|
|
|
|
},
|
2022-12-08 07:21:58 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/myCustomSlug-${pageId}/edit/queries`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.QUERY_LIST,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
customSlug: "myCustomSlug-",
|
|
|
|
|
entity: "queries",
|
|
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/myCustomSlug-${pageId}/edit/api/myApiId`,
|
2023-11-20 07:58:08 +00:00
|
|
|
expected: {
|
2023-11-28 12:46:43 +00:00
|
|
|
entity: FocusEntity.QUERY,
|
2023-11-20 07:58:08 +00:00
|
|
|
id: "myApiId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
customSlug: "myCustomSlug-",
|
|
|
|
|
apiId: "myApiId",
|
|
|
|
|
},
|
2023-11-20 07:58:08 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
|
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/myCustomSlug-${pageId}/edit/queries/myQueryId`,
|
2022-12-08 07:21:58 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.QUERY,
|
|
|
|
|
id: "myQueryId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
customSlug: "myCustomSlug-",
|
|
|
|
|
queryId: "myQueryId",
|
|
|
|
|
},
|
2022-12-08 07:21:58 +00:00
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/myCustomSlug-${pageId}/edit/jsObjects`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.JS_OBJECT_LIST,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
entity: "jsObjects",
|
|
|
|
|
customSlug: "myCustomSlug-",
|
|
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/myCustomSlug-${pageId}/edit/jsObjects/myJSId`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.JS_OBJECT,
|
|
|
|
|
id: "myJSId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.EDITOR,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
collectionId: "myJSId",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
customSlug: "myCustomSlug-",
|
|
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/myCustomSlug-${pageId}/edit/datasource`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.DATASOURCE_LIST,
|
|
|
|
|
id: "",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.DATA,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
|
|
|
|
entity: "datasource",
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
customSlug: "myCustomSlug-",
|
|
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
2024-06-11 09:44:54 +00:00
|
|
|
path: `/app/myCustomSlug-${pageId}/edit/datasource/myDatasourceId`,
|
2023-11-28 12:46:43 +00:00
|
|
|
expected: {
|
|
|
|
|
entity: FocusEntity.DATASOURCE,
|
|
|
|
|
id: "myDatasourceId",
|
2023-11-30 09:26:24 +00:00
|
|
|
appState: EditorState.DATA,
|
2024-01-08 05:39:47 +00:00
|
|
|
params: {
|
2024-07-02 01:01:59 +00:00
|
|
|
pageId,
|
2024-01-08 05:39:47 +00:00
|
|
|
customSlug: "myCustomSlug-",
|
|
|
|
|
datasourceId: "myDatasourceId",
|
|
|
|
|
},
|
2023-11-28 12:46:43 +00:00
|
|
|
},
|
|
|
|
|
},
|
2022-10-17 15:16:38 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
const cases = oldUrlCases.concat(pageSlugCases.concat(customSlugCases));
|
|
|
|
|
|
2024-07-02 01:01:59 +00:00
|
|
|
it.each(cases)("$# $path", ({ expected, path }) => {
|
|
|
|
|
expect(identifyEntityFromPath(path)).toStrictEqual(expected);
|
2022-10-17 15:16:38 +00:00
|
|
|
});
|
|
|
|
|
});
|