@finsemble/finsemble-ui 6.4.0 → 6.5.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +19 -18
- package/react/actions/smartDesktopDesignerActions.d.ts +6 -2
- package/react/actions/smartDesktopDesignerActions.js +2 -0
- package/react/actions/smartDesktopDesignerActions.js.map +1 -1
- package/react/assets/icons/code-block.svg +15 -0
- package/react/components/FinsembleProvider.js.map +1 -1
- package/react/components/appCatalog/modules/FDC3.d.ts +1 -1
- package/react/components/appCatalog/modules/FDC3.js.map +1 -1
- package/react/components/appCatalog/stores/appStore.d.ts +2 -2
- package/react/components/appCatalog/stores/appStore.js.map +1 -1
- package/react/components/common/Checkbox.js +1 -1
- package/react/components/common/Checkbox.js.map +1 -1
- package/react/components/common/DropZone.js +3 -1
- package/react/components/common/DropZone.js.map +1 -1
- package/react/components/common/FinsembleIcon.d.ts +1 -1
- package/react/components/common/FinsembleIcon.js +2 -0
- package/react/components/common/FinsembleIcon.js.map +1 -1
- package/react/components/common/FinsembleSelect.js +1 -1
- package/react/components/common/FinsembleSelect.js.map +1 -1
- package/react/components/common/Tooltip.js +3 -1
- package/react/components/common/Tooltip.js.map +1 -1
- package/react/components/common/css/application-list.css +4 -0
- package/react/components/common/css/preload-edit-page.css +37 -0
- package/react/components/favorites/FavoritesShell.stories.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
- package/react/components/legacyControls/FinsembleDnDContext.d.ts +2 -1
- package/react/components/legacyControls/FinsembleDnDContext.js +8 -6
- package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
- package/react/components/linker/remoteRedux.d.ts +1 -1
- package/react/components/linker/remoteRedux.js.map +1 -1
- package/react/components/menu/MenuAutoResizer.js.map +1 -1
- package/react/components/menu/MenuPortal.js +19 -0
- package/react/components/menu/MenuPortal.js.map +1 -1
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
- package/react/components/notifications/components/shared/CheckButton.d.ts +1 -1
- package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
- package/react/components/notifications/components/shared/NotificationCardShell.d.ts +1 -1
- package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
- package/react/components/notifications/components/shared/OverflowMenu.d.ts +1 -1
- package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
- package/react/components/notifications/components/views/CardView.js.map +1 -1
- package/react/components/notifications/components/views/ListView.d.ts +1 -1
- package/react/components/notifications/components/views/ListView.js.map +1 -1
- package/react/components/notifications/components/views/NotificationDetailsView.d.ts +1 -1
- package/react/components/notifications/components/views/NotificationDetailsView.js.map +1 -1
- package/react/components/notifications/types.d.ts +1 -1
- package/react/components/notifications/types.js.map +1 -1
- package/react/components/notifications/utils.d.ts +1 -1
- package/react/components/notifications/utils.js.map +1 -1
- package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
- package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
- package/react/components/processMonitor/components/ListHeader.d.ts +1 -1
- package/react/components/processMonitor/components/ListHeader.js.map +1 -1
- package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +3 -3
- package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
- package/react/components/search/SearchResult.js +4 -3
- package/react/components/search/SearchResult.js.map +1 -1
- package/react/components/smartDesktopDesigner/AppEditAccess.js.map +1 -1
- package/react/components/smartDesktopDesigner/AppEditPage.d.ts +2 -1
- package/react/components/smartDesktopDesigner/AppEditPage.js +77 -73
- package/react/components/smartDesktopDesigner/AppEditPage.js.map +1 -1
- package/react/components/smartDesktopDesigner/Appearance.css +8 -0
- package/react/components/smartDesktopDesigner/Application.d.ts +10 -3
- package/react/components/smartDesktopDesigner/Application.js +35 -42
- package/react/components/smartDesktopDesigner/Application.js.map +1 -1
- package/react/components/smartDesktopDesigner/Applications.d.ts +2 -0
- package/react/components/smartDesktopDesigner/Applications.js +17 -7
- package/react/components/smartDesktopDesigner/Applications.js.map +1 -1
- package/react/components/smartDesktopDesigner/EditPreload.d.ts +14 -0
- package/react/components/smartDesktopDesigner/EditPreload.js +169 -0
- package/react/components/smartDesktopDesigner/EditPreload.js.map +1 -0
- package/react/components/smartDesktopDesigner/ItemList.d.ts +17 -0
- package/react/components/smartDesktopDesigner/ItemList.js +58 -0
- package/react/components/smartDesktopDesigner/ItemList.js.map +1 -0
- package/react/components/smartDesktopDesigner/OptionalSettingsView.d.ts +11 -0
- package/react/components/smartDesktopDesigner/OptionalSettingsView.js +71 -0
- package/react/components/smartDesktopDesigner/OptionalSettingsView.js.map +1 -0
- package/react/components/smartDesktopDesigner/Preloads.d.ts +8 -0
- package/react/components/smartDesktopDesigner/Preloads.js +26 -0
- package/react/components/smartDesktopDesigner/Preloads.js.map +1 -0
- package/react/components/smartDesktopDesigner/Publish.js.map +1 -1
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
- package/react/components/smartDesktopDesigner/Toolbar.js +5 -5
- package/react/components/smartDesktopDesigner/Toolbar.js.map +1 -1
- package/react/components/smartDesktopDesigner/common/views.js +18 -0
- package/react/components/smartDesktopDesigner/common/views.js.map +1 -1
- package/react/components/smartDesktopDesigner/css/appearance.css +3 -0
- package/react/components/smartDesktopDesigner/fixtures/apps.d.ts +1 -1
- package/react/components/smartDesktopDesigner/fixtures/apps.js +23 -1
- package/react/components/smartDesktopDesigner/fixtures/apps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/exportProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/preloads.d.ts +22 -0
- package/react/components/smartDesktopDesigner/fixtures/preloads.js +40 -0
- package/react/components/smartDesktopDesigner/fixtures/preloads.js.map +1 -0
- package/react/components/smartDesktopDesigner/fixtures/publishProgress.d.ts +1 -1
- package/react/components/smartDesktopDesigner/fixtures/publishProgress.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/views.js +9 -0
- package/react/components/smartDesktopDesigner/fixtures/views.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.d.ts +1 -1
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js +1 -0
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/EditPreload.stories.d.ts +11 -0
- package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js +35 -0
- package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/ItemList.stories.d.ts +16 -0
- package/react/components/smartDesktopDesigner/stories/{ApplicationList.stories.js → ItemList.stories.js} +26 -26
- package/react/components/smartDesktopDesigner/stories/ItemList.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.d.ts +11 -0
- package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js +28 -0
- package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/Preloads.stories.d.ts +11 -0
- package/react/components/smartDesktopDesigner/stories/Preloads.stories.js +31 -0
- package/react/components/smartDesktopDesigner/stories/Preloads.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js +1099 -258
- package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/{ApplicationList.spec.d.ts → Application.spec.d.ts} +0 -0
- package/react/components/smartDesktopDesigner/tests/Application.spec.js +1496 -0
- package/react/components/smartDesktopDesigner/tests/Application.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/Applications.spec.js +3 -3
- package/react/components/smartDesktopDesigner/tests/Applications.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/EditPreload.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/EditPreload.spec.js +61 -0
- package/react/components/smartDesktopDesigner/tests/EditPreload.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/ItemList.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/{ApplicationList.spec.js → ItemList.spec.js} +8 -8
- package/react/components/smartDesktopDesigner/tests/ItemList.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/Preloads.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/Preloads.spec.js +47 -0
- package/react/components/smartDesktopDesigner/tests/Preloads.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js +6 -0
- package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js.map +1 -1
- package/react/components/toolbar/DragHandle.spec.d.ts +1 -0
- package/react/components/toolbar/DragHandle.spec.js +31 -0
- package/react/components/toolbar/DragHandle.spec.js.map +1 -0
- package/react/components/toolbar/DragHandle.stories.d.ts +13 -0
- package/react/components/toolbar/DragHandle.stories.js +39 -0
- package/react/components/toolbar/DragHandle.stories.js.map +1 -0
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/TagsList.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/TagsList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.d.ts +2 -2
- package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
- package/react/components/toolbar/appLauncher/components/componentList.d.ts +2 -2
- package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +2 -2
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
- package/react/components/toolbar/dashbar/Dashbar.js +9 -12
- package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +2 -2
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +4 -4
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
- package/react/components/userPreferences/components/content/Workspaces.d.ts +1 -1
- package/react/components/userPreferences/components/content/Workspaces.js +1 -1
- package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js.map +1 -1
- package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +1 -1
- package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
- package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +4 -2
- package/react/components/windowTitleBar/WindowTitleBarShell.js +60 -59
- package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
- package/react/components/windowTitleBar/components/center/TabList.d.ts +2 -2
- package/react/components/windowTitleBar/components/center/TabList.js +3 -0
- package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
- package/react/components/windowTitleBar/components/windowTitle.d.ts +5 -2
- package/react/components/windowTitleBar/components/windowTitle.js +93 -89
- package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
- package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +3 -3
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js +213 -217
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
- package/react/hooks/useDashbar.js.map +1 -1
- package/react/hooks/useFavoritesShell.js.map +1 -1
- package/react/hooks/useNotifications.d.ts +1 -1
- package/react/hooks/useNotifications.js.map +1 -1
- package/react/reducers/rootReducer.d.ts +11 -3
- package/react/reducers/smartDesktopDesignerReducer.js +8 -0
- package/react/reducers/smartDesktopDesignerReducer.js.map +1 -1
- package/react/store.d.ts +22 -6
- package/react/types/fdc3.d.ts +2 -2
- package/react/types/fdc3.js.map +1 -1
- package/react/types/searchTypes.d.ts +1 -8
- package/react/types/searchTypes.js.map +1 -1
- package/react/types/smartDesktopDesignerTypes.d.ts +8 -2
- package/react/types/smartDesktopDesignerTypes.js.map +1 -1
- package/react/types/windowTitleBar.d.ts +1 -1
- package/react/types/windowTitleBar.js.map +1 -1
- package/react/components/smartDesktopDesigner/ApplicationList.d.ts +0 -16
- package/react/components/smartDesktopDesigner/ApplicationList.js +0 -60
- package/react/components/smartDesktopDesigner/ApplicationList.js.map +0 -1
- package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.d.ts +0 -16
- package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js.map +0 -1
- package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Application.spec.js","sourceRoot":"","sources":["../../../../src/components/smartDesktopDesigner/tests/Application.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from \"chai\";\nimport {\n\tAppDefinition,\n\tgenAbstractPositionFromAppConfig,\n\tgenWindowParamsFromAbstractPosition,\n\tappConfigToAppData,\n\tappDataToAppConfig,\n} from \"../Application\";\nimport * as Types from \"../../../types/smartDesktopDesignerTypes\";\n\ndescribe(\"genAbstractPositionFromAppConfig\", () => {\n\tit(\"should identify top left\", () => {\n\t\tconst appConfig = {\n\t\t\tmanifest: {\n\t\t\t\twindow: {\n\t\t\t\t\tposition: \"monitor\",\n\t\t\t\t\ttop: \"0\",\n\t\t\t\t\tleft: \"0\",\n\t\t\t\t},\n\t\t\t},\n\t\t} as AppDefinition;\n\n\t\texpect(genAbstractPositionFromAppConfig(appConfig)).to.equal(1);\n\t});\n\tit(\"should identify bottom right\", () => {\n\t\tconst appConfig = {\n\t\t\tmanifest: {\n\t\t\t\twindow: {\n\t\t\t\t\tposition: \"monitor\",\n\t\t\t\t\tbottom: \"0\",\n\t\t\t\t\tright: \"0\",\n\t\t\t\t},\n\t\t\t},\n\t\t} as AppDefinition;\n\n\t\texpect(genAbstractPositionFromAppConfig(appConfig)).to.equal(9);\n\t});\n\tit(\"should identify dead center\", () => {\n\t\tconst appConfig = {\n\t\t\tmanifest: {\n\t\t\t\twindow: {\n\t\t\t\t\tposition: \"monitor\",\n\t\t\t\t\ttop: \"center\",\n\t\t\t\t\tleft: \"center\",\n\t\t\t\t},\n\t\t\t},\n\t\t} as AppDefinition;\n\n\t\texpect(genAbstractPositionFromAppConfig(appConfig)).to.equal(5);\n\t});\n\tit(\"should identify default if no position is defined\", () => {\n\t\tconst appConfig = {\n\t\t\tmanifest: {\n\t\t\t\twindow: {\n\t\t\t\t\ttop: \"0\",\n\t\t\t\t\tleft: \"0\",\n\t\t\t\t},\n\t\t\t},\n\t\t} as AppDefinition;\n\n\t\texpect(genAbstractPositionFromAppConfig(appConfig)).to.equal(0);\n\t});\n\tit(\"should identify default if no manifest assigned\", () => {\n\t\tconst appConfig = {} as AppDefinition;\n\n\t\texpect(genAbstractPositionFromAppConfig(appConfig)).to.equal(0);\n\t});\n\tit(\"should identify default if no window assigned\", () => {\n\t\tconst appConfig = {\n\t\t\tmanifest: {},\n\t\t} as AppDefinition;\n\n\t\texpect(genAbstractPositionFromAppConfig(appConfig)).to.equal(0);\n\t});\n\tit(\"should return -1 if invalid value combination\", () => {\n\t\tconst appConfig = {\n\t\t\tmanifest: {\n\t\t\t\twindow: {\n\t\t\t\t\tposition: \"monitor\",\n\t\t\t\t\ttop: \"0\",\n\t\t\t\t\tbottom: \"0\",\n\t\t\t\t},\n\t\t\t},\n\t\t} as AppDefinition;\n\n\t\texpect(genAbstractPositionFromAppConfig(appConfig)).to.equal(-1);\n\t});\n});\n\ndescribe(\"genWindowParamsFromAbstractPosition\", () => {\n\tit(\"should handle default\", () => {\n\t\texpect(genWindowParamsFromAbstractPosition(1)).to.deep.equal({\n\t\t\tposition: \"monitor\",\n\t\t\ttop: \"0\",\n\t\t\tleft: \"0\",\n\t\t});\n\t});\n\tit(\"should handle top left\", () => {\n\t\texpect(genWindowParamsFromAbstractPosition(1)).to.deep.equal({\n\t\t\tposition: \"monitor\",\n\t\t\ttop: \"0\",\n\t\t\tleft: \"0\",\n\t\t});\n\t});\n\tit(\"should handle dead center\", () => {\n\t\texpect(genWindowParamsFromAbstractPosition(5)).to.deep.equal({\n\t\t\tposition: \"monitor\",\n\t\t\ttop: \"center\",\n\t\t\tleft: \"center\",\n\t\t});\n\t});\n\tit(\"should handle bottom right\", () => {\n\t\texpect(genWindowParamsFromAbstractPosition(9)).to.deep.equal({\n\t\t\tposition: \"monitor\",\n\t\t\tbottom: \"0\",\n\t\t\tright: \"0\",\n\t\t});\n\t});\n});\n\ndescribe(\"appConfigToAppData\", () => {\n\tit(\"kitchen sink\", () => {\n\t\tconst appConfig = {\n\t\t\tappId: \"test ID\",\n\t\t\tname: \"test\",\n\t\t\tdescription: \"test\",\n\t\t\tmanifest: {\n\t\t\t\tcomponent: {\n\t\t\t\t\tdisplayName: \"Test displayName\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tspawnOnStartup: false,\n\t\t\t\t\tpreload: [\"zoom\"],\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tautoConnect: true,\n\t\t\t\t\tselectConnect: [],\n\t\t\t\t},\n\t\t\t\twindow: {\n\t\t\t\t\turl: \"\",\n\t\t\t\t\tpath: \"\",\n\t\t\t\t\targuments: \"\",\n\t\t\t\t\twidth: \"\",\n\t\t\t\t\theight: \"\",\n\t\t\t\t\taddToWorkspace: true,\n\t\t\t\t\twindowType: \"application\",\n\t\t\t\t\toptions: {\n\t\t\t\t\t\talwaysOnTop: true,\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\tresizable: true,\n\t\t\t\t\t\tsecurityPolicy: \"trusted\",\n\t\t\t\t\t\tisEvergreen: true,\n\t\t\t\t\t\twindowSpawnTimeout: 60,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\tToolbar: {\n\t\t\t\t\t\t\ticonURL: \"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\talwaysOnTopIcon: true,\n\t\t\t\t\t\t\tFSBLHeader: false, // true, false, object\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tservices: {\n\t\t\t\t\t\tworkspace: {\n\t\t\t\t\t\t\tpersistURL: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\twindowService: {\n\t\t\t\t\t\t\tallowAutoArrange: true,\n\t\t\t\t\t\t\tallowGrouping: true,\n\t\t\t\t\t\t\tallowMaximize: true,\n\t\t\t\t\t\t\tallowMinimize: true,\n\t\t\t\t\t\t\tallowSnapping: true,\n\t\t\t\t\t\t\tallowTabbing: true,\n\t\t\t\t\t\t\tallowTiling: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tintents: [],\n\t\t\t},\n\t\t} as AppDefinition;\n\t\texpect(appConfigToAppData(appConfig)).to.deep.equal({\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: true,\n\t\t\tappArguments: \"\",\n\t\t\tappType: \"application\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAOT: true,\n\t\t\tenableTitleBar: false,\n\t\t\theight: \"\",\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: true,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"test\",\n\t\t\tnative_windowSpawnTimeout: 60,\n\t\t\topacity: 1,\n\t\t\tpath: \"\",\n\t\t\tpersistURL: true,\n\t\t\tpersistPath: false,\n\t\t\tpreloads: [\"zoom\"],\n\t\t\tresizable: true,\n\t\t\trules: [],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: true,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: \"\",\n\t\t\twidth: \"\",\n\t\t});\n\t});\n\tit(\"defaults: FDC3 Workbench\", () => {\n\t\tconst appConfig = {\n\t\t\tappId: \"FDC3 workbench\",\n\t\t\tname: \"FDC3 workbench\",\n\t\t\tdescription: \"Development and test tool for FDC3 desktop agents and apps\",\n\t\t\tmanifest: {\n\t\t\t\twindow: {\n\t\t\t\t\turl: \"http://fdc3.finos.org/toolbox/fdc3-workbench\",\n\t\t\t\t\twidth: 800,\n\t\t\t\t\theight: 750,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tminWidth: 75,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\t\"App Launcher\": { launchableByUser: true },\n\t\t\t\t\t\tToolbar: { iconURL: \"http://fdc3.finos.org/toolbox/fdc3-workbench/fdc3-icon-256.png\" },\n\t\t\t\t\t\t\"Window Manager\": { FSBLHeader: true, persistWindowState: true },\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinterop: {},\n\t\t\t},\n\t\t\tversion: \"1.0.0\",\n\t\t\ttooltip: \"FDC3 Workbench\",\n\t\t\timages: [\n\t\t\t\t{\n\t\t\t\t\turl: \"http://fdc3.finos.org/toolbox/fdc3-workbench/fdc3-icon-256.png\",\n\t\t\t\t\ttooltip: \"FDC3 logo\",\n\t\t\t\t},\n\t\t\t],\n\t\t\ttags: [\"fdc3\", \"interop\", \"interoperabilty\", \"developer tool\"],\n\t\t\tcontactEmail: \"info@cosaic.io\",\n\t\t\tsupportEmail: \"support@finsemble.com\",\n\t\t\tpublisher: \"Cosaic\",\n\t\t\ticons: [\n\t\t\t\t{\n\t\t\t\t\turl: \"http://fdc3.finos.org/toolbox/fdc3-workbench/fdc3-icon-256.png\",\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t\texpect(appConfigToAppData(appConfig)).to.deep.equal({\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: false,\n\t\t\tappArguments: undefined,\n\t\t\tappType: undefined,\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"Development and test tool for FDC3 desktop agents and apps\",\n\t\t\tenableAOT: false,\n\t\t\tenableTitleBar: true,\n\t\t\theight: 750,\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"http://fdc3.finos.org/toolbox/fdc3-workbench/fdc3-icon-256.png\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: false,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"FDC3 workbench\",\n\t\t\tnative_windowSpawnTimeout: 30,\n\t\t\topacity: 1,\n\t\t\tpath: undefined,\n\t\t\tpersistPath: false,\n\t\t\tpersistURL: false,\n\t\t\tresizable: true,\n\t\t\trules: undefined,\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: false,\n\t\t\tspawnOnStartup: false,\n\t\t\tpreloads: [],\n\t\t\turl: \"http://fdc3.finos.org/toolbox/fdc3-workbench\",\n\t\t\twidth: 800,\n\t\t});\n\t});\n\tit(\"defaults: ChartIQ\", () => {\n\t\tconst appConfig = {\n\t\t\tname: \"ChartIQ Example App\",\n\t\t\tappId: \"ChartIQ Example App\",\n\t\t\tdescription: \"Visualize market data in the leading FDC3 compliant technical chart.\",\n\t\t\tmanifest: {\n\t\t\t\twindow: {\n\t\t\t\t\turl: \"https://assets.finsemble.com/components/chart/technical-analysis-chart.html\",\n\t\t\t\t\twidth: 800,\n\t\t\t\t\theight: 600,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tminWidth: 75,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tToolbar: {\n\t\t\t\t\t\t\ticonClass: \"ff-chart-advanced\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\tFSBLHeader: true,\n\t\t\t\t\t\t\tpersistWindowState: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tselectConnect: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontextType: \"layout\",\n\t\t\t\t\t\t\tfwd: \"#Workspace\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontextType: \"fdc3.instrument\",\n\t\t\t\t\t\t\tcc: \"#Workspace\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: \"1.0.0\",\n\t\t\ttooltip: \"ChartIQ Technical Chart\",\n\t\t\timages: [\n\t\t\t\t{\n\t\t\t\t\turl: \"https://i.imgur.com/10C3LdH.png\",\n\t\t\t\t\ttooltip: \"ChartIQ FDC3 compatible chart\",\n\t\t\t\t},\n\t\t\t],\n\t\t\ttags: [\"charts\", \"market data\", \"visualization\", \"graphics\", \"fdc3\"],\n\t\t\tcontactEmail: \"info@cosaic.io\",\n\t\t\tsupportEmail: \"support@finsemble.com\",\n\t\t\tpublisher: \"Cosaic\",\n\t\t\ticons: [\n\t\t\t\t{\n\t\t\t\t\turl: \"https://i.imgur.com/mpBdiHd.png\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tintents: [\n\t\t\t\t{\n\t\t\t\t\tname: \"ViewChart\",\n\t\t\t\t\tdisplayName: \"View Chart\",\n\t\t\t\t\tcontexts: [\"fdc3.instrument\"],\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t\texpect(appConfigToAppData(appConfig)).to.deep.equal({\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: false,\n\t\t\tappArguments: undefined,\n\t\t\tappType: undefined,\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"Visualize market data in the leading FDC3 compliant technical chart.\",\n\t\t\tenableAOT: false,\n\t\t\tenableTitleBar: true,\n\t\t\theight: 600,\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: undefined,\n\t\t\tintents: [\n\t\t\t\t{\n\t\t\t\t\tcontexts: [\"fdc3.instrument\"],\n\t\t\t\t\tdisplayName: \"View Chart\",\n\t\t\t\t\tname: \"ViewChart\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tisEvergreen: false,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"ChartIQ Example App\",\n\t\t\tnative_windowSpawnTimeout: 30,\n\t\t\topacity: 1,\n\t\t\tpath: undefined,\n\t\t\tpersistPath: false,\n\t\t\tpersistURL: false,\n\t\t\tpreloads: [],\n\t\t\tresizable: true,\n\t\t\trules: [\n\t\t\t\t{\n\t\t\t\t\tcontextType: \"layout\",\n\t\t\t\t\tfwd: \"#Workspace\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcc: \"#Workspace\",\n\t\t\t\t\tcontextType: \"fdc3.instrument\",\n\t\t\t\t},\n\t\t\t],\n\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: false,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: \"https://assets.finsemble.com/components/chart/technical-analysis-chart.html\",\n\t\t\twidth: 800,\n\t\t});\n\t});\n\tit(\"defaults: Grid\", () => {\n\t\tconst appConfig = {\n\t\t\tappId: \"AG-Grid Example Blotter\",\n\t\t\tname: \"AG-Grid Example Blotter\",\n\t\t\tdescription: \"Organize data with FDC3 compliant blotters built on AG Grid\",\n\t\t\tmanifest: {\n\t\t\t\twindow: {\n\t\t\t\t\turl: \"https://assets.finsemble.com/components/ag-grid/index.html\",\n\t\t\t\t\twidth: 1000,\n\t\t\t\t\theight: 600,\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tToolbar: {\n\t\t\t\t\t\t\ticonURL: \"https://assets.finsemble.com/components/ag-grid/ag-grid-logo.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\tFSBLHeader: true,\n\t\t\t\t\t\t\tpersistWindowState: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tselectConnect: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontextType: \"fdc3.instrument\",\n\t\t\t\t\t\t\tcc: \"#Workspace\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: \"1.0.0\",\n\t\t\ttooltip: \"AG Grid FDC3 compatible blotter\",\n\t\t\ttags: [\"grid\", \"ag-grid\", \"blotter\", \"fdc3\"],\n\t\t\tcontactEmail: \"info@cosaic.io\",\n\t\t\tsupportEmail: \"support@finsemble.com\",\n\t\t\tpublisher: \"Cosaic\",\n\t\t\ticons: [\n\t\t\t\t{\n\t\t\t\t\turl: \"https://assets.finsemble.com/components/ag-grid/ag-grid-logo.png\",\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t\texpect(appConfigToAppData(appConfig)).to.deep.equal({\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: false,\n\t\t\tappArguments: undefined,\n\t\t\tappType: undefined,\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"Organize data with FDC3 compliant blotters built on AG Grid\",\n\t\t\tenableAOT: false,\n\t\t\tenableTitleBar: true,\n\t\t\theight: 600,\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"https://assets.finsemble.com/components/ag-grid/ag-grid-logo.png\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: false,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"AG-Grid Example Blotter\",\n\t\t\tnative_windowSpawnTimeout: 30,\n\t\t\topacity: 1,\n\t\t\tpath: undefined,\n\t\t\tpersistPath: false,\n\t\t\tpersistURL: false,\n\t\t\tpreloads: [],\n\t\t\tresizable: true,\n\t\t\trules: [\n\t\t\t\t{\n\t\t\t\t\tcc: \"#Workspace\",\n\t\t\t\t\tcontextType: \"fdc3.instrument\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: false,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: \"https://assets.finsemble.com/components/ag-grid/index.html\",\n\t\t\twidth: 1000,\n\t\t});\n\t});\n\tit(\"with no manifest\", () => {\n\t\tconst appConfig = {\n\t\t\tappId: \"test ID\",\n\t\t\tname: \"test\",\n\t\t\tdescription: \"test\",\n\t\t} as AppDefinition;\n\t\texpect(appConfigToAppData(appConfig)).to.deep.equal({\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: false,\n\t\t\tappArguments: undefined,\n\t\t\tappType: undefined,\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAOT: false,\n\t\t\tenableTitleBar: true,\n\t\t\theight: undefined,\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: undefined,\n\t\t\tintents: [],\n\t\t\tisEvergreen: false,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"test\",\n\t\t\tnative_windowSpawnTimeout: 30,\n\t\t\topacity: 1,\n\t\t\tpath: undefined,\n\t\t\tpersistPath: false,\n\t\t\tpersistURL: false,\n\t\t\tpreloads: [],\n\t\t\tresizable: true,\n\t\t\trules: undefined,\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: false,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: undefined,\n\t\t\twidth: undefined,\n\t\t});\n\t});\n\tit(\"with no manifest.window\", () => {\n\t\tconst appConfig = {\n\t\t\tappId: \"test ID\",\n\t\t\tname: \"test\",\n\t\t\tdescription: \"test\",\n\t\t\tmanifest: {\n\t\t\t\tcomponent: {\n\t\t\t\t\tdisplayName: \"Test displayName\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tspawnOnStartup: false,\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tautoConnect: true,\n\t\t\t\t\tselectConnect: [],\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\tToolbar: {\n\t\t\t\t\t\t\ticonURL: \"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\talwaysOnTopIcon: true,\n\t\t\t\t\t\t\tFSBLHeader: false, // true, false, object\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tservices: {\n\t\t\t\t\t\tworkspace: {\n\t\t\t\t\t\t\tpersistURL: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\twindowService: {\n\t\t\t\t\t\t\tallowAutoArrange: true,\n\t\t\t\t\t\t\tallowGrouping: true,\n\t\t\t\t\t\t\tallowMaximize: true,\n\t\t\t\t\t\t\tallowMinimize: true,\n\t\t\t\t\t\t\tallowSnapping: true,\n\t\t\t\t\t\t\tallowTabbing: true,\n\t\t\t\t\t\t\tallowTiling: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tintents: [],\n\t\t\t},\n\t\t} as AppDefinition;\n\t\texpect(appConfigToAppData(appConfig)).to.deep.equal({\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: false,\n\t\t\tappArguments: undefined,\n\t\t\tappType: undefined,\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAOT: true,\n\t\t\tenableTitleBar: false,\n\t\t\theight: undefined,\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: false,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"test\",\n\t\t\tnative_windowSpawnTimeout: 30,\n\t\t\topacity: 1,\n\t\t\tpath: undefined,\n\t\t\tpersistPath: false,\n\t\t\tpersistURL: true,\n\t\t\tpreloads: [],\n\t\t\tresizable: true,\n\t\t\trules: [],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: true,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: undefined,\n\t\t\twidth: undefined,\n\t\t});\n\t});\n\tit(\"with no description\", () => {\n\t\tconst appConfig = {\n\t\t\tappId: \"test ID\",\n\t\t\tname: \"test\",\n\t\t\tmanifest: {\n\t\t\t\tcomponent: {\n\t\t\t\t\tdisplayName: \"Test displayName\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tspawnOnStartup: false,\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tautoConnect: true,\n\t\t\t\t\tselectConnect: [],\n\t\t\t\t},\n\t\t\t\twindow: {\n\t\t\t\t\turl: \"\",\n\t\t\t\t\tpath: \"\",\n\t\t\t\t\targuments: \"\",\n\t\t\t\t\twidth: \"\",\n\t\t\t\t\theight: \"\",\n\t\t\t\t\taddToWorkspace: true,\n\t\t\t\t\twindowType: \"application\",\n\t\t\t\t\toptions: {\n\t\t\t\t\t\talwaysOnTop: true,\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\tresizable: true,\n\t\t\t\t\t\tsecurityPolicy: \"trusted\",\n\t\t\t\t\t\tisEvergreen: true,\n\t\t\t\t\t\twindowSpawnTimeout: 60,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\tToolbar: {\n\t\t\t\t\t\t\ticonURL: \"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\talwaysOnTopIcon: true,\n\t\t\t\t\t\t\tFSBLHeader: false, // true, false, object\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tservices: {\n\t\t\t\t\t\tworkspace: {\n\t\t\t\t\t\t\tpersistURL: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\twindowService: {\n\t\t\t\t\t\t\tallowAutoArrange: true,\n\t\t\t\t\t\t\tallowGrouping: true,\n\t\t\t\t\t\t\tallowMaximize: true,\n\t\t\t\t\t\t\tallowMinimize: true,\n\t\t\t\t\t\t\tallowSnapping: true,\n\t\t\t\t\t\t\tallowTabbing: true,\n\t\t\t\t\t\t\tallowTiling: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tintents: [],\n\t\t\t},\n\t\t} as AppDefinition;\n\t\texpect(appConfigToAppData(appConfig)).to.deep.equal({\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: true,\n\t\t\tappArguments: \"\",\n\t\t\tappType: \"application\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"\",\n\t\t\tenableAOT: true,\n\t\t\tenableTitleBar: false,\n\t\t\theight: \"\",\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: true,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"test\",\n\t\t\tnative_windowSpawnTimeout: 60,\n\t\t\topacity: 1,\n\t\t\tpath: \"\",\n\t\t\tpersistURL: true,\n\t\t\tpersistPath: false,\n\t\t\tpreloads: [],\n\t\t\tresizable: true,\n\t\t\trules: [],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: true,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: \"\",\n\t\t\twidth: \"\",\n\t\t});\n\t});\n\tit(\"with no intents\", () => {\n\t\tconst appConfig = {\n\t\t\tappId: \"test ID\",\n\t\t\tname: \"test\",\n\t\t\tdescription: \"test\",\n\t\t\tmanifest: {\n\t\t\t\tcomponent: {\n\t\t\t\t\tdisplayName: \"Test displayName\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tspawnOnStartup: false,\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tautoConnect: true,\n\t\t\t\t\tselectConnect: [],\n\t\t\t\t},\n\t\t\t\twindow: {\n\t\t\t\t\turl: \"\",\n\t\t\t\t\tpath: \"\",\n\t\t\t\t\targuments: \"\",\n\t\t\t\t\twidth: \"\",\n\t\t\t\t\theight: \"\",\n\t\t\t\t\taddToWorkspace: true,\n\t\t\t\t\twindowType: \"application\",\n\t\t\t\t\toptions: {\n\t\t\t\t\t\talwaysOnTop: true,\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\tresizable: true,\n\t\t\t\t\t\tsecurityPolicy: \"trusted\",\n\t\t\t\t\t\tisEvergreen: true,\n\t\t\t\t\t\twindowSpawnTimeout: 60,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\tToolbar: {\n\t\t\t\t\t\t\ticonURL: \"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\talwaysOnTopIcon: true,\n\t\t\t\t\t\t\tFSBLHeader: false, // true, false, object\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tservices: {\n\t\t\t\t\t\tworkspace: {\n\t\t\t\t\t\t\tpersistURL: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\twindowService: {\n\t\t\t\t\t\t\tallowAutoArrange: true,\n\t\t\t\t\t\t\tallowGrouping: true,\n\t\t\t\t\t\t\tallowMaximize: true,\n\t\t\t\t\t\t\tallowMinimize: true,\n\t\t\t\t\t\t\tallowSnapping: true,\n\t\t\t\t\t\t\tallowTabbing: true,\n\t\t\t\t\t\t\tallowTiling: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t} as AppDefinition;\n\t\texpect(appConfigToAppData(appConfig)).to.deep.equal({\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: true,\n\t\t\tappArguments: \"\",\n\t\t\tappType: \"application\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAOT: true,\n\t\t\tenableTitleBar: false,\n\t\t\theight: \"\",\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: true,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"test\",\n\t\t\tnative_windowSpawnTimeout: 60,\n\t\t\topacity: 1,\n\t\t\tpath: \"\",\n\t\t\tpersistPath: false,\n\t\t\tpersistURL: true,\n\t\t\tpreloads: [],\n\t\t\tresizable: true,\n\t\t\trules: [],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: true,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: \"\",\n\t\t\twidth: \"\",\n\t\t});\n\t});\n\tit(\"with undefined addToWorkspace/allow/enable\", () => {\n\t\tconst appConfig = {\n\t\t\tappId: \"test ID\",\n\t\t\tname: \"test\",\n\t\t\tdescription: \"test\",\n\t\t\tmanifest: {\n\t\t\t\tcomponent: {\n\t\t\t\t\tdisplayName: \"Test displayName\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tspawnOnStartup: false,\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tautoConnect: true,\n\t\t\t\t\tselectConnect: [],\n\t\t\t\t},\n\t\t\t\twindow: {\n\t\t\t\t\turl: \"\",\n\t\t\t\t\tpath: \"\",\n\t\t\t\t\targuments: \"\",\n\t\t\t\t\twidth: \"\",\n\t\t\t\t\theight: \"\",\n\t\t\t\t\twindowType: \"application\",\n\t\t\t\t\toptions: {\n\t\t\t\t\t\talwaysOnTop: true,\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\tresizable: true,\n\t\t\t\t\t\tsecurityPolicy: \"trusted\",\n\t\t\t\t\t\tisEvergreen: true,\n\t\t\t\t\t\twindowSpawnTimeout: 60,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\tToolbar: {\n\t\t\t\t\t\t\ticonURL: \"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\talwaysOnTopIcon: true,\n\t\t\t\t\t\t\tFSBLHeader: false, // true, false, object\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tservices: {\n\t\t\t\t\t\tworkspace: {\n\t\t\t\t\t\t\tpersistURL: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\twindowService: {},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tintents: [],\n\t\t\t},\n\t\t} as AppDefinition;\n\t\texpect(appConfigToAppData(appConfig)).to.deep.equal({\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: true,\n\t\t\tappArguments: \"\",\n\t\t\tappType: \"application\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAOT: true,\n\t\t\tenableTitleBar: false,\n\t\t\theight: \"\",\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: true,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"test\",\n\t\t\tnative_windowSpawnTimeout: 60,\n\t\t\topacity: 1,\n\t\t\tpath: \"\",\n\t\t\tpersistPath: false,\n\t\t\tpersistURL: true,\n\t\t\tpreloads: [],\n\t\t\tresizable: true,\n\t\t\trules: [],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: true,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: \"\",\n\t\t\twidth: \"\",\n\t\t});\n\t});\n});\n\ndescribe(\"appDataToAppConfig\", () => {\n\tconst configTemplate = {\n\t\tappId: \"123\",\n\t\tname: \"\",\n\t\tmanifest: {\n\t\t\twindow: {\n\t\t\t\turl: \"\",\n\t\t\t\twidth: 1280,\n\t\t\t\theight: 600,\n\t\t\t},\n\t\t\tforeign: {\n\t\t\t\tcomponents: {\n\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t},\n\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\tpersistWindowState: true,\n\t\t\t\t\t\tFSBLHeader: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tmanifestType: \"finsemble\",\n\t\tversion: \"1\",\n\t};\n\tit(\"appType: web\", () => {\n\t\tconst appData = {\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: true,\n\t\t\tappArguments: \"\",\n\t\t\tappType: \"web\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAOT: true,\n\t\t\tenableTitleBar: false,\n\t\t\theight: \"\",\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: true,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"test\",\n\t\t\tnative_windowSpawnTimeout: 60,\n\t\t\topacity: 1,\n\t\t\tpath: \"\",\n\t\t\tpersistURL: true,\n\t\t\tpersistPath: false,\n\t\t\tresizable: true,\n\t\t\trules: [],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: true,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: \"http://www.google.com\",\n\t\t\twidth: \"\",\n\t\t\tpreloads: [\"zoom\"],\n\t\t} as Types.ApplicationSaveData;\n\n\t\texpect(appDataToAppConfig(configTemplate, appData, \"123\")).to.deep.equal({\n\t\t\tappId: \"123\",\n\t\t\tdescription: \"test\",\n\t\t\tintents: [],\n\t\t\tmanifest: {\n\t\t\t\tcomponent: {\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tspawnOnStartup: false,\n\t\t\t\t\tpreload: [\"zoom\"],\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tToolbar: {},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\tFSBLHeader: false,\n\t\t\t\t\t\t\talwaysOnTopIcon: true,\n\t\t\t\t\t\t\tpersistWindowState: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tservices: {\n\t\t\t\t\t\twindowService: {\n\t\t\t\t\t\t\tallowAutoArrange: true,\n\t\t\t\t\t\t\tallowGrouping: true,\n\t\t\t\t\t\t\tallowMaximize: true,\n\t\t\t\t\t\t\tallowMinimize: true,\n\t\t\t\t\t\t\tallowSnapping: true,\n\t\t\t\t\t\t\tallowTabbing: true,\n\t\t\t\t\t\t\tallowTiling: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tworkspace: {\n\t\t\t\t\t\t\tpersistPath: false,\n\t\t\t\t\t\t\tpersistURL: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tautoConnect: true,\n\t\t\t\t\tselectConnect: [],\n\t\t\t\t},\n\t\t\t\twindow: {\n\t\t\t\t\taddToWorkspace: true,\n\t\t\t\t\theight: \"\",\n\t\t\t\t\toptions: {\n\t\t\t\t\t\talwaysOnTop: true,\n\t\t\t\t\t\tisEvergreen: true,\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\tresizable: true,\n\t\t\t\t\t\tsecurityPolicy: \"trusted\",\n\t\t\t\t\t\twindowSpawnTimeout: 60,\n\t\t\t\t\t},\n\t\t\t\t\twidth: \"\",\n\t\t\t\t\turl: \"http://www.google.com\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tmanifestType: \"finsemble\",\n\t\t\tname: \"test\",\n\t\t\tversion: \"1\",\n\t\t});\n\t});\n\tit(\"appType: native\", () => {\n\t\tconst appData = {\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: true,\n\t\t\tappArguments: \"\",\n\t\t\tappType: \"native\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAOT: true,\n\t\t\tenableTitleBar: false,\n\t\t\theight: \"\",\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: true,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"test\",\n\t\t\tnative_windowSpawnTimeout: 60,\n\t\t\topacity: 1,\n\t\t\tpath: \"blah blah blah\",\n\t\t\tpersistURL: true,\n\t\t\tpersistPath: false,\n\t\t\tresizable: true,\n\t\t\trules: [],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: true,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: \"\",\n\t\t\twidth: \"\",\n\t\t\tpreloads: [],\n\t\t} as Types.ApplicationSaveData;\n\n\t\texpect(appDataToAppConfig(configTemplate, appData, \"123\")).to.deep.equal({\n\t\t\tappId: \"123\",\n\t\t\tdescription: \"test\",\n\t\t\tintents: [],\n\t\t\tmanifest: {\n\t\t\t\tcomponent: {\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tspawnOnStartup: false,\n\t\t\t\t\tpreload: [],\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tToolbar: {},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\tFSBLHeader: false,\n\t\t\t\t\t\t\talwaysOnTopIcon: true,\n\t\t\t\t\t\t\tpersistWindowState: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tservices: {\n\t\t\t\t\t\twindowService: {\n\t\t\t\t\t\t\tallowAutoArrange: true,\n\t\t\t\t\t\t\tallowGrouping: true,\n\t\t\t\t\t\t\tallowMaximize: true,\n\t\t\t\t\t\t\tallowMinimize: true,\n\t\t\t\t\t\t\tallowSnapping: true,\n\t\t\t\t\t\t\tallowTabbing: true,\n\t\t\t\t\t\t\tallowTiling: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tworkspace: {\n\t\t\t\t\t\t\tpersistPath: false,\n\t\t\t\t\t\t\tpersistURL: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tautoConnect: true,\n\t\t\t\t\tselectConnect: [],\n\t\t\t\t},\n\t\t\t\twindow: {\n\t\t\t\t\taddToWorkspace: true,\n\t\t\t\t\targuments: \"\",\n\t\t\t\t\theight: \"\",\n\t\t\t\t\toptions: {\n\t\t\t\t\t\talwaysOnTop: true,\n\t\t\t\t\t\tisEvergreen: true,\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\tresizable: true,\n\t\t\t\t\t\tsecurityPolicy: \"trusted\",\n\t\t\t\t\t\twindowSpawnTimeout: 60,\n\t\t\t\t\t},\n\t\t\t\t\tpath: \"blah blah blah\",\n\t\t\t\t\twidth: \"\",\n\t\t\t\t\twindowType: \"native\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tmanifestType: \"finsemble\",\n\t\t\tname: \"test\",\n\t\t\tversion: \"1\",\n\t\t});\n\t});\n\tit(\"appType: assimilation + default position + empty icon URL\", () => {\n\t\tconst appData = {\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: true,\n\t\t\tappArguments: \"\",\n\t\t\tappType: \"application\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAOT: true,\n\t\t\tenableTitleBar: false,\n\t\t\theight: \"\",\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: true,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"test\",\n\t\t\tnative_windowSpawnTimeout: 60,\n\t\t\topacity: 1,\n\t\t\tpath: \"\",\n\t\t\tpersistURL: true,\n\t\t\tpersistPath: false,\n\t\t\tresizable: true,\n\t\t\trules: [],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: true,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: \"\",\n\t\t\twidth: \"\",\n\t\t\tpreloads: [],\n\t\t} as Types.ApplicationSaveData;\n\n\t\texpect(appDataToAppConfig(configTemplate, appData, \"123\")).to.deep.equal({\n\t\t\tappId: \"123\",\n\t\t\tdescription: \"test\",\n\t\t\tintents: [],\n\t\t\tmanifest: {\n\t\t\t\tcomponent: {\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tspawnOnStartup: false,\n\t\t\t\t\tpreload: [],\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tToolbar: {},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\tFSBLHeader: false,\n\t\t\t\t\t\t\talwaysOnTopIcon: true,\n\t\t\t\t\t\t\tpersistWindowState: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tservices: {\n\t\t\t\t\t\twindowService: {\n\t\t\t\t\t\t\tallowAutoArrange: true,\n\t\t\t\t\t\t\tallowGrouping: true,\n\t\t\t\t\t\t\tallowMaximize: true,\n\t\t\t\t\t\t\tallowMinimize: true,\n\t\t\t\t\t\t\tallowSnapping: true,\n\t\t\t\t\t\t\tallowTabbing: true,\n\t\t\t\t\t\t\tallowTiling: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tworkspace: {\n\t\t\t\t\t\t\tpersistPath: false,\n\t\t\t\t\t\t\tpersistURL: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tautoConnect: true,\n\t\t\t\t\tselectConnect: [],\n\t\t\t\t},\n\t\t\t\twindow: {\n\t\t\t\t\taddToWorkspace: true,\n\t\t\t\t\targuments: \"\",\n\t\t\t\t\theight: \"\",\n\t\t\t\t\toptions: {\n\t\t\t\t\t\talwaysOnTop: true,\n\t\t\t\t\t\tisEvergreen: true,\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\tresizable: true,\n\t\t\t\t\t\tsecurityPolicy: \"trusted\",\n\t\t\t\t\t\twindowSpawnTimeout: 60,\n\t\t\t\t\t},\n\t\t\t\t\tpath: \"\",\n\t\t\t\t\twidth: \"\",\n\t\t\t\t\twindowType: \"assimilation\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tmanifestType: \"finsemble\",\n\t\t\tname: \"test\",\n\t\t\tversion: \"1\",\n\t\t});\n\t});\n\tit(\"set abstract position\", () => {\n\t\tconst appData = {\n\t\t\tabstractPosition: 4,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: true,\n\t\t\tappArguments: \"\",\n\t\t\tappType: \"application\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAOT: true,\n\t\t\tenableTitleBar: false,\n\t\t\theight: \"\",\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: true,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"test\",\n\t\t\tnative_windowSpawnTimeout: 60,\n\t\t\topacity: 1,\n\t\t\tpath: \"\",\n\t\t\tpersistURL: true,\n\t\t\tpersistPath: false,\n\t\t\tresizable: true,\n\t\t\trules: [],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: true,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: \"\",\n\t\t\twidth: \"\",\n\t\t\tpreloads: [],\n\t\t} as Types.ApplicationSaveData;\n\n\t\texpect(appDataToAppConfig(configTemplate, appData, \"123\")).to.deep.equal({\n\t\t\tappId: \"123\",\n\t\t\tdescription: \"test\",\n\t\t\tintents: [],\n\t\t\tmanifest: {\n\t\t\t\tcomponent: {\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tspawnOnStartup: false,\n\t\t\t\t\tpreload: [],\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tToolbar: {},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\tFSBLHeader: false,\n\t\t\t\t\t\t\talwaysOnTopIcon: true,\n\t\t\t\t\t\t\tpersistWindowState: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tservices: {\n\t\t\t\t\t\twindowService: {\n\t\t\t\t\t\t\tallowAutoArrange: true,\n\t\t\t\t\t\t\tallowGrouping: true,\n\t\t\t\t\t\t\tallowMaximize: true,\n\t\t\t\t\t\t\tallowMinimize: true,\n\t\t\t\t\t\t\tallowSnapping: true,\n\t\t\t\t\t\t\tallowTabbing: true,\n\t\t\t\t\t\t\tallowTiling: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tworkspace: {\n\t\t\t\t\t\t\tpersistPath: false,\n\t\t\t\t\t\t\tpersistURL: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tautoConnect: true,\n\t\t\t\t\tselectConnect: [],\n\t\t\t\t},\n\t\t\t\twindow: {\n\t\t\t\t\taddToWorkspace: true,\n\t\t\t\t\targuments: \"\",\n\t\t\t\t\theight: \"\",\n\t\t\t\t\tleft: \"0\",\n\t\t\t\t\toptions: {\n\t\t\t\t\t\talwaysOnTop: true,\n\t\t\t\t\t\tisEvergreen: true,\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\tresizable: true,\n\t\t\t\t\t\tsecurityPolicy: \"trusted\",\n\t\t\t\t\t\twindowSpawnTimeout: 60,\n\t\t\t\t\t},\n\t\t\t\t\tpath: \"\",\n\t\t\t\t\tposition: \"monitor\",\n\t\t\t\t\ttop: \"center\",\n\t\t\t\t\twidth: \"\",\n\t\t\t\t\twindowType: \"assimilation\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tmanifestType: \"finsemble\",\n\t\t\tname: \"test\",\n\t\t\tversion: \"1\",\n\t\t});\n\t});\n\tit(\"specified iconURL\", () => {\n\t\tconst appData = {\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\tallowAutoArrange: true,\n\t\t\tallowGrouping: true,\n\t\t\tallowMaximize: true,\n\t\t\tallowMinimize: true,\n\t\t\tallowSnapping: true,\n\t\t\tallowTabbing: true,\n\t\t\tallowTiling: true,\n\t\t\talwaysOnTop: true,\n\t\t\tappArguments: \"\",\n\t\t\tappType: \"application\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAOT: true,\n\t\t\tenableTitleBar: false,\n\t\t\theight: \"\",\n\t\t\thideClose: false,\n\t\t\thideMaximize: false,\n\t\t\thideMinimize: false,\n\t\t\ticonURL: \"blah blah blah\",\n\t\t\tintents: [],\n\t\t\tisEvergreen: true,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"test\",\n\t\t\tnative_windowSpawnTimeout: 60,\n\t\t\topacity: 1,\n\t\t\tpath: \"\",\n\t\t\tpersistURL: true,\n\t\t\tpersistPath: false,\n\t\t\tresizable: true,\n\t\t\trules: [],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: true,\n\t\t\tspawnOnStartup: false,\n\t\t\turl: \"\",\n\t\t\twidth: \"\",\n\t\t\tpreloads: [],\n\t\t} as Types.ApplicationSaveData;\n\n\t\texpect(appDataToAppConfig(configTemplate, appData, \"123\")).to.deep.equal({\n\t\t\tappId: \"123\",\n\t\t\tdescription: \"test\",\n\t\t\tintents: [],\n\t\t\tmanifest: {\n\t\t\t\tcomponent: {\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tspawnOnStartup: false,\n\t\t\t\t\tpreload: [],\n\t\t\t\t},\n\t\t\t\tforeign: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t\tlaunchableByUser: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tToolbar: {\n\t\t\t\t\t\t\ticonURL: \"blah blah blah\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t\tFSBLHeader: false,\n\t\t\t\t\t\t\talwaysOnTopIcon: true,\n\t\t\t\t\t\t\tpersistWindowState: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tservices: {\n\t\t\t\t\t\twindowService: {\n\t\t\t\t\t\t\tallowAutoArrange: true,\n\t\t\t\t\t\t\tallowGrouping: true,\n\t\t\t\t\t\t\tallowMaximize: true,\n\t\t\t\t\t\t\tallowMinimize: true,\n\t\t\t\t\t\t\tallowSnapping: true,\n\t\t\t\t\t\t\tallowTabbing: true,\n\t\t\t\t\t\t\tallowTiling: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tworkspace: {\n\t\t\t\t\t\t\tpersistPath: false,\n\t\t\t\t\t\t\tpersistURL: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinterop: {\n\t\t\t\t\tautoConnect: true,\n\t\t\t\t\tselectConnect: [],\n\t\t\t\t},\n\t\t\t\twindow: {\n\t\t\t\t\taddToWorkspace: true,\n\t\t\t\t\targuments: \"\",\n\t\t\t\t\theight: \"\",\n\t\t\t\t\toptions: {\n\t\t\t\t\t\talwaysOnTop: true,\n\t\t\t\t\t\tisEvergreen: true,\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\tresizable: true,\n\t\t\t\t\t\tsecurityPolicy: \"trusted\",\n\t\t\t\t\t\twindowSpawnTimeout: 60,\n\t\t\t\t\t},\n\t\t\t\t\tpath: \"\",\n\t\t\t\t\twidth: \"\",\n\t\t\t\t\twindowType: \"assimilation\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tmanifestType: \"finsemble\",\n\t\t\tname: \"test\",\n\t\t\tversion: \"1\",\n\t\t});\n\t});\n});\n"]}
|
|
@@ -59,18 +59,18 @@ describe("<Applications/>", () => {
|
|
|
59
59
|
wrapper.update();
|
|
60
60
|
expect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length, "3 apps are listed in the table").to.be.equal(3);
|
|
61
61
|
wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).first().find(".icon-edit button").at(0).simulate("click");
|
|
62
|
-
wrapper.find("input[name='interop-trust'][value='false']").simulate("
|
|
62
|
+
wrapper.find("input[name='interop-trust'][value='false']").simulate("change");
|
|
63
63
|
expect(wrapper.find(APP_ACCESS_RULE).length, "SelectConnect access rules visible initially").to.equal(2);
|
|
64
64
|
expect(wrapper.find(APP_ACCESS_BLOCKED).length, "Inbound SelectConnect blocked").to.equal(2);
|
|
65
65
|
wrapper.find(".finsembleToggle input").first().simulate("change");
|
|
66
|
-
expect(wrapper.find(".finsembleToggle-on").length, "should be toggled on").to.equal(
|
|
66
|
+
expect(wrapper.find(".finsembleToggle-on").length, "should be toggled on").to.equal(2);
|
|
67
67
|
wrapper.find(".app-edit-actions button").last().simulate("click");
|
|
68
68
|
await waitTick();
|
|
69
69
|
wrapper.update();
|
|
70
70
|
wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).at(1).find(".icon-edit button").at(0).simulate("click");
|
|
71
71
|
await waitTick();
|
|
72
72
|
wrapper.update();
|
|
73
|
-
wrapper.find("input[name='interop-trust'][value='false']").simulate("
|
|
73
|
+
wrapper.find("input[name='interop-trust'][value='false']").simulate("change");
|
|
74
74
|
expect(wrapper.find(APP_ACCESS_RULE).length, "SelectConnect access rules visible").to.equal(2);
|
|
75
75
|
});
|
|
76
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Applications.spec.js","sourceRoot":"","sources":["../../../../src/components/smartDesktopDesigner/tests/Applications.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport { DefaultApplications, EmptyApplications } from \"../stories/Applications.stories\";\nimport { getApplicationsArgs } from \"../fixtures/apps\";\nimport { waitTick } from \"../sdd_helpers\";\nimport { accessibilityAssessor } from \"./a11y_helper\";\n\nexport const ADD_NEW_APP_BUTTON = \".icon-before-add button\",\n\tACTIVE_TAB_APP_LIST_TABLE_ROW = \".app-list-row\",\n\tAPP_LIST_EMPTY_MESSAGE = \".app-list-empty\",\n\tPAGE_HEADER = \".view-title .leftSide\",\n\tPAGE_HEADER_BUTTON = \".view-title .leftSide button\",\n\tSETUP_WIZARD_BUTTON = \".tile-type-buttons .icon-wizard button\",\n\tSETUP_MANUAL_BUTTON = \".tile-type-buttons .icon-manual button\",\n\tAPP_ACCESS_RULE = \".app-edit-access-item\",\n\tAPP_ACCESS_BLOCKED = \".app-edit-access-blocked\",\n\tQUICK_ADD_APP = \".quick-add-app\",\n\tQUICK_ADD_APP_URL = \".quick-add-app #app-url\",\n\tQUICK_ADD_APP_BUTTON = \".save-button-container button\";\n\ndescribe(\"<Applications/>\", () => {\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\tit(\"should pass accessibility scans (empty)\", async () => {\n\t\tconst wrapper = mount(<EmptyApplications {...getApplicationsArgs(\"empty\")} />);\n\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\tit(\"should contain add button app list when not empty\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(\".view-content button\").first().text()).to.contain(\"Add\");\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length).to.be.greaterThan(0);\n\t\texpect(wrapper.find(APP_LIST_EMPTY_MESSAGE).length).to.equal(0);\n\t});\n\tit(\"should contain add button and empty message when empty\", async () => {\n\t\tconst wrapper = mount(<EmptyApplications {...getApplicationsArgs(\"empty\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(\".view-content button\").first().text()).to.contain(\"Add\");\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length).to.be.equal(0);\n\t\texpect(wrapper.find(APP_LIST_EMPTY_MESSAGE).first().text()).to.contain(\"nothing here\");\n\t});\n\tit(\"should be able to edit a web app\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length, \"App list contains items\").to.be.greaterThan(0);\n\n\t\tconst app = wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).first();\n\n\t\tconst appName = app.find(\".app-name\").text();\n\n\t\tconst newName = `${appName} modified`;\n\t\tapp.find(\".icon-edit button\").at(0).simulate(\"click\");\n\n\t\tconst input = wrapper.find(\"input#app-name\");\n\n\t\tinput.simulate(\"focus\");\n\t\tinput.simulate(\"change\", { target: { value: newName } });\n\n\t\twrapper.find(\".app-edit-actions .button-container-secondary button\").simulate(\"click\");\n\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\texpect(\n\t\t\twrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).someWhere((node) => node.find(\".app-name\").text() === newName),\n\t\t\t\"App list contains newly renamed name\"\n\t\t).to.be.true;\n\t});\n\tit(\"should be able to grant selectConnect access between two apps\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length, \"3 apps are listed in the table\").to.be.equal(3);\n\n\t\twrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).first().find(\".icon-edit button\").at(0).simulate(\"click\");\n\n\t\twrapper.find(\"input[name='interop-trust'][value='false']\").simulate(\"click\");\n\n\t\texpect(wrapper.find(APP_ACCESS_RULE).length, \"SelectConnect access rules visible initially\").to.equal(2);\n\n\t\texpect(wrapper.find(APP_ACCESS_BLOCKED).length, \"Inbound SelectConnect blocked\").to.equal(2);\n\n\t\twrapper.find(\".finsembleToggle input\").first().simulate(\"change\");\n\n\t\texpect(wrapper.find(\".finsembleToggle-on\").length, \"should be toggled on\").to.equal(1);\n\n\t\twrapper.find(\".app-edit-actions button\").last().simulate(\"click\");\n\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\twrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).at(1).find(\".icon-edit button\").at(0).simulate(\"click\");\n\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\twrapper.find(\"input[name='interop-trust'][value='false']\").simulate(\"click\");\n\t\texpect(wrapper.find(APP_ACCESS_RULE).length, \"SelectConnect access rules visible\").to.equal(2);\n\t});\n});\n\ndescribe(\"<Applications/> - Quick Add\", () => {\n\tit(\"should be able to quick add a web app\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Everything starts the way I expect\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length, \"Start out with 3 items in the list\").to.equal(3);\n\t\texpect(wrapper.find(QUICK_ADD_APP).is(\".collapsed\"), \"Quick Add doesn't display\").to.be.true;\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// expect quick add to display\n\t\texpect(wrapper.find(QUICK_ADD_APP).is(\".collapsed\"), \"Quick Add displays\").to.be.false;\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.facebook.com\",\n\t\t\t},\n\t\t});\n\n\t\t// click the Add button\n\t\twrapper.find(QUICK_ADD_APP_BUTTON).simulate(\"click\");\n\n\t\t// wait tick\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// expect updates\n\t\texpect(wrapper.find(QUICK_ADD_APP).is(\".collapsed\"), \"Quick Add doesn't display\").to.be.true;\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length, \"App list shows 4 items\").to.equal(4);\n\t\texpect(\n\t\t\twrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).filterWhere((node: any) => node.text().includes(\"Facebook\")).length,\n\t\t\t\"App list includes 'Facebook'\"\n\t\t);\n\t});\n\n\tit(\"if you add a URL, the App name should pre-fill with a generated name\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.google.com\",\n\t\t\t},\n\t\t});\n\n\t\texpect(wrapper.find(\"#app-name\").prop(\"value\"), \"Pre-filled generated name\").to.equal(\"Google\");\n\t\texpect(wrapper.find(QUICK_ADD_APP_BUTTON).prop(\"disabled\"), \"Save button should be enabled\").to.be.false;\n\t});\n\n\tit(\"if you add a URL without an auto-name, the App name should be empty\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.cnn.com\",\n\t\t\t},\n\t\t});\n\n\t\texpect(wrapper.find(\"#app-name\").prop(\"value\"), \"Pre-filled generated name\").to.equal(\"\");\n\t\texpect(wrapper.find(QUICK_ADD_APP_BUTTON).prop(\"disabled\"), \"Save button should be disabled\").to.be.true;\n\t});\n\n\tit(\"if you add a URL, the path field should be disabled\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.cnn.com\",\n\t\t\t},\n\t\t});\n\n\t\texpect(wrapper.find(\".file-input-container button\").prop(\"disabled\"), \"File input disabled\").to.be.true;\n\t});\n\n\tit(\"if you add a URL and then save it, the URL should be cleared on re-open\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.cnn.com\",\n\t\t\t},\n\t\t});\n\n\t\t// click the Add button\n\t\twrapper.find(QUICK_ADD_APP_BUTTON).simulate(\"click\");\n\n\t\t// wait tick\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(QUICK_ADD_APP_URL).prop(\"value\")).to.be.empty;\n\t});\n\tit(\"if you add a URL and then close quick add, the URL should be cleared on re-open\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.cnn.com\",\n\t\t\t},\n\t\t});\n\n\t\t// click the Close button\n\t\twrapper.find(\"button[title='Close']\").simulate(\"click\");\n\n\t\t// wait tick\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(QUICK_ADD_APP_URL).prop(\"value\")).to.be.empty;\n\t});\n});\n"]}
|
|
1
|
+
{"version":3,"file":"Applications.spec.js","sourceRoot":"","sources":["../../../../src/components/smartDesktopDesigner/tests/Applications.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,EAC1D,6BAA6B,GAAG,eAAe,EAC/C,sBAAsB,GAAG,iBAAiB,EAC1C,WAAW,GAAG,uBAAuB,EACrC,kBAAkB,GAAG,8BAA8B,EACnD,mBAAmB,GAAG,wCAAwC,EAC9D,mBAAmB,GAAG,wCAAwC,EAC9D,eAAe,GAAG,uBAAuB,EACzC,kBAAkB,GAAG,0BAA0B,EAC/C,aAAa,GAAG,gBAAgB,EAChC,iBAAiB,GAAG,yBAAyB,EAC7C,oBAAoB,GAAG,+BAA+B,CAAC;AAExD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,mBAAmB,oBAAK,mBAAmB,CAAC,SAAS,CAAC,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,iBAAiB,oBAAK,mBAAmB,CAAC,OAAO,CAAC,EAAI,CAAC,CAAC;QAE/E,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,mBAAmB,oBAAK,mBAAmB,CAAC,SAAS,CAAC,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,EAAE,CAAC;QAGjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,iBAAiB,oBAAK,mBAAmB,CAAC,OAAO,CAAC,EAAI,CAAC,CAAC;QAE/E,MAAM,QAAQ,EAAE,CAAC;QAGjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,mBAAmB,oBAAK,mBAAmB,CAAC,SAAS,CAAC,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,EAAE,CAAC;QAGjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAE3G,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC;QAEhE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7C,MAAM,OAAO,GAAG,GAAG,OAAO,WAAW,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEtD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE7C,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxB,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAEzD,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEvF,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CACL,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,EAC1G,sCAAsC,CACtC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,mBAAmB,oBAAK,mBAAmB,CAAC,SAAS,CAAC,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,EAAE,CAAC;QAGjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5G,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEtG,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE9E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,8CAA8C,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7F,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAElE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEvF,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAElE,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEpG,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,mBAAmB,oBAAK,mBAAmB,CAAC,SAAS,CAAC,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,EAAE,CAAC;QAGjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7G,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,2BAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAG7F,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAGvF,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClD,MAAM,EAAE;gBACP,KAAK,EAAE,yBAAyB;aAChC;SACD,CAAC,CAAC;QAGH,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAGrD,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,2BAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC7F,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjG,MAAM,CACL,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,WAAW,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAC/G,8BAA8B,CAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,mBAAmB,oBAAK,mBAAmB,CAAC,SAAS,CAAC,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,EAAE,CAAC;QAGjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClD,MAAM,EAAE;gBACP,KAAK,EAAE,uBAAuB;aAC9B;SACD,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,+BAA+B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC1G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,mBAAmB,oBAAK,mBAAmB,CAAC,SAAS,CAAC,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,EAAE,CAAC;QAGjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClD,MAAM,EAAE;gBACP,KAAK,EAAE,oBAAoB;aAC3B;SACD,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,gCAAgC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC1G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,mBAAmB,oBAAK,mBAAmB,CAAC,SAAS,CAAC,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,EAAE,CAAC;QAGjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClD,MAAM,EAAE;gBACP,KAAK,EAAE,oBAAoB;aAC3B;SACD,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,mBAAmB,oBAAK,mBAAmB,CAAC,SAAS,CAAC,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,EAAE,CAAC;QAGjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClD,MAAM,EAAE;gBACP,KAAK,EAAE,oBAAoB;aAC3B;SACD,CAAC,CAAC;QAGH,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAGrD,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,mBAAmB,oBAAK,mBAAmB,CAAC,SAAS,CAAC,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,EAAE,CAAC;QAGjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClD,MAAM,EAAE;gBACP,KAAK,EAAE,oBAAoB;aAC3B;SACD,CAAC,CAAC;QAGH,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAGxD,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAGjB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACnE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport { DefaultApplications, EmptyApplications } from \"../stories/Applications.stories\";\nimport { getApplicationsArgs } from \"../fixtures/apps\";\nimport { waitTick } from \"../sdd_helpers\";\nimport { accessibilityAssessor } from \"./a11y_helper\";\n\nexport const ADD_NEW_APP_BUTTON = \".icon-before-add button\",\n\tACTIVE_TAB_APP_LIST_TABLE_ROW = \".app-list-row\",\n\tAPP_LIST_EMPTY_MESSAGE = \".app-list-empty\",\n\tPAGE_HEADER = \".view-title .leftSide\",\n\tPAGE_HEADER_BUTTON = \".view-title .leftSide button\",\n\tSETUP_WIZARD_BUTTON = \".tile-type-buttons .icon-wizard button\",\n\tSETUP_MANUAL_BUTTON = \".tile-type-buttons .icon-manual button\",\n\tAPP_ACCESS_RULE = \".app-edit-access-item\",\n\tAPP_ACCESS_BLOCKED = \".app-edit-access-blocked\",\n\tQUICK_ADD_APP = \".quick-add-app\",\n\tQUICK_ADD_APP_URL = \".quick-add-app #app-url\",\n\tQUICK_ADD_APP_BUTTON = \".save-button-container button\";\n\ndescribe(\"<Applications/>\", () => {\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\tit(\"should pass accessibility scans (empty)\", async () => {\n\t\tconst wrapper = mount(<EmptyApplications {...getApplicationsArgs(\"empty\")} />);\n\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\tit(\"should contain add button app list when not empty\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(\".view-content button\").first().text()).to.contain(\"Add\");\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length).to.be.greaterThan(0);\n\t\texpect(wrapper.find(APP_LIST_EMPTY_MESSAGE).length).to.equal(0);\n\t});\n\tit(\"should contain add button and empty message when empty\", async () => {\n\t\tconst wrapper = mount(<EmptyApplications {...getApplicationsArgs(\"empty\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(\".view-content button\").first().text()).to.contain(\"Add\");\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length).to.be.equal(0);\n\t\texpect(wrapper.find(APP_LIST_EMPTY_MESSAGE).first().text()).to.contain(\"nothing here\");\n\t});\n\tit(\"should be able to edit a web app\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length, \"App list contains items\").to.be.greaterThan(0);\n\n\t\tconst app = wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).first();\n\n\t\tconst appName = app.find(\".app-name\").text();\n\n\t\tconst newName = `${appName} modified`;\n\t\tapp.find(\".icon-edit button\").at(0).simulate(\"click\");\n\n\t\tconst input = wrapper.find(\"input#app-name\");\n\n\t\tinput.simulate(\"focus\");\n\t\tinput.simulate(\"change\", { target: { value: newName } });\n\n\t\twrapper.find(\".app-edit-actions .button-container-secondary button\").simulate(\"click\");\n\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\texpect(\n\t\t\twrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).someWhere((node) => node.find(\".app-name\").text() === newName),\n\t\t\t\"App list contains newly renamed name\"\n\t\t).to.be.true;\n\t});\n\tit(\"should be able to grant selectConnect access between two apps\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length, \"3 apps are listed in the table\").to.be.equal(3);\n\n\t\twrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).first().find(\".icon-edit button\").at(0).simulate(\"click\");\n\n\t\twrapper.find(\"input[name='interop-trust'][value='false']\").simulate(\"change\");\n\n\t\texpect(wrapper.find(APP_ACCESS_RULE).length, \"SelectConnect access rules visible initially\").to.equal(2);\n\n\t\texpect(wrapper.find(APP_ACCESS_BLOCKED).length, \"Inbound SelectConnect blocked\").to.equal(2);\n\n\t\twrapper.find(\".finsembleToggle input\").first().simulate(\"change\");\n\n\t\texpect(wrapper.find(\".finsembleToggle-on\").length, \"should be toggled on\").to.equal(2);\n\n\t\twrapper.find(\".app-edit-actions button\").last().simulate(\"click\");\n\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\twrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).at(1).find(\".icon-edit button\").at(0).simulate(\"click\");\n\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\twrapper.find(\"input[name='interop-trust'][value='false']\").simulate(\"change\");\n\t\texpect(wrapper.find(APP_ACCESS_RULE).length, \"SelectConnect access rules visible\").to.equal(2);\n\t});\n});\n\ndescribe(\"<Applications/> - Quick Add\", () => {\n\tit(\"should be able to quick add a web app\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Everything starts the way I expect\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length, \"Start out with 3 items in the list\").to.equal(3);\n\t\texpect(wrapper.find(QUICK_ADD_APP).is(\".collapsed\"), \"Quick Add doesn't display\").to.be.true;\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// expect quick add to display\n\t\texpect(wrapper.find(QUICK_ADD_APP).is(\".collapsed\"), \"Quick Add displays\").to.be.false;\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.facebook.com\",\n\t\t\t},\n\t\t});\n\n\t\t// click the Add button\n\t\twrapper.find(QUICK_ADD_APP_BUTTON).simulate(\"click\");\n\n\t\t// wait tick\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// expect updates\n\t\texpect(wrapper.find(QUICK_ADD_APP).is(\".collapsed\"), \"Quick Add doesn't display\").to.be.true;\n\t\texpect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length, \"App list shows 4 items\").to.equal(4);\n\t\texpect(\n\t\t\twrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).filterWhere((node: any) => node.text().includes(\"Facebook\")).length,\n\t\t\t\"App list includes 'Facebook'\"\n\t\t);\n\t});\n\n\tit(\"if you add a URL, the App name should pre-fill with a generated name\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.google.com\",\n\t\t\t},\n\t\t});\n\n\t\texpect(wrapper.find(\"#app-name\").prop(\"value\"), \"Pre-filled generated name\").to.equal(\"Google\");\n\t\texpect(wrapper.find(QUICK_ADD_APP_BUTTON).prop(\"disabled\"), \"Save button should be enabled\").to.be.false;\n\t});\n\n\tit(\"if you add a URL without an auto-name, the App name should be empty\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.cnn.com\",\n\t\t\t},\n\t\t});\n\n\t\texpect(wrapper.find(\"#app-name\").prop(\"value\"), \"Pre-filled generated name\").to.equal(\"\");\n\t\texpect(wrapper.find(QUICK_ADD_APP_BUTTON).prop(\"disabled\"), \"Save button should be disabled\").to.be.true;\n\t});\n\n\tit(\"if you add a URL, the path field should be disabled\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.cnn.com\",\n\t\t\t},\n\t\t});\n\n\t\texpect(wrapper.find(\".file-input-container button\").prop(\"disabled\"), \"File input disabled\").to.be.true;\n\t});\n\n\tit(\"if you add a URL and then save it, the URL should be cleared on re-open\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.cnn.com\",\n\t\t\t},\n\t\t});\n\n\t\t// click the Add button\n\t\twrapper.find(QUICK_ADD_APP_BUTTON).simulate(\"click\");\n\n\t\t// wait tick\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(QUICK_ADD_APP_URL).prop(\"value\")).to.be.empty;\n\t});\n\tit(\"if you add a URL and then close quick add, the URL should be cleared on re-open\", async () => {\n\t\tconst wrapper = mount(<DefaultApplications {...getApplicationsArgs(\"default\")} />);\n\n\t\tawait waitTick();\n\t\t// wait for async effects to finish\n\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// in the URL input, add \"http://www.facebook.com\"\n\t\twrapper.find(QUICK_ADD_APP_URL).simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.cnn.com\",\n\t\t\t},\n\t\t});\n\n\t\t// click the Close button\n\t\twrapper.find(\"button[title='Close']\").simulate(\"click\");\n\n\t\t// wait tick\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\t// Click the \"Add App\" button\n\t\twrapper.find(ADD_NEW_APP_BUTTON).simulate(\"click\");\n\t\tawait waitTick();\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(QUICK_ADD_APP_URL).prop(\"value\")).to.be.empty;\n\t});\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { mount } from "enzyme";
|
|
3
|
+
import { describe, it, afterEach } from "mocha";
|
|
4
|
+
import { expect } from "chai";
|
|
5
|
+
import { AddNewPreload } from "../stories/EditPreload.stories";
|
|
6
|
+
import { accessibilityAssessor } from "./a11y_helper";
|
|
7
|
+
import sinon from "sinon";
|
|
8
|
+
import addons, { mockChannel } from "@storybook/addons";
|
|
9
|
+
addons.setChannel(mockChannel());
|
|
10
|
+
describe("<EditPreload/>", () => {
|
|
11
|
+
afterEach(() => {
|
|
12
|
+
sinon.restore();
|
|
13
|
+
});
|
|
14
|
+
it("should have initial state", () => {
|
|
15
|
+
const wrapper = mount(React.createElement(AddNewPreload, Object.assign({}, AddNewPreload.args)));
|
|
16
|
+
expect(wrapper.find("h2").exists(), "The heading exists").to.be.true;
|
|
17
|
+
expect(wrapper.find("h2").text(), "The heading text").to.equal("Untitled preload");
|
|
18
|
+
const buttons = wrapper.find(".preload-edit-actions button");
|
|
19
|
+
expect(buttons, "No remove button").to.have.lengthOf(2);
|
|
20
|
+
expect(buttons.last().text(), "Has save button").to.equal("Save");
|
|
21
|
+
expect(buttons.last().prop("disabled"), "Save button is disabled").to.be.true;
|
|
22
|
+
expect(wrapper.find({ value: "selection" }).prop("checked"), "Selected apps is selected").to.be.true;
|
|
23
|
+
expect(wrapper.find(".emperorOption input[checked]"), "No checked apps").to.have.lengthOf(0);
|
|
24
|
+
});
|
|
25
|
+
it('should hide and show app list based on "Load for" value ', async () => {
|
|
26
|
+
const wrapper = mount(React.createElement(AddNewPreload, Object.assign({}, AddNewPreload.args)));
|
|
27
|
+
expect(wrapper.find(".emperorSelectContainer").exists(), "App select should be shown").to.be.true;
|
|
28
|
+
wrapper
|
|
29
|
+
.find("input[name='preload-usage']")
|
|
30
|
+
.first()
|
|
31
|
+
.simulate("change", {
|
|
32
|
+
target: {
|
|
33
|
+
checked: true,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
expect(wrapper.find(".emperorSelectContainer").exists(), "App select should not be shown").to.be.false;
|
|
37
|
+
});
|
|
38
|
+
it("should change the alias", async () => {
|
|
39
|
+
const wrapper = mount(React.createElement(AddNewPreload, Object.assign({}, AddNewPreload.args)));
|
|
40
|
+
expect(wrapper.find("h2").text(), "The heading text").to.equal("Untitled preload");
|
|
41
|
+
expect(wrapper.find(".preload-edit-actions button").last().prop("disabled"), "Save button is disabled").to.be.true;
|
|
42
|
+
wrapper.find("#preload-alias").simulate("change", {
|
|
43
|
+
target: {
|
|
44
|
+
value: "test-alias",
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
expect(wrapper.find("h2").text(), "The heading text").to.equal("test-alias");
|
|
48
|
+
wrapper.find("#preload-url").simulate("change", {
|
|
49
|
+
target: {
|
|
50
|
+
value: "http://www.example.com/preload.js",
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
expect(wrapper.find(".preload-edit-actions button").last().prop("disabled"), "Save button no longer disabled").to.be
|
|
54
|
+
.false;
|
|
55
|
+
});
|
|
56
|
+
it("should pass accessibility scans", async () => {
|
|
57
|
+
const wrapper = mount(React.createElement(AddNewPreload, Object.assign({}, AddNewPreload.args)));
|
|
58
|
+
expect(await accessibilityAssessor(wrapper)).to.be.true;
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=EditPreload.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditPreload.spec.js","sourceRoot":"","sources":["../../../../src/components/smartDesktopDesigner/tests/EditPreload.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it, afterEach } from \"mocha\";\nimport { expect } from \"chai\";\nimport { EditPreloadProps } from \"../EditPreload\";\nimport { AddNewPreload, EditExistingPreload } from \"../stories/EditPreload.stories\";\n\n// For running accessibility scans\nimport { accessibilityAssessor } from \"./a11y_helper\";\n\n// For testing user interactions (like click events):\nimport sinon from \"sinon\";\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\nimport { waitTick, waitTime } from \"../sdd_helpers\";\naddons.setChannel(mockChannel());\n\ndescribe(\"<EditPreload/>\", () => {\n\t// Used to clear after each interactive test using sinon\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should have initial state\", () => {\n\t\tconst wrapper = mount(<AddNewPreload {...(AddNewPreload.args as EditPreloadProps)} />);\n\t\texpect(wrapper.find(\"h2\").exists(), \"The heading exists\").to.be.true;\n\t\texpect(wrapper.find(\"h2\").text(), \"The heading text\").to.equal(\"Untitled preload\");\n\t\tconst buttons = wrapper.find(\".preload-edit-actions button\");\n\t\texpect(buttons, \"No remove button\").to.have.lengthOf(2);\n\t\texpect(buttons.last().text(), \"Has save button\").to.equal(\"Save\");\n\t\texpect(buttons.last().prop(\"disabled\"), \"Save button is disabled\").to.be.true;\n\t\texpect(wrapper.find({ value: \"selection\" }).prop(\"checked\"), \"Selected apps is selected\").to.be.true;\n\t\texpect(wrapper.find(\".emperorOption input[checked]\"), \"No checked apps\").to.have.lengthOf(0);\n\t});\n\n\tit('should hide and show app list based on \"Load for\" value ', async () => {\n\t\tconst wrapper = mount(<AddNewPreload {...(AddNewPreload.args as EditPreloadProps)} />);\n\t\texpect(wrapper.find(\".emperorSelectContainer\").exists(), \"App select should be shown\").to.be.true;\n\n\t\twrapper\n\t\t\t.find(\"input[name='preload-usage']\")\n\t\t\t.first()\n\t\t\t.simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tchecked: true,\n\t\t\t\t},\n\t\t\t});\n\t\texpect(wrapper.find(\".emperorSelectContainer\").exists(), \"App select should not be shown\").to.be.false;\n\t});\n\n\tit(\"should change the alias\", async () => {\n\t\tconst wrapper = mount(<AddNewPreload {...(AddNewPreload.args as EditPreloadProps)} />);\n\n\t\texpect(wrapper.find(\"h2\").text(), \"The heading text\").to.equal(\"Untitled preload\");\n\t\texpect(wrapper.find(\".preload-edit-actions button\").last().prop(\"disabled\"), \"Save button is disabled\").to.be.true;\n\t\twrapper.find(\"#preload-alias\").simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"test-alias\",\n\t\t\t},\n\t\t});\n\n\t\texpect(wrapper.find(\"h2\").text(), \"The heading text\").to.equal(\"test-alias\");\n\n\t\twrapper.find(\"#preload-url\").simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: \"http://www.example.com/preload.js\",\n\t\t\t},\n\t\t});\n\n\t\texpect(wrapper.find(\".preload-edit-actions button\").last().prop(\"disabled\"), \"Save button no longer disabled\").to.be\n\t\t\t.false;\n\t});\n\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<AddNewPreload {...(AddNewPreload.args as EditPreloadProps)} />);\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/react/components/smartDesktopDesigner/tests/{ApplicationList.spec.js → ItemList.spec.js}
RENAMED
|
@@ -3,11 +3,11 @@ import { mount } from "enzyme";
|
|
|
3
3
|
import { afterEach, describe, it } from "mocha";
|
|
4
4
|
import { expect } from "chai";
|
|
5
5
|
import sinon from "sinon";
|
|
6
|
-
import { EmptyAppList, OneAppInList, AppWithoutDisplayName, SampleAppList } from "../stories/
|
|
6
|
+
import { EmptyAppList, OneAppInList, AppWithoutDisplayName, SampleAppList } from "../stories/ItemList.stories";
|
|
7
7
|
import { accessibilityAssessor } from "./a11y_helper";
|
|
8
8
|
import addons, { mockChannel } from "@storybook/addons";
|
|
9
9
|
addons.setChannel(mockChannel());
|
|
10
|
-
describe("<
|
|
10
|
+
describe("<ItemList/>", () => {
|
|
11
11
|
afterEach(() => {
|
|
12
12
|
sinon.restore();
|
|
13
13
|
});
|
|
@@ -37,7 +37,7 @@ describe("<ApplicationList/>", () => {
|
|
|
37
37
|
expect(wrapper.find(".app-list-row")).to.have.lengthOf(3);
|
|
38
38
|
});
|
|
39
39
|
it("should delete an app when the delete button is clicked", () => {
|
|
40
|
-
const buttonSpy = sinon.spy(SampleAppList.args, "
|
|
40
|
+
const buttonSpy = sinon.spy(SampleAppList.args, "deleteItem");
|
|
41
41
|
const wrapper = mount(React.createElement(SampleAppList, Object.assign({}, SampleAppList.args)));
|
|
42
42
|
wrapper
|
|
43
43
|
.find(".app-list-row button")
|
|
@@ -46,7 +46,7 @@ describe("<ApplicationList/>", () => {
|
|
|
46
46
|
expect(buttonSpy.calledOnce).to.be.true;
|
|
47
47
|
});
|
|
48
48
|
it("should perform the launch action when the app name is clicked", () => {
|
|
49
|
-
const buttonSpy = sinon.spy(SampleAppList.args, "
|
|
49
|
+
const buttonSpy = sinon.spy(SampleAppList.args, "clickItem");
|
|
50
50
|
const wrapper = mount(React.createElement(SampleAppList, Object.assign({}, SampleAppList.args)));
|
|
51
51
|
wrapper
|
|
52
52
|
.find(".app-list-row")
|
|
@@ -55,7 +55,7 @@ describe("<ApplicationList/>", () => {
|
|
|
55
55
|
expect(buttonSpy.calledOnce).to.be.true;
|
|
56
56
|
});
|
|
57
57
|
it("should perform the launch action when the app name is in focus and the Enter key is pressed", () => {
|
|
58
|
-
const buttonSpy = sinon.spy(SampleAppList.args, "
|
|
58
|
+
const buttonSpy = sinon.spy(SampleAppList.args, "clickItem");
|
|
59
59
|
const wrapper = mount(React.createElement(SampleAppList, Object.assign({}, SampleAppList.args)));
|
|
60
60
|
wrapper
|
|
61
61
|
.find(".app-list-row")
|
|
@@ -67,7 +67,7 @@ describe("<ApplicationList/>", () => {
|
|
|
67
67
|
expect(buttonSpy.calledOnce).to.be.true;
|
|
68
68
|
});
|
|
69
69
|
it("should perform the launch action when the app name is in focus and the spacebar is pressed", () => {
|
|
70
|
-
const buttonSpy = sinon.spy(SampleAppList.args, "
|
|
70
|
+
const buttonSpy = sinon.spy(SampleAppList.args, "clickItem");
|
|
71
71
|
const wrapper = mount(React.createElement(SampleAppList, Object.assign({}, SampleAppList.args)));
|
|
72
72
|
wrapper
|
|
73
73
|
.find(".app-list-row")
|
|
@@ -79,7 +79,7 @@ describe("<ApplicationList/>", () => {
|
|
|
79
79
|
expect(buttonSpy.calledOnce).to.be.true;
|
|
80
80
|
});
|
|
81
81
|
it("should delete an app when the app name is in focus and the delete key is pressed", () => {
|
|
82
|
-
const buttonSpy = sinon.spy(SampleAppList.args, "
|
|
82
|
+
const buttonSpy = sinon.spy(SampleAppList.args, "deleteItem");
|
|
83
83
|
const wrapper = mount(React.createElement(SampleAppList, Object.assign({}, SampleAppList.args)));
|
|
84
84
|
wrapper
|
|
85
85
|
.find(".app-list-row")
|
|
@@ -91,4 +91,4 @@ describe("<ApplicationList/>", () => {
|
|
|
91
91
|
expect(buttonSpy.calledOnce).to.be.true;
|
|
92
92
|
});
|
|
93
93
|
});
|
|
94
|
-
//# sourceMappingURL=
|
|
94
|
+
//# sourceMappingURL=ItemList.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemList.spec.js","sourceRoot":"","sources":["../../../../src/components/smartDesktopDesigner/tests/ItemList.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { afterEach, describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { ItemListProps } from \"../ItemList\";\nimport { EmptyAppList, OneAppInList, AppWithoutDisplayName, SampleAppList } from \"../stories/ItemList.stories\";\nimport { accessibilityAssessor } from \"./a11y_helper\";\n\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\naddons.setChannel(mockChannel());\n\ndescribe(\"<ItemList/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should pass accessibility scans (when empty)\", async () => {\n\t\tconst wrapper = mount(<EmptyAppList {...(EmptyAppList.args as ItemListProps)} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\tit(\"should pass accessibility scans (Sample)\", async () => {\n\t\tconst wrapper = mount(<SampleAppList {...(SampleAppList.args as ItemListProps)} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\tit(\"should show a zero state message when there are no apps to display\", () => {\n\t\tconst wrapper = mount(<EmptyAppList {...(EmptyAppList.args as ItemListProps)} />);\n\n\t\texpect(wrapper.find(\".app-list-empty\").first().text()).to.contain(\"There’s nothing here\");\n\t});\n\n\tit(\"should show an app title and a delete icon when 1 app is provided\", () => {\n\t\tconst wrapper = mount(<OneAppInList {...(OneAppInList.args as ItemListProps)} />);\n\n\t\texpect(wrapper.find(\".app-list-row .app-name\").exists()).to.be.true;\n\t\texpect(wrapper.find(\".app-list-row .icon-delete\").exists()).to.be.true;\n\t});\n\n\tit(\"should show an appId if no displayname is provided\", () => {\n\t\tconst wrapper = mount(<AppWithoutDisplayName {...(AppWithoutDisplayName.args as ItemListProps)} />);\n\t\texpect(wrapper.find(\".app-list-row .app-name\").text()).to.equal(\"NoDisplayName\");\n\t});\n\tit(\"should show 3 apps when 3 apps are provided\", () => {\n\t\tconst wrapper = mount(<SampleAppList {...(SampleAppList.args as ItemListProps)} />);\n\t\texpect(wrapper.find(\".app-list-row\")).to.have.lengthOf(3);\n\t});\n\tit(\"should delete an app when the delete button is clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(SampleAppList.args as ItemListProps, \"deleteItem\");\n\t\tconst wrapper = mount(<SampleAppList {...(SampleAppList.args as ItemListProps)} />);\n\t\twrapper\n\t\t\t.find(\".app-list-row button\")\n\t\t\t.at(0)\n\t\t\t.simulate(\"click\", { stopPropagation: () => {} });\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should perform the launch action when the app name is clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(SampleAppList.args as ItemListProps, \"clickItem\");\n\t\tconst wrapper = mount(<SampleAppList {...(SampleAppList.args as ItemListProps)} />);\n\t\twrapper\n\t\t\t.find(\".app-list-row\")\n\t\t\t.at(0)\n\t\t\t.simulate(\"click\", { preventDefault: () => {} });\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should perform the launch action when the app name is in focus and the Enter key is pressed\", () => {\n\t\tconst buttonSpy = sinon.spy(SampleAppList.args as ItemListProps, \"clickItem\");\n\t\tconst wrapper = mount(<SampleAppList {...(SampleAppList.args as ItemListProps)} />);\n\t\twrapper\n\t\t\t.find(\".app-list-row\")\n\t\t\t.at(0)\n\t\t\t.simulate(\"keyDown\", {\n\t\t\t\tkey: \"Enter\",\n\t\t\t\tpreventDefault: () => {},\n\t\t\t});\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should perform the launch action when the app name is in focus and the spacebar is pressed\", () => {\n\t\tconst buttonSpy = sinon.spy(SampleAppList.args as ItemListProps, \"clickItem\");\n\t\tconst wrapper = mount(<SampleAppList {...(SampleAppList.args as ItemListProps)} />);\n\t\twrapper\n\t\t\t.find(\".app-list-row\")\n\t\t\t.at(0)\n\t\t\t.simulate(\"keyDown\", {\n\t\t\t\tkey: \" \",\n\t\t\t\tpreventDefault: () => {},\n\t\t\t});\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should delete an app when the app name is in focus and the delete key is pressed\", () => {\n\t\tconst buttonSpy = sinon.spy(SampleAppList.args as ItemListProps, \"deleteItem\");\n\t\tconst wrapper = mount(<SampleAppList {...(SampleAppList.args as ItemListProps)} />);\n\t\twrapper\n\t\t\t.find(\".app-list-row\")\n\t\t\t.at(0)\n\t\t\t.simulate(\"keyDown\", {\n\t\t\t\tkey: \"Delete\",\n\t\t\t\tstopPropagation: () => {},\n\t\t\t});\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\t// it(\"should not perform the launch action when the delete name is clicked\", () => {\n\t// \tconst wrapper = mount(<SampleAppList {...(SampleAppList.args as ApplicationListProps)} />);\n\t// });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { mount } from "enzyme";
|
|
3
|
+
import { describe, it, afterEach } from "mocha";
|
|
4
|
+
import { expect } from "chai";
|
|
5
|
+
import { EmptyList, PopulatedList } from "../stories/Preloads.stories";
|
|
6
|
+
import { accessibilityAssessor } from "./a11y_helper";
|
|
7
|
+
import sinon from "sinon";
|
|
8
|
+
import addons, { mockChannel } from "@storybook/addons";
|
|
9
|
+
addons.setChannel(mockChannel());
|
|
10
|
+
describe("<Preloads/>", () => {
|
|
11
|
+
afterEach(() => {
|
|
12
|
+
sinon.restore();
|
|
13
|
+
});
|
|
14
|
+
it("should be empty", () => {
|
|
15
|
+
const wrapper = mount(React.createElement(EmptyList, Object.assign({}, EmptyList.args)));
|
|
16
|
+
expect(wrapper.find("button").exists(), "The button exists").to.be.true;
|
|
17
|
+
expect(wrapper.find("button").text(), "The button's text").to.equal("Add");
|
|
18
|
+
expect(wrapper.find(".app-list-empty").exists(), "Empty message exists").to.be.true;
|
|
19
|
+
expect(wrapper.find(".app-list-empty").text(), "Empty message text").to.contain("to add preloads");
|
|
20
|
+
expect(wrapper.find(".app-list-empty.no-dropzone").exists(), "Empty message has no dropzone styling").to.be.true;
|
|
21
|
+
});
|
|
22
|
+
it("should call correct functions", () => {
|
|
23
|
+
var _a;
|
|
24
|
+
const props = {
|
|
25
|
+
deletePreload: sinon.spy(),
|
|
26
|
+
setEditView: sinon.spy(),
|
|
27
|
+
preloads: (_a = PopulatedList.args) === null || _a === void 0 ? void 0 : _a.preloads,
|
|
28
|
+
};
|
|
29
|
+
const wrapper = mount(React.createElement(PopulatedList, Object.assign({}, props)));
|
|
30
|
+
expect(wrapper.find(".app-list-empty").exists(), "Empty message should not exist").to.be.false;
|
|
31
|
+
expect(props.setEditView.called, "Add button not clicked yet").to.be.false;
|
|
32
|
+
expect(props.deletePreload.called, "Delete button not clicked yet").to.be.false;
|
|
33
|
+
expect(props.setEditView.called, "Preload not clicked yet").to.be.false;
|
|
34
|
+
const buttons = wrapper.find("button");
|
|
35
|
+
buttons.at(0).simulate("click");
|
|
36
|
+
expect(props.setEditView.called, "Button was clicked").to.be.true;
|
|
37
|
+
buttons.at(1).simulate("click");
|
|
38
|
+
expect(props.deletePreload.calledWith("native-overrides"), "Correct param passed in to delete").to.be.true;
|
|
39
|
+
wrapper.find(".app-list-row").at(0).simulate("click");
|
|
40
|
+
expect(props.setEditView.calledWith("native-overrides"), "Correct param passed in to delete").to.be.true;
|
|
41
|
+
});
|
|
42
|
+
it("should pass accessibility scans", async () => {
|
|
43
|
+
const wrapper = mount(React.createElement(EmptyList, Object.assign({}, EmptyList.args)));
|
|
44
|
+
expect(await accessibilityAssessor(wrapper)).to.be.true;
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=Preloads.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Preloads.spec.js","sourceRoot":"","sources":["../../../../src/components/smartDesktopDesigner/tests/Preloads.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it, afterEach } from \"mocha\";\nimport { expect } from \"chai\";\nimport { PreloadListProps } from \"../Preloads\";\nimport { EmptyList, PopulatedList } from \"../stories/Preloads.stories\";\n\n// For running accessibility scans\nimport { accessibilityAssessor } from \"./a11y_helper\";\n\n// For testing user interactions (like click events):\nimport sinon from \"sinon\";\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\naddons.setChannel(mockChannel());\n\ndescribe(\"<Preloads/>\", () => {\n\t// Used to clear after each interactive test using sinon\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should be empty\", () => {\n\t\tconst wrapper = mount(<EmptyList {...(EmptyList.args as PreloadListProps)} />);\n\n\t\texpect(wrapper.find(\"button\").exists(), \"The button exists\").to.be.true;\n\t\texpect(wrapper.find(\"button\").text(), \"The button's text\").to.equal(\"Add\");\n\n\t\texpect(wrapper.find(\".app-list-empty\").exists(), \"Empty message exists\").to.be.true;\n\t\texpect(wrapper.find(\".app-list-empty\").text(), \"Empty message text\").to.contain(\"to add preloads\");\n\t\texpect(wrapper.find(\".app-list-empty.no-dropzone\").exists(), \"Empty message has no dropzone styling\").to.be.true;\n\t});\n\n\tit(\"should call correct functions\", () => {\n\t\tconst props = {\n\t\t\tdeletePreload: sinon.spy(),\n\t\t\tsetEditView: sinon.spy(),\n\t\t\tpreloads: PopulatedList.args?.preloads,\n\t\t};\n\t\tconst wrapper = mount(<PopulatedList {...(props as PreloadListProps)} />);\n\t\texpect(wrapper.find(\".app-list-empty\").exists(), \"Empty message should not exist\").to.be.false;\n\n\t\texpect(props.setEditView.called, \"Add button not clicked yet\").to.be.false;\n\t\texpect(props.deletePreload.called, \"Delete button not clicked yet\").to.be.false;\n\t\texpect(props.setEditView.called, \"Preload not clicked yet\").to.be.false;\n\n\t\tconst buttons = wrapper.find(\"button\");\n\n\t\tbuttons.at(0).simulate(\"click\");\n\t\texpect(props.setEditView.called, \"Button was clicked\").to.be.true;\n\n\t\tbuttons.at(1).simulate(\"click\");\n\t\t// Expecting the 2nd preload because ItemList orders it\n\t\texpect(props.deletePreload.calledWith(\"native-overrides\"), \"Correct param passed in to delete\").to.be.true;\n\n\t\twrapper.find(\".app-list-row\").at(0).simulate(\"click\");\n\t\texpect(props.setEditView.calledWith(\"native-overrides\"), \"Correct param passed in to delete\").to.be.true;\n\t});\n\n\t// Example accessibility scan\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<EmptyList {...(EmptyList.args as PreloadListProps)} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmartDesktopDesigner.spec.js","sourceRoot":"","sources":["../../../../src/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,UAAU,oBAAM,UAAU,CAAC,IAAkC,EAAI,CAAC,CAAC;QAE1F,MAAM,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH;QACC;YACC,GAAG,EAAE;gBACJ,EAAE,EAAE,uBAAuB;gBAC3B,KAAK,EAAE,aAAa;aACpB;SACD;QACD;YACC,GAAG,EAAE;gBACJ,EAAE,EAAE,iBAAiB;gBACrB,KAAK,EAAE,OAAO;aACd;SACD;QACD;YACC,GAAG,EAAE;gBACJ,EAAE,EAAE,yBAAyB;gBAC7B,KAAK,EAAE,gBAAgB;aACvB;SACD;QACD;YACC,GAAG,EAAE;gBACJ,EAAE,EAAE,iBAAiB;gBACrB,KAAK,EAAE,SAAS;aAChB;SACD;KACD,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACpB,EAAE,CAAC,sBAAsB,MAAM,CAAC,GAAG,CAAC,KAAK,uBAAuB,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,UAAU,oBAAM,UAAU,CAAC,IAAkC,EAAI,CAAC,CAAC;YAE1F,MAAM,QAAQ,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,EAAE,CAAC;YAEjB,MAAM,CACL,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,MAAM,EACjE,8BAA8B,CAC9B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEd,OAAO,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEpE,MAAM,QAAQ,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,EAAE,CAAC;YAEjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5G,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,kBAAkB,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CACzG,MAAM,CAAC,GAAG,CAAC,KAAK,CAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport { DefaultSDD } from \"../stories/SmartDesktopDesigner.stories\";\nimport { waitTick } from \"../sdd_helpers\";\nimport { SmartDesktopDesignerProps } from \"../SmartDesktopDesigner\";\nimport { accessibilityAssessor } from \"./a11y_helper\";\n\ndescribe(\"<SmartDesktopDesigner/>\", () => {\n\tit(\"should pass accessibility scans (Page)\", async () => {\n\t\tconst wrapper = mount(<DefaultSDD {...(DefaultSDD.args as SmartDesktopDesignerProps)} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\t[\n\t\t{\n\t\t\tnav: {\n\t\t\t\tid: \"applications-nav-link\",\n\t\t\t\ttitle: \"Manage apps\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tnav: {\n\t\t\t\tid: \"themes-nav-link\",\n\t\t\t\ttitle: \"Theme\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tnav: {\n\t\t\t\tid: \"authentication-nav-link\",\n\t\t\t\ttitle: \"Authentication\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tnav: {\n\t\t\t\tid: \"export-nav-link\",\n\t\t\t\ttitle: \"Publish\",\n\t\t\t},\n\t\t},\n\t].forEach((target) => {\n\t\tit(`should navigate to ${target.nav.title} from left navigation`, async () => {\n\t\t\tconst wrapper = mount(<DefaultSDD {...(DefaultSDD.args as SmartDesktopDesignerProps)} />);\n\n\t\t\tawait waitTick();\n\t\t\twrapper.update();\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\".nav-item.active #getting-started-nav-link\").length,\n\t\t\t\t\"Currently on Getting Started\"\n\t\t\t).to.equal(1);\n\n\t\t\twrapper.find(`.nav-item #${target.nav.id}`).at(0).simulate(\"click\");\n\n\t\t\tawait waitTick();\n\t\t\twrapper.update();\n\n\t\t\texpect(wrapper.find(`.nav-item.active #${target.nav.id}`).length, `${target.nav.id} is active`).to.equal(1);\n\t\t\texpect(wrapper.find(\".view-title .leftSide\").at(0).text(), `page title is \"${target.nav.title}\"`).contains(\n\t\t\t\ttarget.nav.title\n\t\t\t);\n\t\t});\n\t});\n});\n"]}
|
|
1
|
+
{"version":3,"file":"SmartDesktopDesigner.spec.js","sourceRoot":"","sources":["../../../../src/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,UAAU,oBAAM,UAAU,CAAC,IAAkC,EAAI,CAAC,CAAC;QAE1F,MAAM,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH;QACC;YACC,GAAG,EAAE;gBACJ,EAAE,EAAE,uBAAuB;gBAC3B,KAAK,EAAE,aAAa;aACpB;SACD;QACD;YACC,GAAG,EAAE;gBACJ,EAAE,EAAE,gCAAgC;gBACpC,KAAK,EAAE,UAAU;aACjB;SACD;QACD;YACC,GAAG,EAAE;gBACJ,EAAE,EAAE,iBAAiB;gBACrB,KAAK,EAAE,OAAO;aACd;SACD;QACD;YACC,GAAG,EAAE;gBACJ,EAAE,EAAE,yBAAyB;gBAC7B,KAAK,EAAE,gBAAgB;aACvB;SACD;QACD;YACC,GAAG,EAAE;gBACJ,EAAE,EAAE,iBAAiB;gBACrB,KAAK,EAAE,SAAS;aAChB;SACD;KACD,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACpB,EAAE,CAAC,sBAAsB,MAAM,CAAC,GAAG,CAAC,KAAK,uBAAuB,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,UAAU,oBAAM,UAAU,CAAC,IAAkC,EAAI,CAAC,CAAC;YAE1F,MAAM,QAAQ,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,EAAE,CAAC;YAEjB,MAAM,CACL,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,MAAM,EACjE,8BAA8B,CAC9B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEd,OAAO,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEpE,MAAM,QAAQ,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,EAAE,CAAC;YAEjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5G,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,kBAAkB,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CACzG,MAAM,CAAC,GAAG,CAAC,KAAK,CAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport { DefaultSDD } from \"../stories/SmartDesktopDesigner.stories\";\nimport { waitTick } from \"../sdd_helpers\";\nimport { SmartDesktopDesignerProps } from \"../SmartDesktopDesigner\";\nimport { accessibilityAssessor } from \"./a11y_helper\";\n\ndescribe(\"<SmartDesktopDesigner/>\", () => {\n\tit(\"should pass accessibility scans (Page)\", async () => {\n\t\tconst wrapper = mount(<DefaultSDD {...(DefaultSDD.args as SmartDesktopDesignerProps)} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\t[\n\t\t{\n\t\t\tnav: {\n\t\t\t\tid: \"applications-nav-link\",\n\t\t\t\ttitle: \"Manage apps\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tnav: {\n\t\t\t\tid: \"applications-optional-nav-link\",\n\t\t\t\ttitle: \"Optional\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tnav: {\n\t\t\t\tid: \"themes-nav-link\",\n\t\t\t\ttitle: \"Theme\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tnav: {\n\t\t\t\tid: \"authentication-nav-link\",\n\t\t\t\ttitle: \"Authentication\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tnav: {\n\t\t\t\tid: \"export-nav-link\",\n\t\t\t\ttitle: \"Publish\",\n\t\t\t},\n\t\t},\n\t].forEach((target) => {\n\t\tit(`should navigate to ${target.nav.title} from left navigation`, async () => {\n\t\t\tconst wrapper = mount(<DefaultSDD {...(DefaultSDD.args as SmartDesktopDesignerProps)} />);\n\n\t\t\tawait waitTick();\n\t\t\twrapper.update();\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\".nav-item.active #getting-started-nav-link\").length,\n\t\t\t\t\"Currently on Getting Started\"\n\t\t\t).to.equal(1);\n\n\t\t\twrapper.find(`.nav-item #${target.nav.id}`).at(0).simulate(\"click\");\n\n\t\t\tawait waitTick();\n\t\t\twrapper.update();\n\n\t\t\texpect(wrapper.find(`.nav-item.active #${target.nav.id}`).length, `${target.nav.id} is active`).to.equal(1);\n\t\t\texpect(wrapper.find(\".view-title .leftSide\").at(0).text(), `page title is \"${target.nav.title}\"`).contains(\n\t\t\t\ttarget.nav.title\n\t\t\t);\n\t\t});\n\t});\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|