@finsemble/finsemble-ui 6.6.1 → 7.0.0-beta.3
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 +18 -32
- package/react/assets/css/button.css +1 -1
- package/react/assets/css/favorites.css +0 -47
- package/react/assets/css/finsemble.css +3 -0
- package/react/assets/css/linkerWindow.css +13 -1
- package/react/assets/css/menus.css +2 -2
- package/react/assets/css/notificationsCenter.css +32 -1
- package/react/assets/css/shared/common.css +40 -0
- package/react/assets/css/userPreferences.css +17 -12
- package/react/assets/css/windowTitleBar.css +7 -0
- package/react/assets/icons/server.svg +26 -0
- package/react/components/common/ButtonIcon.js +1 -1
- package/react/components/common/ButtonIcon.js.map +1 -1
- package/react/components/common/ButtonRow.js +2 -2
- package/react/components/common/ButtonRow.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/ColorPicker.js +16 -15
- package/react/components/common/ColorPicker.js.map +1 -1
- package/react/components/common/ErrorBoundary.d.ts +16 -0
- package/react/components/common/ErrorBoundary.js +22 -0
- package/react/components/common/ErrorBoundary.js.map +1 -0
- package/react/components/common/FinsembleIcon.d.ts +3 -2
- package/react/components/common/FinsembleIcon.js +10 -3
- package/react/components/common/FinsembleIcon.js.map +1 -1
- package/react/components/common/FinsembleLink.d.ts +6 -0
- package/react/components/common/FinsembleLink.js +12 -0
- package/react/components/common/FinsembleLink.js.map +1 -0
- package/react/components/common/FinsembleToggle.d.ts +1 -2
- package/react/components/common/FinsembleToggle.js +2 -6
- package/react/components/common/FinsembleToggle.js.map +1 -1
- package/react/components/common/FinsembleToggleButtonBar.d.ts +13 -0
- package/react/components/common/FinsembleToggleButtonBar.js +44 -0
- package/react/components/common/FinsembleToggleButtonBar.js.map +1 -0
- package/react/components/common/InputTable.d.ts +3 -3
- package/react/components/common/InputTable.js +13 -13
- package/react/components/common/InputTable.js.map +1 -1
- package/react/components/common/Tab.js +33 -5
- package/react/components/common/Tab.js.map +1 -1
- package/react/components/common/css/FinsembleToggle.css +22 -0
- package/react/components/common/css/application-edit-page.css +10 -2
- package/react/components/common/css/tab.css +8 -8
- package/react/components/common/css/time-select.css +1 -1
- package/react/components/common/css/toggle.css +2 -10
- package/react/components/common/helpers.js +6 -1
- package/react/components/common/helpers.js.map +1 -1
- package/react/components/common/stories/ColorPicker.stories.js +6 -11
- package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
- package/react/components/common/stories/FinsembleToggle.stories.d.ts +1 -2
- package/react/components/common/stories/FinsembleToggle.stories.js +0 -7
- package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
- package/react/components/common/stories/FinsembleToggleButtonBar.stories.d.ts +14 -0
- package/react/components/common/stories/FinsembleToggleButtonBar.stories.js +97 -0
- package/react/components/common/stories/FinsembleToggleButtonBar.stories.js.map +1 -0
- package/react/components/common/stories/InputTable.stories.d.ts +4 -3
- package/react/components/common/stories/InputTable.stories.js +18 -8
- package/react/components/common/stories/InputTable.stories.js.map +1 -1
- package/react/components/common/tests/ButtonRow.spec.js +5 -0
- package/react/components/common/tests/ButtonRow.spec.js.map +1 -1
- package/react/components/common/tests/FinsembleToggle.spec.js +1 -6
- package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
- package/react/components/common/tests/FinsembleToggleButtonBar.spec.d.ts +1 -0
- package/react/components/common/tests/FinsembleToggleButtonBar.spec.js +40 -0
- package/react/components/common/tests/FinsembleToggleButtonBar.spec.js.map +1 -0
- package/react/components/common/tests/InputTable.spec.js +3 -3
- package/react/components/common/tests/InputTable.spec.js.map +1 -1
- package/react/components/favorites/FavoriteMaker.js +1 -1
- package/react/components/favorites/FavoriteMaker.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverContainer.js +4 -7
- package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
- package/react/components/icon/Icon.d.ts +1 -1
- package/react/components/icon/Icon.js +8 -1
- package/react/components/icon/Icon.js.map +1 -1
- package/react/components/legacyControls/FinsembleDnDContext.js +7 -7
- package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
- package/react/components/linker/remoteRedux.js +1 -0
- package/react/components/linker/remoteRedux.js.map +1 -1
- package/react/components/menu/MenuItem.js +1 -1
- package/react/components/menu/MenuItem.js.map +1 -1
- package/react/components/menu/MenuPortal.js +12 -21
- package/react/components/menu/MenuPortal.js.map +1 -1
- package/react/components/menu/MenuToggle.js +1 -1
- package/react/components/menu/MenuToggle.js.map +1 -1
- package/react/components/menu/keyboardNavigation.d.ts +1 -22
- package/react/components/menu/keyboardNavigation.js +110 -160
- package/react/components/menu/keyboardNavigation.js.map +1 -1
- package/react/components/notifications/components/drawer/DrawerControls.js +39 -25
- package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +19 -6
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
- package/react/components/notifications/components/shared/CheckButton.js +19 -8
- package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
- package/react/components/notifications/components/shared/NotificationCardShell.js +2 -1
- package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js +2 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js +2 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
- package/react/components/notifications/components/views/CardView.js +5 -3
- package/react/components/notifications/components/views/CardView.js.map +1 -1
- package/react/components/notifications/components/views/ListView.js +3 -1
- package/react/components/notifications/components/views/ListView.js.map +1 -1
- package/react/components/notifications/types.d.ts +3 -0
- package/react/components/notifications/types.js.map +1 -1
- package/react/components/processMonitor/ProcessMonitor.js +4 -1
- package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
- package/react/components/processMonitor/components/ProcessStatistics.js +1 -3
- package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
- package/react/components/processMonitor/helpers.js +4 -3
- package/react/components/processMonitor/helpers.js.map +1 -1
- package/react/components/processMonitor/helpers.spec.js +7 -3
- package/react/components/processMonitor/helpers.spec.js.map +1 -1
- package/react/components/sdd/AddApp.d.ts +4 -3
- package/react/components/sdd/AddApp.js +132 -30
- package/react/components/sdd/AddApp.js.map +1 -1
- package/react/components/sdd/AppEditAccess.d.ts +4 -3
- package/react/components/sdd/AppEditAccess.js.map +1 -1
- package/react/components/sdd/AppEditPage.d.ts +4 -3
- package/react/components/sdd/AppEditPage.js +141 -116
- package/react/components/sdd/AppEditPage.js.map +1 -1
- package/react/components/sdd/Appearance.d.ts +2 -1
- package/react/components/sdd/Appearance.js +15 -7
- package/react/components/sdd/Appearance.js.map +1 -1
- package/react/components/sdd/Application.d.ts +5 -4
- package/react/components/sdd/Application.js +61 -42
- package/react/components/sdd/Application.js.map +1 -1
- package/react/components/sdd/Applications.d.ts +12 -11
- package/react/components/sdd/Applications.js +23 -4
- package/react/components/sdd/Applications.js.map +1 -1
- package/react/components/sdd/Authentication.js +1 -6
- package/react/components/sdd/Authentication.js.map +1 -1
- package/react/components/sdd/AuthenticationProviderConfig.js +5 -3
- package/react/components/sdd/AuthenticationProviderConfig.js.map +1 -1
- package/react/components/sdd/EditPreload.d.ts +4 -3
- package/react/components/sdd/EditPreload.js +39 -22
- package/react/components/sdd/EditPreload.js.map +1 -1
- package/react/components/sdd/Export.d.ts +7 -6
- package/react/components/sdd/Export.js +3 -2
- package/react/components/sdd/Export.js.map +1 -1
- package/react/components/sdd/GettingStarted.js +3 -3
- package/react/components/sdd/GettingStarted.js.map +1 -1
- package/react/components/sdd/Navigation.js +28 -4
- package/react/components/sdd/Navigation.js.map +1 -1
- package/react/components/sdd/OptionalSettingsView.d.ts +6 -5
- package/react/components/sdd/OptionalSettingsView.js +2 -10
- package/react/components/sdd/OptionalSettingsView.js.map +1 -1
- package/react/components/sdd/ProjectErrors.js +1 -1
- package/react/components/sdd/ProjectErrors.js.map +1 -1
- package/react/components/sdd/Publish.js +2 -2
- package/react/components/sdd/Publish.js.map +1 -1
- package/react/components/sdd/SmartDesktopDesigner.d.ts +17 -16
- package/react/components/sdd/SmartDesktopDesigner.js +37 -34
- package/react/components/sdd/SmartDesktopDesigner.js.map +1 -1
- package/react/components/sdd/ThemePage.js +8 -5
- package/react/components/sdd/ThemePage.js.map +1 -1
- package/react/components/sdd/Themes.d.ts +2 -1
- package/react/components/sdd/Themes.js +2 -2
- package/react/components/sdd/Themes.js.map +1 -1
- package/react/components/sdd/Toolbar.d.ts +5 -4
- package/react/components/sdd/Toolbar.js +11 -9
- package/react/components/sdd/Toolbar.js.map +1 -1
- package/react/components/sdd/common/setPreloadDefaults.d.ts +1 -1
- package/react/components/sdd/common/setPreloadDefaults.js +5 -4
- package/react/components/sdd/common/setPreloadDefaults.js.map +1 -1
- package/react/components/sdd/common/views.js +7 -4
- package/react/components/sdd/common/views.js.map +1 -1
- package/react/components/sdd/css/addApp.css +52 -0
- package/react/components/sdd/css/applications.css +4 -24
- package/react/components/sdd/css/nav.css +3 -3
- package/react/components/sdd/fixtures/authenticationProps.js +15 -1
- package/react/components/sdd/fixtures/authenticationProps.js.map +1 -1
- package/react/components/sdd/fixtures/preloads.js +14 -12
- package/react/components/sdd/fixtures/preloads.js.map +1 -1
- package/react/components/sdd/smartDesktopClient.d.ts +163 -0
- package/react/components/sdd/smartDesktopClient.js +573 -0
- package/react/components/sdd/smartDesktopClient.js.map +1 -0
- package/react/components/sdd/smartDesktopClient.spec.d.ts +1 -0
- package/react/components/sdd/smartDesktopClient.spec.js +61 -0
- package/react/components/sdd/smartDesktopClient.spec.js.map +1 -0
- package/react/components/sdd/stories/AddApp.stories.d.ts +10 -0
- package/react/components/sdd/stories/AddApp.stories.js +18 -0
- package/react/components/sdd/stories/AddApp.stories.js.map +1 -0
- package/react/components/sdd/stories/AppEditPage.stories.d.ts +2 -0
- package/react/components/sdd/stories/AppEditPage.stories.js +2 -0
- package/react/components/sdd/stories/AppEditPage.stories.js.map +1 -1
- package/react/components/sdd/stories/Appearance.stories.d.ts +1 -1
- package/react/components/sdd/stories/Appearance.stories.js +1 -0
- package/react/components/sdd/stories/Appearance.stories.js.map +1 -1
- package/react/components/sdd/stories/Authentication.stories.js +2 -16
- package/react/components/sdd/stories/Authentication.stories.js.map +1 -1
- package/react/components/sdd/stories/OptionalSettingsView.stories.js +1 -1
- package/react/components/sdd/stories/OptionalSettingsView.stories.js.map +1 -1
- package/react/components/sdd/stories/SmartDesktopDesigner.stories.d.ts +1 -1
- package/react/components/sdd/stories/SmartDesktopDesigner.stories.js +3 -0
- package/react/components/sdd/stories/SmartDesktopDesigner.stories.js.map +1 -1
- package/react/components/sdd/stories/Themes.stories.d.ts +1 -1
- package/react/components/sdd/stories/Themes.stories.js +1 -0
- package/react/components/sdd/stories/Themes.stories.js.map +1 -1
- package/react/components/sdd/tests/AddApp.spec.d.ts +1 -0
- package/react/components/sdd/tests/AddApp.spec.js +96 -0
- package/react/components/sdd/tests/AddApp.spec.js.map +1 -0
- package/react/components/sdd/tests/AppEditPage.spec.js +92 -23
- package/react/components/sdd/tests/AppEditPage.spec.js.map +1 -1
- package/react/components/sdd/tests/Application.spec.js +411 -24
- package/react/components/sdd/tests/Application.spec.js.map +1 -1
- package/react/components/sdd/tests/Applications.spec.js +1 -45
- package/react/components/sdd/tests/Applications.spec.js.map +1 -1
- package/react/components/sdd/tests/Authentication.spec.js +1 -1
- package/react/components/sdd/tests/Authentication.spec.js.map +1 -1
- package/react/components/sdd/tests/EditPreload.spec.js +50 -7
- package/react/components/sdd/tests/EditPreload.spec.js.map +1 -1
- package/react/components/sdd/tests/Navigation.spec.js +2 -2
- package/react/components/sdd/tests/Navigation.spec.js.map +1 -1
- package/react/components/sdd/tests/OptionalSettingsView.spec.js +235 -0
- package/react/components/sdd/tests/OptionalSettingsView.spec.js.map +1 -1
- package/react/components/sdd/tests/ProjectErrors.spec.js +1 -1
- package/react/components/sdd/tests/ProjectErrors.spec.js.map +1 -1
- package/react/components/sdd/tests/SmartDesktopDesigner.spec.js +2 -2
- package/react/components/sdd/tests/SmartDesktopDesigner.spec.js.map +1 -1
- package/react/components/search/Search.js +1 -1
- package/react/components/search/Search.js.map +1 -1
- package/react/components/shared/DefaultDropdownButton.js +12 -1
- package/react/components/shared/DefaultDropdownButton.js.map +1 -1
- package/react/components/shared/tests/DefaultDropdownButton.spec.js +12 -0
- package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +1 -16
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +0 -4
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
- package/react/components/toolbar/DragHandle.stories.js.map +1 -1
- package/react/components/toolbar/ToolbarIcon.js +2 -2
- package/react/components/toolbar/ToolbarIcon.js.map +1 -1
- package/react/components/toolbar/ToolbarSection.d.ts +1 -9
- package/react/components/toolbar/ToolbarSection.js +3 -7
- package/react/components/toolbar/ToolbarSection.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
- package/react/components/toolbar/dashbar/Dashbar.js +21 -12
- package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
- package/react/components/userPreferences/components/ContentSection.js +1 -1
- package/react/components/userPreferences/components/ContentSection.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +4 -3
- package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
- package/react/components/userPreferences/components/general/ScheduledClose.js +12 -3
- package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
- package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +17 -2
- package/react/components/windowTitleBar/WindowTitleBarShell.js +160 -6
- package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerButton.js +7 -1
- package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
- package/react/components/windowTitleBar/components/windowTitle.js +10 -2
- package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js +11 -1
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
- package/react/reducers/rootReducer.d.ts +2 -2
- package/react/store.d.ts +4 -4
- package/react/tsconfig.tsbuildinfo +1 -0
- package/react/types/smartDesktopDesignerTypes.d.ts +3 -0
- package/react/types/smartDesktopDesignerTypes.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.spec.js","sourceRoot":"","sources":["../../../../src/components/sdd/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\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\tsrc: \"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\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: \"\",\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\tsrc: \"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: \"\",\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\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\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\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\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\ticons: [],\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\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\ticons: [],\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\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\ticons: [],\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\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\ticons: [],\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\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\ticons: [\n\t\t\t\t{\n\t\t\t\t\tsrc: \"blah blah blah\",\n\t\t\t\t},\n\t\t\t],\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\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"]}
|
|
1
|
+
{"version":3,"file":"Application.spec.js","sourceRoot":"","sources":["../../../../src/components/sdd/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\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\talias: \"\",\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\tenableAffinity: true,\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\ttitlebarType: \"injected\",\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\tsrc: \"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\talias: \"\",\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: \"\",\n\t\t\tappType: \"\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"Development and test tool for FDC3 desktop agents and apps\",\n\t\t\tenableAffinity: true,\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: \"\",\n\t\t\tpersistPath: false,\n\t\t\tpersistURL: false,\n\t\t\tresizable: true,\n\t\t\trules: [],\n\t\t\tsecurity: \"trusted\",\n\t\t\tsingleton: false,\n\t\t\tspawnOnStartup: false,\n\t\t\ttitlebarType: \"injected\",\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\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\talias: \"\",\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: \"\",\n\t\t\tappType: \"\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"Visualize market data in the leading FDC3 compliant technical chart.\",\n\t\t\tenableAffinity: true,\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: \"\",\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: \"\",\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\ttitlebarType: \"injected\",\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\tsrc: \"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\talias: \"\",\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: \"\",\n\t\t\tappType: \"\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"Organize data with FDC3 compliant blotters built on AG Grid\",\n\t\t\tenableAffinity: true,\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: \"\",\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\ttitlebarType: \"injected\",\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\talias: \"\",\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: \"\",\n\t\t\tappType: \"\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAffinity: true,\n\t\t\tenableAOT: false,\n\t\t\tenableTitleBar: true,\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: 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: \"\",\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\tsecurity: \"trusted\",\n\t\t\tsingleton: false,\n\t\t\tspawnOnStartup: false,\n\t\t\ttitlebarType: \"injected\",\n\t\t\turl: \"\",\n\t\t\twidth: \"\",\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\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\talias: \"\",\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: \"\",\n\t\t\tappType: \"\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"test\",\n\t\t\tenableAffinity: true,\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: 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: \"\",\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\ttitlebarType: \"injected\",\n\t\t\turl: \"\",\n\t\t\twidth: \"\",\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\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\talias: \"\",\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\tenableAffinity: true,\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\ttitlebarType: \"injected\",\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\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\talias: \"\",\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\tenableAffinity: true,\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\ttitlebarType: \"injected\",\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\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\talias: \"\",\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\tenableAffinity: true,\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\ttitlebarType: \"injected\",\n\t\t\turl: \"\",\n\t\t\twidth: \"\",\n\t\t});\n\t});\n\tit(\"citrix test\", () => {\n\t\tconst appConfig = {\n\t\t\tappId: \"Citrix TestApp3 UAT\",\n\t\t\tname: \"Citrix TestApp3 UAT\",\n\t\t\tmanifest: {\n\t\t\t\twindow: {\n\t\t\t\t\twindowType: \"Citrix\",\n\t\t\t\t\talias: \"TestApp3 UAT\",\n\t\t\t\t\targuments: \"debug=True&url=https://assets.finsemble.com/test/WPFExampleCore.zip\",\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},\n\t\t\t\t},\n\t\t\t\tintents: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: \"ViewChart\",\n\t\t\t\t\t\tdisplayName: \"View Chart\",\n\t\t\t\t\t\tcontexts: [\"fdc3.instrument\"],\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\talias: \"TestApp3 UAT\",\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: \"debug=True&url=https://assets.finsemble.com/test/WPFExampleCore.zip\",\n\t\t\tappType: \"Citrix\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"\",\n\t\t\tenableAffinity: true,\n\t\t\tenableAOT: false,\n\t\t\tenableTitleBar: true,\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: false,\n\t\t\tlaunchableByUser: true,\n\t\t\tname: \"Citrix TestApp3 UAT\",\n\t\t\tnative_windowSpawnTimeout: 30,\n\t\t\topacity: 1,\n\t\t\tpath: \"\",\n\t\t\tpersistURL: false,\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: false,\n\t\t\tspawnOnStartup: false,\n\t\t\ttitlebarType: \"injected\",\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\talias: \"\",\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\tenableAffinity: true,\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\ttitlebarType: \"injected\",\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\ticons: [],\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\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\ttitlebarType: \"injected\",\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: Citrix\", () => {\n\t\tconst appData = {\n\t\t\tabstractPosition: 0,\n\t\t\taddToWorkspace: true,\n\t\t\talias: \"TestApp3 UAT\",\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: \"debug=True&url=https://assets.finsemble.com/test/WPFExampleCore.zip\",\n\t\t\tappType: \"Citrix\",\n\t\t\tautoConnect: true,\n\t\t\tdescription: \"\",\n\t\t\tenableAOT: true,\n\t\t\tenableTitleBar: true,\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: \"Citrix TestApp3 UAT\",\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\ttitlebarType: \"injected\",\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, \"Citrix TestApp3 UAT\")).to.deep.equal({\n\t\t\tappId: \"Citrix TestApp3 UAT\",\n\t\t\tname: \"Citrix TestApp3 UAT\",\n\t\t\tdescription: \"\",\n\t\t\tintents: [],\n\t\t\ticons: [],\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\t\"Window Manager\": {\n\t\t\t\t\t\t\tFSBLHeader: {\n\t\t\t\t\t\t\t\thideClose: false,\n\t\t\t\t\t\t\t\thideMaximize: false,\n\t\t\t\t\t\t\t\thideMinimize: false,\n\t\t\t\t\t\t\t},\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\ttitlebarType: \"injected\",\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\taffinity: \"false\",\n\t\t\t\t\theight: \"\",\n\t\t\t\t\twindowType: \"Citrix\",\n\t\t\t\t\targuments: \"debug=True&url=https://assets.finsemble.com/test/WPFExampleCore.zip\",\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},\n\t\t\t},\n\t\t\tmanifestType: \"finsemble\",\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\talias: \"\",\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\tenableAffinity: true,\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\ttitlebarType: \"injected\",\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\ticons: [],\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\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\ttitlebarType: \"injected\",\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\talias: \"\",\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\tenableAffinity: true,\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\ttitlebarType: \"injected\",\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\ticons: [],\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\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\ttitlebarType: \"injected\",\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\talias: \"\",\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\tenableAffinity: true,\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\ttitlebarType: \"injected\",\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\ticons: [],\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\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\ttitlebarType: \"injected\",\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\talias: \"\",\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\tenableAffinity: true,\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\ttitlebarType: \"injected\",\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\ticons: [\n\t\t\t\t{\n\t\t\t\t\tsrc: \"blah blah blah\",\n\t\t\t\t},\n\t\t\t],\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\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\ttitlebarType: \"injected\",\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\ndescribe(\"affinity\", () => {\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\tconst appData = {\n\t\tabstractPosition: 0,\n\t\taddToWorkspace: true,\n\t\talias: \"\",\n\t\tallowAutoArrange: true,\n\t\tallowGrouping: true,\n\t\tallowMaximize: true,\n\t\tallowMinimize: true,\n\t\tallowSnapping: true,\n\t\tallowTabbing: true,\n\t\tallowTiling: true,\n\t\talwaysOnTop: true,\n\t\tappArguments: \"\",\n\t\tappType: \"web\",\n\t\tautoConnect: true,\n\t\tdescription: \"test\",\n\t\tenableAffinity: true,\n\t\tenableAOT: true,\n\t\tenableTitleBar: false,\n\t\theight: \"\",\n\t\thideClose: false,\n\t\thideMaximize: false,\n\t\thideMinimize: false,\n\t\ticonURL: \"\",\n\t\tintents: [],\n\t\tisEvergreen: true,\n\t\tlaunchableByUser: true,\n\t\tname: \"test\",\n\t\tnative_windowSpawnTimeout: 60,\n\t\topacity: 1,\n\t\tpath: \"\",\n\t\tpersistURL: true,\n\t\tpersistPath: false,\n\t\tresizable: true,\n\t\trules: [],\n\t\tsecurity: \"trusted\",\n\t\tsingleton: true,\n\t\tspawnOnStartup: false,\n\t\ttitlebarType: \"injected\",\n\t\turl: \"http://www.google.com\",\n\t\twidth: \"\",\n\t\tpreloads: [\"zoom\"],\n\t} as Types.ApplicationSaveData;\n\tconst output_template = {\n\t\tappId: \"123\",\n\t\tdescription: \"test\",\n\t\tintents: [],\n\t\ticons: [],\n\t\tmanifest: {\n\t\t\tcomponent: {\n\t\t\t\tsingleton: true,\n\t\t\t\tspawnOnStartup: false,\n\t\t\t\tpreload: [\"zoom\"],\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\tFSBLHeader: false,\n\t\t\t\t\t\talwaysOnTopIcon: true,\n\t\t\t\t\t\tpersistWindowState: true,\n\t\t\t\t\t\ttitlebarType: \"injected\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tservices: {\n\t\t\t\t\twindowService: {\n\t\t\t\t\t\tallowAutoArrange: true,\n\t\t\t\t\t\tallowGrouping: true,\n\t\t\t\t\t\tallowMaximize: true,\n\t\t\t\t\t\tallowMinimize: true,\n\t\t\t\t\t\tallowSnapping: true,\n\t\t\t\t\t\tallowTabbing: true,\n\t\t\t\t\t\tallowTiling: true,\n\t\t\t\t\t},\n\t\t\t\t\tworkspace: {\n\t\t\t\t\t\tpersistPath: false,\n\t\t\t\t\t\tpersistURL: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tinterop: {\n\t\t\t\tautoConnect: true,\n\t\t\t\tselectConnect: [],\n\t\t\t},\n\t\t\twindow: {\n\t\t\t\taddToWorkspace: true,\n\t\t\t\theight: \"\",\n\t\t\t\toptions: {\n\t\t\t\t\talwaysOnTop: true,\n\t\t\t\t\tisEvergreen: true,\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tresizable: true,\n\t\t\t\t\tsecurityPolicy: \"trusted\",\n\t\t\t\t\twindowSpawnTimeout: 60,\n\t\t\t\t},\n\t\t\t\twidth: \"\",\n\t\t\t\turl: \"http://www.google.com\",\n\t\t\t},\n\t\t},\n\t\tmanifestType: \"finsemble\",\n\t\tname: \"test\",\n\t\tversion: \"1\",\n\t};\n\n\tit(\"undefined affinity / disable affinity\", () => {\n\t\tconst disable_affinity = {\n\t\t\t...appData,\n\t\t\tenableAffinity: false,\n\t\t};\n\n\t\texpect(appDataToAppConfig(configTemplate, disable_affinity, \"123\")).to.deep.equal({\n\t\t\t...output_template,\n\t\t\tmanifest: {\n\t\t\t\t...output_template.manifest,\n\t\t\t\twindow: {\n\t\t\t\t\t...output_template.manifest.window,\n\t\t\t\t\taffinity: \"false\",\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t});\n\tit(\"undefined affinity / enable affinity\", () => {\n\t\tconst enable_affinity = {\n\t\t\t...appData,\n\t\t\tenableAffinity: true,\n\t\t};\n\n\t\texpect(appDataToAppConfig(configTemplate, enable_affinity, \"123\")).to.deep.equal(output_template);\n\t});\n\tit(\"false affinity / disable affinity\", () => {\n\t\tconst disable_affinity = {\n\t\t\t...appData,\n\t\t\tenableAffinity: false,\n\t\t};\n\n\t\tconst template = {\n\t\t\t...configTemplate,\n\t\t\tmanifest: {\n\t\t\t\t...configTemplate.manifest,\n\t\t\t\twindow: {\n\t\t\t\t\t...configTemplate.manifest.window,\n\t\t\t\t\taffinity: \"false\",\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\texpect(appDataToAppConfig(template, disable_affinity, \"123\")).to.deep.equal({\n\t\t\t...output_template,\n\t\t\tmanifest: {\n\t\t\t\t...output_template.manifest,\n\t\t\t\twindow: {\n\t\t\t\t\t...output_template.manifest.window,\n\t\t\t\t\taffinity: \"false\",\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t});\n\tit(\"false affinity / enable affinity\", () => {\n\t\tconst enable_affinity = {\n\t\t\t...appData,\n\t\t\tenableAffinity: true,\n\t\t};\n\n\t\tconst template = {\n\t\t\t...configTemplate,\n\t\t\tmanifest: {\n\t\t\t\t...configTemplate.manifest,\n\t\t\t\twindow: {\n\t\t\t\t\t...configTemplate.manifest.window,\n\t\t\t\t\taffinity: \"false\",\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\texpect(appDataToAppConfig(template, enable_affinity, \"123\")).to.deep.equal(output_template);\n\t});\n\tit(\"named affinity / disable affinity\", () => {\n\t\tconst disable_affinity = {\n\t\t\t...appData,\n\t\t\tenableAffinity: false,\n\t\t};\n\n\t\tconst template = {\n\t\t\t...configTemplate,\n\t\t\tmanifest: {\n\t\t\t\t...configTemplate.manifest,\n\t\t\t\twindow: {\n\t\t\t\t\t...configTemplate.manifest.window,\n\t\t\t\t\taffinity: \"groupName\",\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\texpect(appDataToAppConfig(template, disable_affinity, \"123\")).to.deep.equal({\n\t\t\t...output_template,\n\t\t\tmanifest: {\n\t\t\t\t...output_template.manifest,\n\t\t\t\twindow: {\n\t\t\t\t\t...output_template.manifest.window,\n\t\t\t\t\taffinity: \"false\",\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t});\n\tit(\"named affinity / enable affinity\", () => {\n\t\tconst enable_affinity = {\n\t\t\t...appData,\n\t\t\tenableAffinity: true,\n\t\t};\n\n\t\tconst template = {\n\t\t\t...configTemplate,\n\t\t\tmanifest: {\n\t\t\t\t...configTemplate.manifest,\n\t\t\t\twindow: {\n\t\t\t\t\t...configTemplate.manifest.window,\n\t\t\t\t\taffinity: \"groupName\",\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\texpect(appDataToAppConfig(template, enable_affinity, \"123\")).to.deep.equal({\n\t\t\t...output_template,\n\t\t\tmanifest: {\n\t\t\t\t...output_template.manifest,\n\t\t\t\twindow: {\n\t\t\t\t\t...output_template.manifest.window,\n\t\t\t\t\taffinity: \"groupName\",\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t});\n});\n"]}
|
|
@@ -13,7 +13,7 @@ describe("<Applications/>", () => {
|
|
|
13
13
|
await waitTick();
|
|
14
14
|
wrapper.update();
|
|
15
15
|
expect(await accessibilityAssessor(wrapper)).to.be.true;
|
|
16
|
-
});
|
|
16
|
+
}).timeout(10e3);
|
|
17
17
|
it("should pass accessibility scans (empty)", async () => {
|
|
18
18
|
const wrapper = mount(React.createElement(EmptyApplications, Object.assign({}, getApplicationsArgs("empty"))));
|
|
19
19
|
await waitTick();
|
|
@@ -97,50 +97,6 @@ describe("<Applications/> - Quick Add", () => {
|
|
|
97
97
|
expect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).length, "App list shows 4 items").to.equal(4);
|
|
98
98
|
expect(wrapper.find(ACTIVE_TAB_APP_LIST_TABLE_ROW).filterWhere((node) => node.text().includes("Facebook")).length, "App list includes 'Facebook'");
|
|
99
99
|
});
|
|
100
|
-
it("if you add a URL, the App name should pre-fill with a generated name", async () => {
|
|
101
|
-
const wrapper = mount(React.createElement(DefaultApplications, Object.assign({}, getApplicationsArgs("default"))));
|
|
102
|
-
await waitTick();
|
|
103
|
-
wrapper.update();
|
|
104
|
-
wrapper.find(ADD_NEW_APP_BUTTON).simulate("click");
|
|
105
|
-
await waitTick();
|
|
106
|
-
wrapper.update();
|
|
107
|
-
wrapper.find(QUICK_ADD_APP_URL).simulate("change", {
|
|
108
|
-
target: {
|
|
109
|
-
value: "http://www.google.com",
|
|
110
|
-
},
|
|
111
|
-
});
|
|
112
|
-
expect(wrapper.find("#app-name").prop("value"), "Pre-filled generated name").to.equal("Google");
|
|
113
|
-
expect(wrapper.find(QUICK_ADD_APP_BUTTON).prop("disabled"), "Save button should be enabled").to.be.false;
|
|
114
|
-
});
|
|
115
|
-
it("if you add a URL without an auto-name, the App name should be empty", async () => {
|
|
116
|
-
const wrapper = mount(React.createElement(DefaultApplications, Object.assign({}, getApplicationsArgs("default"))));
|
|
117
|
-
await waitTick();
|
|
118
|
-
wrapper.update();
|
|
119
|
-
wrapper.find(ADD_NEW_APP_BUTTON).simulate("click");
|
|
120
|
-
await waitTick();
|
|
121
|
-
wrapper.update();
|
|
122
|
-
wrapper.find(QUICK_ADD_APP_URL).simulate("change", {
|
|
123
|
-
target: {
|
|
124
|
-
value: "http://www.cnn.com",
|
|
125
|
-
},
|
|
126
|
-
});
|
|
127
|
-
expect(wrapper.find("#app-name").prop("value"), "Pre-filled generated name").to.equal("");
|
|
128
|
-
expect(wrapper.find(QUICK_ADD_APP_BUTTON).prop("disabled"), "Save button should be disabled").to.be.true;
|
|
129
|
-
});
|
|
130
|
-
it("if you add a URL, the path field should be disabled", async () => {
|
|
131
|
-
const wrapper = mount(React.createElement(DefaultApplications, Object.assign({}, getApplicationsArgs("default"))));
|
|
132
|
-
await waitTick();
|
|
133
|
-
wrapper.update();
|
|
134
|
-
wrapper.find(ADD_NEW_APP_BUTTON).simulate("click");
|
|
135
|
-
await waitTick();
|
|
136
|
-
wrapper.update();
|
|
137
|
-
wrapper.find(QUICK_ADD_APP_URL).simulate("change", {
|
|
138
|
-
target: {
|
|
139
|
-
value: "http://www.cnn.com",
|
|
140
|
-
},
|
|
141
|
-
});
|
|
142
|
-
expect(wrapper.find(".file-input-container button").prop("disabled"), "File input disabled").to.be.true;
|
|
143
|
-
});
|
|
144
100
|
it("if you add a URL and then save it, the URL should be cleared on re-open", async () => {
|
|
145
101
|
const wrapper = mount(React.createElement(DefaultApplications, Object.assign({}, getApplicationsArgs("default"))));
|
|
146
102
|
await waitTick();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Applications.spec.js","sourceRoot":"","sources":["../../../../src/components/sdd/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(\"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"]}
|
|
1
|
+
{"version":3,"file":"Applications.spec.js","sourceRoot":"","sources":["../../../../src/components/sdd/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}).timeout(10e3);\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 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"]}
|
|
@@ -70,7 +70,7 @@ describe("<Authentication/>", () => {
|
|
|
70
70
|
},
|
|
71
71
|
});
|
|
72
72
|
await waitTick();
|
|
73
|
-
wrapper.find("
|
|
73
|
+
wrapper.find("#accordion-control-authentication-advanced").simulate("click");
|
|
74
74
|
expect(wrapper.find(".auth-setup-clientid input").prop("value"), `Confirm that "Client ID" didn't change`).to.equal(arbitrary_value);
|
|
75
75
|
expect(await accessibilityAssessor(wrapper), "Accessibility scan").to.be.true;
|
|
76
76
|
});
|