@thinkwise/testwise 0.2.62 → 0.2.99
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/Testwise.ts +35 -0
- package/artifact-builder/ArtifactManager.ts +25 -2
- package/artifact-builder/ComponentClassModelBuilder.ts +148 -0
- package/artifact-builder/InterfaceGenerator.ts +31 -33
- package/artifact-builder/ModelDataBuilder.ts +18 -20
- package/artifact-builder/ModelDataRefiner.ts +23 -3
- package/artifact-builder/SchemaGenerator.ts +45 -35
- package/artifact-builder/ScreenInterfaceRefiner.ts +25 -10
- package/artifact-builder/SelectorBuilder.ts +30 -24
- package/artifact-builder/SubjectClassModelBuilder.ts +209 -0
- package/artifact-builder/SubjectComponentGenerator.ts +67 -246
- package/artifact-builder/SubjectGenerator.ts +117 -230
- package/artifact-builder/SubjectRegistration.ts +41 -32
- package/artifact-builder/TsFileModel.ts +94 -0
- package/artifact-builder/TsFileSerializer.ts +247 -0
- package/artifact-builder/helpers/DataRetriever.ts +64 -27
- package/artifact-builder/helpers/NamingHandler.ts +23 -78
- package/artifact-builder/helpers/PipelinePaths.ts +123 -0
- package/artifact-builder/helpers/Stopwatch.ts +10 -0
- package/artifact-builder/helpers/index.ts +1 -0
- package/artifact-builder/index.ts +4 -0
- package/components/BaseComponentObjects.ts +17 -0
- package/components/action-bar/ActionBar.ts +35 -47
- package/components/action-bar/ActionBarObjects.ts +2 -0
- package/components/action-bar/CustomActionBar.ts +6 -0
- package/components/cardlist/Cardlist.ts +6 -0
- package/components/chart/Chart.ts +6 -0
- package/components/combined-filter/CombinedFilter.ts +9 -0
- package/components/cube-view-bar/CubeViewBar.ts +6 -0
- package/components/export/ExportComponent.ts +12 -0
- package/components/filter/ExcelStyleFilterPopup.ts +83 -10
- package/components/filter/ExcelStyleFilterPopupObjects.ts +29 -3
- package/components/filter/FilterForm.ts +10 -0
- package/components/filter/FilterPopup.ts +30 -9
- package/components/filter/FilterPopupObjects.ts +10 -3
- package/components/filter/FindForm.ts +7 -0
- package/components/filter/ManagePrefilterPopup.ts +11 -0
- package/components/form/Form.ts +16 -0
- package/components/grid/Grid.ts +50 -14
- package/components/grid/GridObjects.ts +0 -15
- package/components/maps/Maps.ts +6 -0
- package/components/menu/ListBarMenuComponent.ts +10 -0
- package/components/pivot-grid/PivotGrid.ts +6 -0
- package/components/pivot-grid/PivotGridFieldList.ts +7 -0
- package/components/pop-up/AllRowsPopUp.ts +12 -0
- package/components/pop-up/PopUpComponent.ts +11 -0
- package/components/prefilter-list/PrefilterList.ts +9 -0
- package/components/preview/Preview.ts +6 -0
- package/components/report-bar/ReportBar.ts +6 -0
- package/components/report-tiles/ReportTiles.ts +6 -0
- package/components/scheduler/Scheduler.ts +6 -0
- package/components/snackbar/SnackBar.ts +12 -0
- package/components/splitter/Splitter.ts +6 -0
- package/components/tab/BaseTab.ts +5 -0
- package/components/tab/DetailTabPage.ts +11 -0
- package/components/tab/Tab.ts +10 -0
- package/components/task/TaskBar.ts +13 -3
- package/components/task/TaskTiles.ts +12 -3
- package/components/topbar/TopBar.ts +10 -0
- package/components/tree-view/TreeView.ts +9 -0
- package/controls/DateControl.ts +47 -9
- package/controls/DateControlObjects.ts +15 -0
- package/controls/FormComboBox.ts +43 -26
- package/controls/FormComboBoxObjects.ts +27 -0
- package/controls/GridColumnControl.ts +35 -4
- package/controls/GridColumnControlObjects.ts +1 -1
- package/controls/InputFieldControl.ts +61 -15
- package/controls/InputFieldControlObjects.ts +19 -0
- package/controls/LookupDropdown.ts +59 -31
- package/controls/LookupDropdownObjects.ts +19 -0
- package/dist/Testwise.js +35 -0
- package/dist/Testwise.js.map +1 -1
- package/dist/artifact-builder/ArtifactManager.d.ts +18 -1
- package/dist/artifact-builder/ArtifactManager.js +24 -2
- package/dist/artifact-builder/ArtifactManager.js.map +1 -1
- package/dist/artifact-builder/ComponentClassModelBuilder.d.ts +22 -0
- package/dist/artifact-builder/ComponentClassModelBuilder.js +115 -0
- package/dist/artifact-builder/ComponentClassModelBuilder.js.map +1 -0
- package/dist/artifact-builder/InterfaceGenerator.d.ts +15 -6
- package/dist/artifact-builder/InterfaceGenerator.js +27 -26
- package/dist/artifact-builder/InterfaceGenerator.js.map +1 -1
- package/dist/artifact-builder/ModelDataBuilder.d.ts +7 -0
- package/dist/artifact-builder/ModelDataBuilder.js +13 -5
- package/dist/artifact-builder/ModelDataBuilder.js.map +1 -1
- package/dist/artifact-builder/ModelDataRefiner.d.ts +18 -1
- package/dist/artifact-builder/ModelDataRefiner.js +18 -3
- package/dist/artifact-builder/ModelDataRefiner.js.map +1 -1
- package/dist/artifact-builder/SchemaGenerator.d.ts +21 -5
- package/dist/artifact-builder/SchemaGenerator.js +38 -26
- package/dist/artifact-builder/SchemaGenerator.js.map +1 -1
- package/dist/artifact-builder/ScreenInterfaceRefiner.d.ts +18 -1
- package/dist/artifact-builder/ScreenInterfaceRefiner.js +23 -9
- package/dist/artifact-builder/ScreenInterfaceRefiner.js.map +1 -1
- package/dist/artifact-builder/SelectorBuilder.d.ts +18 -5
- package/dist/artifact-builder/SelectorBuilder.js +29 -14
- package/dist/artifact-builder/SelectorBuilder.js.map +1 -1
- package/dist/artifact-builder/SubjectClassModelBuilder.d.ts +38 -0
- package/dist/artifact-builder/SubjectClassModelBuilder.js +158 -0
- package/dist/artifact-builder/SubjectClassModelBuilder.js.map +1 -0
- package/dist/artifact-builder/SubjectComponentGenerator.d.ts +25 -14
- package/dist/artifact-builder/SubjectComponentGenerator.js +65 -189
- package/dist/artifact-builder/SubjectComponentGenerator.js.map +1 -1
- package/dist/artifact-builder/SubjectGenerator.d.ts +32 -13
- package/dist/artifact-builder/SubjectGenerator.js +81 -165
- package/dist/artifact-builder/SubjectGenerator.js.map +1 -1
- package/dist/artifact-builder/SubjectRegistration.d.ts +22 -8
- package/dist/artifact-builder/SubjectRegistration.js +29 -14
- package/dist/artifact-builder/SubjectRegistration.js.map +1 -1
- package/dist/artifact-builder/TsFileModel.d.ts +86 -0
- package/dist/artifact-builder/TsFileModel.js +2 -0
- package/dist/artifact-builder/TsFileModel.js.map +1 -0
- package/dist/artifact-builder/TsFileSerializer.d.ts +19 -0
- package/dist/artifact-builder/TsFileSerializer.js +225 -0
- package/dist/artifact-builder/TsFileSerializer.js.map +1 -0
- package/dist/artifact-builder/helpers/DataRetriever.d.ts +22 -3
- package/dist/artifact-builder/helpers/DataRetriever.js +56 -26
- package/dist/artifact-builder/helpers/DataRetriever.js.map +1 -1
- package/dist/artifact-builder/helpers/NamingHandler.d.ts +18 -6
- package/dist/artifact-builder/helpers/NamingHandler.js +20 -61
- package/dist/artifact-builder/helpers/NamingHandler.js.map +1 -1
- package/dist/artifact-builder/helpers/PipelinePaths.d.ts +52 -0
- package/dist/artifact-builder/helpers/PipelinePaths.js +99 -0
- package/dist/artifact-builder/helpers/PipelinePaths.js.map +1 -0
- package/dist/artifact-builder/helpers/Stopwatch.d.ts +10 -0
- package/dist/artifact-builder/helpers/Stopwatch.js +10 -0
- package/dist/artifact-builder/helpers/Stopwatch.js.map +1 -1
- package/dist/artifact-builder/helpers/index.d.ts +1 -0
- package/dist/artifact-builder/helpers/index.js +1 -0
- package/dist/artifact-builder/helpers/index.js.map +1 -1
- package/dist/artifact-builder/index.d.ts +4 -0
- package/dist/artifact-builder/index.js +4 -0
- package/dist/artifact-builder/index.js.map +1 -1
- package/dist/components/BaseComponentObjects.d.ts +17 -0
- package/dist/components/BaseComponentObjects.js +17 -0
- package/dist/components/BaseComponentObjects.js.map +1 -1
- package/dist/components/action-bar/ActionBar.d.ts +21 -24
- package/dist/components/action-bar/ActionBar.js +31 -24
- package/dist/components/action-bar/ActionBar.js.map +1 -1
- package/dist/components/action-bar/ActionBarObjects.d.ts +1 -0
- package/dist/components/action-bar/ActionBarObjects.js +1 -0
- package/dist/components/action-bar/ActionBarObjects.js.map +1 -1
- package/dist/components/action-bar/CustomActionBar.d.ts +6 -0
- package/dist/components/action-bar/CustomActionBar.js +6 -0
- package/dist/components/action-bar/CustomActionBar.js.map +1 -1
- package/dist/components/cardlist/Cardlist.d.ts +6 -0
- package/dist/components/cardlist/Cardlist.js +6 -0
- package/dist/components/cardlist/Cardlist.js.map +1 -1
- package/dist/components/chart/Chart.d.ts +6 -0
- package/dist/components/chart/Chart.js +6 -0
- package/dist/components/chart/Chart.js.map +1 -1
- package/dist/components/combined-filter/CombinedFilter.d.ts +9 -0
- package/dist/components/combined-filter/CombinedFilter.js +9 -0
- package/dist/components/combined-filter/CombinedFilter.js.map +1 -1
- package/dist/components/cube-view-bar/CubeViewBar.d.ts +6 -0
- package/dist/components/cube-view-bar/CubeViewBar.js +6 -0
- package/dist/components/cube-view-bar/CubeViewBar.js.map +1 -1
- package/dist/components/export/ExportComponent.d.ts +12 -0
- package/dist/components/export/ExportComponent.js +12 -0
- package/dist/components/export/ExportComponent.js.map +1 -1
- package/dist/components/filter/ExcelStyleFilterPopup.d.ts +25 -2
- package/dist/components/filter/ExcelStyleFilterPopup.js +60 -6
- package/dist/components/filter/ExcelStyleFilterPopup.js.map +1 -1
- package/dist/components/filter/ExcelStyleFilterPopupObjects.d.ts +8 -1
- package/dist/components/filter/ExcelStyleFilterPopupObjects.js +15 -2
- package/dist/components/filter/ExcelStyleFilterPopupObjects.js.map +1 -1
- package/dist/components/filter/FilterForm.d.ts +10 -0
- package/dist/components/filter/FilterForm.js +10 -0
- package/dist/components/filter/FilterForm.js.map +1 -1
- package/dist/components/filter/FilterPopup.d.ts +22 -4
- package/dist/components/filter/FilterPopup.js +17 -9
- package/dist/components/filter/FilterPopup.js.map +1 -1
- package/dist/components/filter/FilterPopupObjects.d.ts +5 -2
- package/dist/components/filter/FilterPopupObjects.js +5 -2
- package/dist/components/filter/FilterPopupObjects.js.map +1 -1
- package/dist/components/filter/FindForm.d.ts +7 -0
- package/dist/components/filter/FindForm.js +7 -0
- package/dist/components/filter/FindForm.js.map +1 -1
- package/dist/components/filter/ManagePrefilterPopup.d.ts +11 -0
- package/dist/components/filter/ManagePrefilterPopup.js +11 -0
- package/dist/components/filter/ManagePrefilterPopup.js.map +1 -1
- package/dist/components/form/Form.d.ts +16 -0
- package/dist/components/form/Form.js +16 -0
- package/dist/components/form/Form.js.map +1 -1
- package/dist/components/grid/Grid.d.ts +20 -1
- package/dist/components/grid/Grid.js +35 -25
- package/dist/components/grid/Grid.js.map +1 -1
- package/dist/components/grid/GridObjects.d.ts +0 -4
- package/dist/components/grid/GridObjects.js +0 -6
- package/dist/components/grid/GridObjects.js.map +1 -1
- package/dist/components/maps/Maps.d.ts +6 -0
- package/dist/components/maps/Maps.js +6 -0
- package/dist/components/maps/Maps.js.map +1 -1
- package/dist/components/menu/ListBarMenuComponent.d.ts +10 -0
- package/dist/components/menu/ListBarMenuComponent.js +10 -0
- package/dist/components/menu/ListBarMenuComponent.js.map +1 -1
- package/dist/components/pivot-grid/PivotGrid.d.ts +6 -0
- package/dist/components/pivot-grid/PivotGrid.js +6 -0
- package/dist/components/pivot-grid/PivotGrid.js.map +1 -1
- package/dist/components/pivot-grid/PivotGridFieldList.d.ts +7 -0
- package/dist/components/pivot-grid/PivotGridFieldList.js +7 -0
- package/dist/components/pivot-grid/PivotGridFieldList.js.map +1 -1
- package/dist/components/pop-up/AllRowsPopUp.d.ts +12 -0
- package/dist/components/pop-up/AllRowsPopUp.js +12 -0
- package/dist/components/pop-up/AllRowsPopUp.js.map +1 -1
- package/dist/components/pop-up/PopUpComponent.d.ts +11 -0
- package/dist/components/pop-up/PopUpComponent.js +11 -0
- package/dist/components/pop-up/PopUpComponent.js.map +1 -1
- package/dist/components/prefilter-list/PrefilterList.d.ts +9 -0
- package/dist/components/prefilter-list/PrefilterList.js +9 -0
- package/dist/components/prefilter-list/PrefilterList.js.map +1 -1
- package/dist/components/preview/Preview.d.ts +6 -0
- package/dist/components/preview/Preview.js +6 -0
- package/dist/components/preview/Preview.js.map +1 -1
- package/dist/components/report-bar/ReportBar.d.ts +6 -0
- package/dist/components/report-bar/ReportBar.js +6 -0
- package/dist/components/report-bar/ReportBar.js.map +1 -1
- package/dist/components/report-tiles/ReportTiles.d.ts +6 -0
- package/dist/components/report-tiles/ReportTiles.js +6 -0
- package/dist/components/report-tiles/ReportTiles.js.map +1 -1
- package/dist/components/scheduler/Scheduler.d.ts +6 -0
- package/dist/components/scheduler/Scheduler.js +6 -0
- package/dist/components/scheduler/Scheduler.js.map +1 -1
- package/dist/components/snackbar/SnackBar.d.ts +12 -0
- package/dist/components/snackbar/SnackBar.js +12 -0
- package/dist/components/snackbar/SnackBar.js.map +1 -1
- package/dist/components/splitter/Splitter.d.ts +6 -0
- package/dist/components/splitter/Splitter.js +6 -0
- package/dist/components/splitter/Splitter.js.map +1 -1
- package/dist/components/tab/BaseTab.d.ts +5 -0
- package/dist/components/tab/BaseTab.js +5 -0
- package/dist/components/tab/BaseTab.js.map +1 -1
- package/dist/components/tab/DetailTabPage.d.ts +11 -0
- package/dist/components/tab/DetailTabPage.js +11 -0
- package/dist/components/tab/DetailTabPage.js.map +1 -1
- package/dist/components/tab/Tab.d.ts +10 -0
- package/dist/components/tab/Tab.js +10 -0
- package/dist/components/tab/Tab.js.map +1 -1
- package/dist/components/task/TaskBar.d.ts +12 -2
- package/dist/components/task/TaskBar.js +13 -3
- package/dist/components/task/TaskBar.js.map +1 -1
- package/dist/components/task/TaskTiles.d.ts +11 -2
- package/dist/components/task/TaskTiles.js +12 -3
- package/dist/components/task/TaskTiles.js.map +1 -1
- package/dist/components/topbar/TopBar.d.ts +10 -0
- package/dist/components/topbar/TopBar.js +10 -0
- package/dist/components/topbar/TopBar.js.map +1 -1
- package/dist/components/tree-view/TreeView.d.ts +9 -0
- package/dist/components/tree-view/TreeView.js +9 -0
- package/dist/components/tree-view/TreeView.js.map +1 -1
- package/dist/controls/DateControl.d.ts +40 -2
- package/dist/controls/DateControl.js +24 -7
- package/dist/controls/DateControl.js.map +1 -1
- package/dist/controls/DateControlObjects.d.ts +8 -1
- package/dist/controls/DateControlObjects.js +8 -1
- package/dist/controls/DateControlObjects.js.map +1 -1
- package/dist/controls/FormComboBox.d.ts +30 -0
- package/dist/controls/FormComboBox.js +19 -16
- package/dist/controls/FormComboBox.js.map +1 -1
- package/dist/controls/FormComboBoxObjects.d.ts +12 -1
- package/dist/controls/FormComboBoxObjects.js +15 -1
- package/dist/controls/FormComboBoxObjects.js.map +1 -1
- package/dist/controls/GridColumnControl.d.ts +30 -0
- package/dist/controls/GridColumnControl.js +13 -4
- package/dist/controls/GridColumnControl.js.map +1 -1
- package/dist/controls/GridColumnControlObjects.js +1 -1
- package/dist/controls/GridColumnControlObjects.js.map +1 -1
- package/dist/controls/InputFieldControl.d.ts +50 -3
- package/dist/controls/InputFieldControl.js +40 -11
- package/dist/controls/InputFieldControl.js.map +1 -1
- package/dist/controls/InputFieldControlObjects.d.ts +10 -1
- package/dist/controls/InputFieldControlObjects.js +10 -1
- package/dist/controls/InputFieldControlObjects.js.map +1 -1
- package/dist/controls/LookupDropdown.d.ts +29 -0
- package/dist/controls/LookupDropdown.js +36 -25
- package/dist/controls/LookupDropdown.js.map +1 -1
- package/dist/controls/LookupDropdownObjects.d.ts +10 -0
- package/dist/controls/LookupDropdownObjects.js +11 -0
- package/dist/controls/LookupDropdownObjects.js.map +1 -0
- package/dist/enums/ElementTypes.d.ts +18 -0
- package/dist/enums/ElementTypes.js +18 -0
- package/dist/enums/ElementTypes.js.map +1 -1
- package/dist/enums/ExportFormat.d.ts +8 -0
- package/dist/enums/ExportFormat.js +8 -0
- package/dist/enums/ExportFormat.js.map +1 -1
- package/dist/enums/LogLevel.d.ts +17 -0
- package/dist/enums/LogLevel.js +17 -1
- package/dist/enums/LogLevel.js.map +1 -1
- package/dist/enums/index.d.ts +1 -0
- package/dist/enums/index.js +1 -0
- package/dist/enums/index.js.map +1 -1
- package/dist/helpers/ConfigChecker.d.ts +13 -0
- package/dist/helpers/ConfigChecker.js +13 -0
- package/dist/helpers/ConfigChecker.js.map +1 -1
- package/dist/helpers/Ensure.d.ts +13 -0
- package/dist/helpers/Ensure.js +13 -0
- package/dist/helpers/Ensure.js.map +1 -1
- package/dist/helpers/FlightTracker.d.ts +13 -3
- package/dist/helpers/FlightTracker.js +103 -17
- package/dist/helpers/FlightTracker.js.map +1 -1
- package/dist/helpers/GlobalWaitEventHandler.d.ts +13 -0
- package/dist/helpers/GlobalWaitEventHandler.js +13 -0
- package/dist/helpers/GlobalWaitEventHandler.js.map +1 -1
- package/dist/helpers/LoginHelper.d.ts +35 -1
- package/dist/helpers/LoginHelper.js +46 -11
- package/dist/helpers/LoginHelper.js.map +1 -1
- package/dist/helpers/PathResolver.d.ts +22 -0
- package/dist/helpers/PathResolver.js +22 -0
- package/dist/helpers/PathResolver.js.map +1 -1
- package/dist/helpers/Poll.d.ts +13 -1
- package/dist/helpers/Poll.js +12 -0
- package/dist/helpers/Poll.js.map +1 -1
- package/dist/helpers/RegexHelper.d.ts +15 -0
- package/dist/helpers/RegexHelper.js +15 -3
- package/dist/helpers/RegexHelper.js.map +1 -1
- package/dist/helpers/SubjectNavigator.d.ts +26 -0
- package/dist/helpers/SubjectNavigator.js +51 -0
- package/dist/helpers/SubjectNavigator.js.map +1 -0
- package/dist/helpers/UserSimulationHelper.d.ts +14 -0
- package/dist/helpers/UserSimulationHelper.js +14 -0
- package/dist/helpers/UserSimulationHelper.js.map +1 -1
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.js +1 -0
- package/dist/helpers/index.js.map +1 -1
- package/dist/index.d.ts +6 -20
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IComponentObjects.d.ts +12 -0
- package/dist/interfaces/IComponentSchemaMeta.d.ts +15 -0
- package/dist/interfaces/IComponentSchemaMeta.js +2 -0
- package/dist/interfaces/IComponentSchemaMeta.js.map +1 -0
- package/dist/interfaces/IProperty.d.ts +13 -0
- package/dist/interfaces/IRegisteredSubjects.d.ts +12 -0
- package/dist/interfaces/ISeedSubjectDraft.d.ts +16 -0
- package/dist/interfaces/ISeedSubjectDraft.js +2 -0
- package/dist/interfaces/ISeedSubjectDraft.js.map +1 -0
- package/dist/interfaces/ISubject.d.ts +13 -0
- package/dist/interfaces/ISubjectDetail.d.ts +11 -0
- package/dist/interfaces/ISubjectDetail.js +2 -0
- package/dist/interfaces/ISubjectDetail.js.map +1 -0
- package/dist/mcp/ArtifactResolver.d.ts +152 -0
- package/dist/mcp/ArtifactResolver.js +232 -0
- package/dist/mcp/ArtifactResolver.js.map +1 -0
- package/dist/mcp/index.d.ts +2 -0
- package/dist/mcp/index.js +2 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/page-extensions/GlobalComponents.d.ts +30 -0
- package/dist/page-extensions/GlobalComponents.js +30 -0
- package/dist/page-extensions/GlobalComponents.js.map +1 -1
- package/dist/page-extensions/GoToDeepLink.d.ts +9 -0
- package/dist/page-extensions/GoToDeepLink.js +9 -0
- package/dist/page-extensions/GoToDeepLink.js.map +1 -1
- package/dist/page-extensions/LoginFeatures.d.ts +8 -0
- package/dist/page-extensions/LoginFeatures.js +8 -0
- package/dist/page-extensions/LoginFeatures.js.map +1 -1
- package/dist/page-extensions/SubjectRegistry.d.ts +31 -0
- package/dist/page-extensions/SubjectRegistry.js +31 -0
- package/dist/page-extensions/SubjectRegistry.js.map +1 -1
- package/dist/page-extensions/UserSimulation.d.ts +21 -0
- package/dist/page-extensions/UserSimulation.js +21 -0
- package/dist/page-extensions/UserSimulation.js.map +1 -1
- package/dist/page-extensions/WaitEventHandler.d.ts +20 -0
- package/dist/page-extensions/WaitEventHandler.js +20 -0
- package/dist/page-extensions/WaitEventHandler.js.map +1 -1
- package/dist/page-overrides/ClickOverride.d.ts +23 -2
- package/dist/page-overrides/ClickOverride.js +34 -50
- package/dist/page-overrides/ClickOverride.js.map +1 -1
- package/dist/page-overrides/FillOverride.d.ts +23 -0
- package/dist/page-overrides/FillOverride.js +46 -66
- package/dist/page-overrides/FillOverride.js.map +1 -1
- package/dist/services/ConfigBuilder.d.ts +24 -0
- package/dist/services/ConfigBuilder.js +24 -0
- package/dist/services/ConfigBuilder.js.map +1 -1
- package/dist/services/IndiciumApi.service.d.ts +26 -0
- package/dist/services/IndiciumApi.service.js +40 -5
- package/dist/services/IndiciumApi.service.js.map +1 -1
- package/dist/services/Logger.d.ts +13 -0
- package/dist/services/Logger.js +39 -0
- package/dist/services/Logger.js.map +1 -1
- package/dist/types/Components.d.ts +18 -1
- package/dist/types/Components.js +0 -1
- package/dist/types/Components.js.map +1 -1
- package/dist/types/LocatorType.d.ts +5 -0
- package/dist/types/LocatorType.js +2 -0
- package/dist/types/LocatorType.js.map +1 -0
- package/dist/types/PollTypes.d.ts +8 -0
- package/dist/types/Test.d.ts +18 -0
- package/dist/types/Universal.d.ts +12 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/enums/ElementTypes.ts +18 -0
- package/enums/ExportFormat.ts +8 -0
- package/enums/LogLevel.ts +17 -1
- package/enums/index.ts +1 -0
- package/helpers/ConfigChecker.ts +13 -0
- package/helpers/Ensure.ts +13 -0
- package/helpers/FlightTracker.ts +109 -20
- package/helpers/GlobalWaitEventHandler.ts +13 -0
- package/helpers/LoginHelper.ts +49 -12
- package/helpers/PathResolver.ts +22 -0
- package/helpers/Poll.ts +13 -1
- package/helpers/RegexHelper.ts +15 -3
- package/helpers/SubjectNavigator.ts +57 -0
- package/helpers/UserSimulationHelper.ts +14 -0
- package/helpers/index.ts +1 -0
- package/index.ts +1 -0
- package/interfaces/IComponentObjects.ts +12 -0
- package/interfaces/IComponentSchemaMeta.ts +17 -0
- package/interfaces/IProperty.ts +13 -0
- package/interfaces/IRegisteredSubjects.ts +12 -0
- package/interfaces/ISeedSubjectDraft.ts +17 -0
- package/interfaces/ISubject.ts +13 -0
- package/interfaces/ISubjectDetail.ts +12 -0
- package/mcp/ArtifactResolver.ts +296 -0
- package/mcp/index.ts +2 -0
- package/package.json +20 -8
- package/page-extensions/GlobalComponents.ts +30 -0
- package/page-extensions/GoToDeepLink.ts +9 -0
- package/page-extensions/LoginFeatures.ts +8 -0
- package/page-extensions/SubjectRegistry.ts +32 -0
- package/page-extensions/UserSimulation.ts +21 -0
- package/page-extensions/WaitEventHandler.ts +20 -0
- package/page-overrides/ClickOverride.ts +36 -55
- package/page-overrides/FillOverride.ts +59 -73
- package/promptCredentials.js +1 -1
- package/scripts/Testwise.template.json +1 -1
- package/scripts/diagram.js +2267 -0
- package/scripts/main.js +84 -63
- package/scripts/postinstall.js +55 -42
- package/scripts/setup.js +91 -37
- package/scripts/sync.js +767 -748
- package/services/ConfigBuilder.ts +24 -0
- package/services/IndiciumApi.service.ts +44 -6
- package/services/Logger.ts +40 -0
- package/templates/copilot-instructions.md +130 -0
- package/templates/mcp.json +9 -0
- package/templates/testwise-test-expert.agent.md +453 -0
- package/tests/tsconfig.json +12 -0
- package/tsconfig.json +6 -2
- package/types/Components.ts +17 -2
- package/types/LocatorType.ts +5 -0
- package/types/PollTypes.ts +8 -0
- package/types/Test.ts +18 -0
- package/types/Universal.ts +12 -0
- package/types/index.ts +2 -0
- package/dist/interfaces/IStoredTestResults.d.ts +0 -5
- package/dist/interfaces/IStoredTestResults.js +0 -2
- package/dist/interfaces/IStoredTestResults.js.map +0 -1
- package/dist/templates/test-artifacts/SubjectPageBase.d.ts +0 -5
- package/dist/templates/test-artifacts/SubjectPageBase.js +0 -6
- package/dist/templates/test-artifacts/SubjectPageBase.js.map +0 -1
- package/dist/templates/test-artifacts/screens/index.d.ts +0 -1
- package/dist/templates/test-artifacts/screens/index.js +0 -2
- package/dist/templates/test-artifacts/screens/index.js.map +0 -1
- package/dist/templates/test-artifacts/subjects/index.d.ts +0 -1
- package/dist/templates/test-artifacts/subjects/index.js +0 -2
- package/dist/templates/test-artifacts/subjects/index.js.map +0 -1
- package/interfaces/IStoredTestResults.ts +0 -6
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { Locator } from '@playwright/test';
|
|
2
2
|
import { BaseTabObjects } from './BaseTabObjects.js';
|
|
3
|
+
/**
|
|
4
|
+
* Shared base class for `Tab` and `DetailTabPage` containing the common
|
|
5
|
+
* tab-strip interaction methods (open by label, open by index, get active tab).
|
|
6
|
+
* Do not use this directly — use `Tab` or `DetailTabPage` in tests.
|
|
7
|
+
*/
|
|
3
8
|
export declare class BaseTab {
|
|
4
9
|
protected _objects: BaseTabObjects;
|
|
5
10
|
constructor(context: Locator);
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { BaseTabObjects } from './BaseTabObjects.js';
|
|
2
|
+
/**
|
|
3
|
+
* Shared base class for `Tab` and `DetailTabPage` containing the common
|
|
4
|
+
* tab-strip interaction methods (open by label, open by index, get active tab).
|
|
5
|
+
* Do not use this directly — use `Tab` or `DetailTabPage` in tests.
|
|
6
|
+
*/
|
|
2
7
|
export class BaseTab {
|
|
3
8
|
constructor(context) {
|
|
4
9
|
this._objects = new BaseTabObjects(context.page(), context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTab.js","sourceRoot":"","sources":["../../../components/tab/BaseTab.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,OAAO,OAAO;IAGlB,YAAY,OAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,yBAAyB;IAEzB,+EAA+E;IAC/E,yEAAyE;IAClE,KAAK,CAAC,QAAQ,CAAC,IAAY;QAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,2DAA2D;IACpD,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,yBAAyB;IAClB,UAAU,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAEM,aAAa,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,2DAA2D;IACpD,KAAK,CAAC,aAAa,CAAC,IAAY;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;QACvD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"BaseTab.js","sourceRoot":"","sources":["../../../components/tab/BaseTab.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;GAIG;AACH,MAAM,OAAO,OAAO;IAGlB,YAAY,OAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,yBAAyB;IAEzB,+EAA+E;IAC/E,yEAAyE;IAClE,KAAK,CAAC,QAAQ,CAAC,IAAY;QAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,2DAA2D;IACpD,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,yBAAyB;IAClB,UAAU,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAEM,aAAa,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,2DAA2D;IACpD,KAAK,CAAC,aAAa,CAAC,IAAY;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;QACvD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import type { Locator } from '@playwright/test';
|
|
2
2
|
import { BaseTab } from './BaseTab.js';
|
|
3
3
|
import { DetailTabPageObjects } from './DetailTabPageObjects.js';
|
|
4
|
+
/**
|
|
5
|
+
* Wraps a Thinkwise detail-tab page — a full sub-screen that loads inside a
|
|
6
|
+
* tab panel, typically showing related data for the selected master record.
|
|
7
|
+
*
|
|
8
|
+
* In generated subject classes this is exposed as a typed `detailTabPage`
|
|
9
|
+
* property. Switch to a detail tab first, then interact with its content.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* await subject.tab.openDetailTabByLabel('Addresses');
|
|
13
|
+
* await subject.detailTabPage.context.waitFor({ state: 'visible' });
|
|
14
|
+
*/
|
|
4
15
|
export declare class DetailTabPage extends BaseTab {
|
|
5
16
|
protected _objects: DetailTabPageObjects;
|
|
6
17
|
constructor(context: Locator);
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { BaseTab } from './BaseTab.js';
|
|
2
2
|
import { DetailTabPageObjects } from './DetailTabPageObjects.js';
|
|
3
|
+
/**
|
|
4
|
+
* Wraps a Thinkwise detail-tab page — a full sub-screen that loads inside a
|
|
5
|
+
* tab panel, typically showing related data for the selected master record.
|
|
6
|
+
*
|
|
7
|
+
* In generated subject classes this is exposed as a typed `detailTabPage`
|
|
8
|
+
* property. Switch to a detail tab first, then interact with its content.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* await subject.tab.openDetailTabByLabel('Addresses');
|
|
12
|
+
* await subject.detailTabPage.context.waitFor({ state: 'visible' });
|
|
13
|
+
*/
|
|
3
14
|
export class DetailTabPage extends BaseTab {
|
|
4
15
|
constructor(context) {
|
|
5
16
|
super(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailTabPage.js","sourceRoot":"","sources":["../../../components/tab/DetailTabPage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,OAAO,aAAc,SAAQ,OAAO;IAGxC,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAEM,oBAAoB,CAAC,IAAY;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,uBAAuB,CAAC,KAAa;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"DetailTabPage.js","sourceRoot":"","sources":["../../../components/tab/DetailTabPage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAO;IAGxC,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAEM,oBAAoB,CAAC,IAAY;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,uBAAuB,CAAC,KAAa;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import type { Locator } from '@playwright/test';
|
|
2
2
|
import { BaseTab } from './BaseTab.js';
|
|
3
3
|
import { TabObjects } from './TabObjects.js';
|
|
4
|
+
/**
|
|
5
|
+
* Wraps a Thinkwise tab-strip component used to switch between related screens
|
|
6
|
+
* (e.g. detail tabs, sub-screens within a subject).
|
|
7
|
+
*
|
|
8
|
+
* In generated subject classes this is exposed as a typed `tab` property.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // Navigate to the "Addresses" detail tab:
|
|
12
|
+
* await subject.tab.openDetailTabByLabel('Addresses');
|
|
13
|
+
*/
|
|
4
14
|
export declare class Tab extends BaseTab {
|
|
5
15
|
protected _objects: TabObjects;
|
|
6
16
|
constructor(context: Locator);
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { BaseTab } from './BaseTab.js';
|
|
2
2
|
import { TabObjects } from './TabObjects.js';
|
|
3
|
+
/**
|
|
4
|
+
* Wraps a Thinkwise tab-strip component used to switch between related screens
|
|
5
|
+
* (e.g. detail tabs, sub-screens within a subject).
|
|
6
|
+
*
|
|
7
|
+
* In generated subject classes this is exposed as a typed `tab` property.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* // Navigate to the "Addresses" detail tab:
|
|
11
|
+
* await subject.tab.openDetailTabByLabel('Addresses');
|
|
12
|
+
*/
|
|
3
13
|
export class Tab extends BaseTab {
|
|
4
14
|
constructor(context) {
|
|
5
15
|
super(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../components/tab/Tab.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,OAAO,GAAI,SAAQ,OAAO;IAG9B,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,qCAAqC;IAErC,4EAA4E;IAC5E,wFAAwF;IACjF,KAAK,CAAC,WAAW,CAAC,WAAmB,IAAI;QAC9C,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,2CAA2C;IACpC,UAAU,CAAC,WAAmB,IAAI;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,kDAAkD;IAC3C,KAAK,CAAC,WAAW;QACtB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,2CAA2C;IACpC,UAAU;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,6DAA6D;IACtD,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../components/tab/Tab.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,OAAO,GAAI,SAAQ,OAAO;IAG9B,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,qCAAqC;IAErC,4EAA4E;IAC5E,wFAAwF;IACjF,KAAK,CAAC,WAAW,CAAC,WAAmB,IAAI;QAC9C,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,2CAA2C;IACpC,UAAU,CAAC,WAAmB,IAAI;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,kDAAkD;IAC3C,KAAK,CAAC,WAAW;QACtB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,2CAA2C;IACpC,UAAU;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,6DAA6D;IACtD,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import type { Locator } from '@playwright/test';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps the Thinkwise task-bar component that shows process/workflow task
|
|
4
|
+
* buttons in a horizontal bar at the bottom or top of a subject screen.
|
|
5
|
+
*
|
|
6
|
+
* In generated subject classes this is exposed as a typed `taskBar` property.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* await subject.taskBar.getTaskById('approve').click();
|
|
10
|
+
* const label = await subject.taskBar.getTaskByLabel('Approve').textContent();
|
|
11
|
+
*/
|
|
2
12
|
export declare class TaskBar {
|
|
3
13
|
private _taskBarObjects;
|
|
4
14
|
/**
|
|
5
|
-
* @param
|
|
15
|
+
* @param context the taskbar container element (same idea as Grid's context)
|
|
6
16
|
*/
|
|
7
|
-
constructor(
|
|
17
|
+
constructor(context: Locator);
|
|
8
18
|
/** returns all task buttons */
|
|
9
19
|
tasks: () => Locator;
|
|
10
20
|
/** returns a task button by its data-testid key */
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { TaskBarObjects } from './TaskBarObjects.js';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps the Thinkwise task-bar component that shows process/workflow task
|
|
4
|
+
* buttons in a horizontal bar at the bottom or top of a subject screen.
|
|
5
|
+
*
|
|
6
|
+
* In generated subject classes this is exposed as a typed `taskBar` property.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* await subject.taskBar.getTaskById('approve').click();
|
|
10
|
+
* const label = await subject.taskBar.getTaskByLabel('Approve').textContent();
|
|
11
|
+
*/
|
|
2
12
|
export class TaskBar {
|
|
3
13
|
/**
|
|
4
|
-
* @param
|
|
14
|
+
* @param context the taskbar container element (same idea as Grid's context)
|
|
5
15
|
*/
|
|
6
|
-
constructor(
|
|
16
|
+
constructor(context) {
|
|
7
17
|
/** returns all task buttons */
|
|
8
18
|
this.tasks = () => this._taskBarObjects.tasks(); // matches Grid's "rows()" noun-style
|
|
9
19
|
/** returns a task button by its data-testid key */
|
|
@@ -17,7 +27,7 @@ export class TaskBar {
|
|
|
17
27
|
this.clickByLabel = async (label) => {
|
|
18
28
|
await this.getTaskByLabel(label).click();
|
|
19
29
|
};
|
|
20
|
-
this._taskBarObjects = new TaskBarObjects(
|
|
30
|
+
this._taskBarObjects = new TaskBarObjects(context.page(), context);
|
|
21
31
|
}
|
|
22
32
|
}
|
|
23
33
|
//# sourceMappingURL=TaskBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskBar.js","sourceRoot":"","sources":["../../../components/task/TaskBar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,OAAO,OAAO;IAGlB;;OAEG;IACH,YAAY,
|
|
1
|
+
{"version":3,"file":"TaskBar.js","sourceRoot":"","sources":["../../../components/task/TaskBar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,OAAO,OAAO;IAGlB;;OAEG;IACH,YAAY,OAAgB;QAI5B,+BAA+B;QACxB,UAAK,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,qCAAqC;QAEjG,mDAAmD;QAC5C,gBAAW,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAElF,iDAAiD;QAC1C,mBAAc,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE5F,oDAAoD;QAC7C,cAAS,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;YACtD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QACtC,CAAC,CAAC;QAEK,iBAAY,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;YAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3C,CAAC,CAAC;QAnBA,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CAmBF"}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import type { Locator } from '@playwright/test';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps the Thinkwise task-tiles component that displays tasks as clickable
|
|
4
|
+
* tile buttons on a dashboard or process-flow screen.
|
|
5
|
+
*
|
|
6
|
+
* In generated subject classes this is exposed as a typed `taskTiles` property.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* await subject.taskTiles.getTileByLabel('Approve').click();
|
|
10
|
+
*/
|
|
2
11
|
export declare class TaskTiles {
|
|
3
12
|
private _taskTilesObjects;
|
|
4
13
|
/**
|
|
5
|
-
* @param
|
|
14
|
+
* @param context the taskTiles container element
|
|
6
15
|
*/
|
|
7
|
-
constructor(
|
|
16
|
+
constructor(context: Locator);
|
|
8
17
|
/** returns all task tile buttons */
|
|
9
18
|
tasks: () => Locator;
|
|
10
19
|
getTaskById: (key: string) => Locator;
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import { TaskTilesObjects } from './TaskTilesObjects.js';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps the Thinkwise task-tiles component that displays tasks as clickable
|
|
4
|
+
* tile buttons on a dashboard or process-flow screen.
|
|
5
|
+
*
|
|
6
|
+
* In generated subject classes this is exposed as a typed `taskTiles` property.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* await subject.taskTiles.getTileByLabel('Approve').click();
|
|
10
|
+
*/
|
|
2
11
|
export class TaskTiles {
|
|
3
12
|
/**
|
|
4
|
-
* @param
|
|
13
|
+
* @param context the taskTiles container element
|
|
5
14
|
*/
|
|
6
|
-
constructor(
|
|
15
|
+
constructor(context) {
|
|
7
16
|
/** returns all task tile buttons */
|
|
8
17
|
this.tasks = () => this._taskTilesObjects.tasks();
|
|
9
18
|
this.getTaskById = (key) => this._taskTilesObjects.taskById(key);
|
|
@@ -14,7 +23,7 @@ export class TaskTiles {
|
|
|
14
23
|
this.clickByLabel = async (label) => {
|
|
15
24
|
await this.getTaskByLabel(label).click();
|
|
16
25
|
};
|
|
17
|
-
this._taskTilesObjects = new TaskTilesObjects(
|
|
26
|
+
this._taskTilesObjects = new TaskTilesObjects(context.page(), context);
|
|
18
27
|
}
|
|
19
28
|
}
|
|
20
29
|
//# sourceMappingURL=TaskTiles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskTiles.js","sourceRoot":"","sources":["../../../components/task/TaskTiles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,SAAS;IAGpB;;OAEG;IACH,YAAY,
|
|
1
|
+
{"version":3,"file":"TaskTiles.js","sourceRoot":"","sources":["../../../components/task/TaskTiles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAS;IAGpB;;OAEG;IACH,YAAY,OAAgB;QAI5B,oCAAoC;QAC7B,UAAK,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAEtD,gBAAW,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE7E,mBAAc,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEvF,cAAS,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;YACtD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QACtC,CAAC,CAAC;QAEK,iBAAY,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;YAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3C,CAAC,CAAC;QAhBA,IAAI,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;CAgBF"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import type { Locator, Page } from '@playwright/test';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps the Thinkwise application top bar that shows the page title,
|
|
4
|
+
* breadcrumb trail, and the user/application menu.
|
|
5
|
+
*
|
|
6
|
+
* Access via `page.components.topBar` — no need to construct this yourself.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const title = await page.components.topBar.getTopBarTitle().textContent();
|
|
10
|
+
* const breadcrumb = await page.components.topBar.getTopBarBreadcrumb().textContent();
|
|
11
|
+
*/
|
|
2
12
|
export declare class TopBarComponent {
|
|
3
13
|
private _objects;
|
|
4
14
|
constructor(page: Page, topbarContext?: Locator | null);
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import { TopBarObjects } from './TopBarObjects.js';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps the Thinkwise application top bar that shows the page title,
|
|
4
|
+
* breadcrumb trail, and the user/application menu.
|
|
5
|
+
*
|
|
6
|
+
* Access via `page.components.topBar` — no need to construct this yourself.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const title = await page.components.topBar.getTopBarTitle().textContent();
|
|
10
|
+
* const breadcrumb = await page.components.topBar.getTopBarBreadcrumb().textContent();
|
|
11
|
+
*/
|
|
2
12
|
export class TopBarComponent {
|
|
3
13
|
constructor(page, topbarContext = null) {
|
|
4
14
|
this.getTopBarTitle = () => this._objects.topBarTitle();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopBar.js","sourceRoot":"","sources":["../../../components/topbar/TopBar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,OAAO,eAAe;IAG1B,YAAY,IAAU,EAAE,gBAAgC,IAAI;QAIrD,mBAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAEnD,wBAAmB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAE7D,kBAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAPpD,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;CAOF"}
|
|
1
|
+
{"version":3,"file":"TopBar.js","sourceRoot":"","sources":["../../../components/topbar/TopBar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,OAAO,eAAe;IAG1B,YAAY,IAAU,EAAE,gBAAgC,IAAI;QAIrD,mBAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAEnD,wBAAmB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAE7D,kBAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAPpD,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;CAOF"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import type { Locator } from '@playwright/test';
|
|
2
2
|
import { TreeViewObjects } from './TreeViewObjects.js';
|
|
3
|
+
/**
|
|
4
|
+
* Wraps the Thinkwise tree-view navigation component used to display
|
|
5
|
+
* hierarchical data structures (e.g. organisational trees, folder structures).
|
|
6
|
+
*
|
|
7
|
+
* In generated subject classes this is exposed as a typed `treeView` property.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* await subject.treeView.context.getByText('Europe').click();
|
|
11
|
+
*/
|
|
3
12
|
export declare class TreeView {
|
|
4
13
|
treeViewObjects: TreeViewObjects;
|
|
5
14
|
constructor(context: Locator);
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { TreeViewObjects } from './TreeViewObjects.js';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps the Thinkwise tree-view navigation component used to display
|
|
4
|
+
* hierarchical data structures (e.g. organisational trees, folder structures).
|
|
5
|
+
*
|
|
6
|
+
* In generated subject classes this is exposed as a typed `treeView` property.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* await subject.treeView.context.getByText('Europe').click();
|
|
10
|
+
*/
|
|
2
11
|
export class TreeView {
|
|
3
12
|
constructor(context) {
|
|
4
13
|
this.treeViewObjects = new TreeViewObjects(context.page(), context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeView.js","sourceRoot":"","sources":["../../../components/tree-view/TreeView.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,OAAO,QAAQ;IAGnB,YAAY,OAAgB;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;IACtC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"TreeView.js","sourceRoot":"","sources":["../../../components/tree-view/TreeView.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,OAAO,QAAQ;IAGnB,YAAY,OAAgB;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
import type { Locator } from '@playwright/test';
|
|
2
|
+
/**
|
|
3
|
+
* Typed proxy for a date-picker field (`control_type: "date_picker"`) on a
|
|
4
|
+
* Thinkwise form screen.
|
|
5
|
+
*
|
|
6
|
+
* **How to use:** You never construct this directly. Generated subject
|
|
7
|
+
* component classes expose properties of type `IDateControl` for each date
|
|
8
|
+
* field on the form:
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* // Fill accepts any common date format — numbers are extracted and entered
|
|
12
|
+
* // sequentially so the date picker can apply its own formatting:
|
|
13
|
+
* await subject.form.hireDateField.fill('15-03-2025');
|
|
14
|
+
* await subject.form.hireDateField.fill('03/15/2025');
|
|
15
|
+
* await subject.form.hireDateField.fill('20250315'); // also works
|
|
16
|
+
*
|
|
17
|
+
* const raw = await subject.form.hireDateField.inputValue();
|
|
18
|
+
* await subject.form.hireDateField.clear();
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* The returned value is a **Proxy** — it works as both a Playwright `Locator`
|
|
22
|
+
* and a typed date control.
|
|
23
|
+
*/
|
|
2
24
|
export type IDateControl = Locator & IDateControlCore;
|
|
3
25
|
export type IDateControlCore = {
|
|
4
26
|
fill(value: string): Promise<void>;
|
|
@@ -7,8 +29,7 @@ export type IDateControlCore = {
|
|
|
7
29
|
inputElement(): Locator;
|
|
8
30
|
};
|
|
9
31
|
export declare class DateControl implements IDateControlCore {
|
|
10
|
-
private
|
|
11
|
-
private _inputLocator;
|
|
32
|
+
private _objects;
|
|
12
33
|
constructor(context: Locator, id: string);
|
|
13
34
|
/**
|
|
14
35
|
* Enter a date value in any common format (e.g., "MM/DD/YYYY", "YYYY-MM-DD", "DD-MM-YYYY").
|
|
@@ -18,8 +39,25 @@ export declare class DateControl implements IDateControlCore {
|
|
|
18
39
|
* @param value
|
|
19
40
|
*/
|
|
20
41
|
fill(value: string): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Clears the date input by filling it with an empty string.
|
|
44
|
+
*/
|
|
21
45
|
clear(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Returns the current raw string value from the underlying date input element.
|
|
48
|
+
*/
|
|
22
49
|
inputValue(): Promise<string>;
|
|
50
|
+
/**
|
|
51
|
+
* Returns the Playwright `Locator` for the underlying `<input>` element of the date field.
|
|
52
|
+
*/
|
|
23
53
|
inputElement(): Locator;
|
|
24
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Creates an `IDateControl` proxy that merges `DateControl` interaction methods with
|
|
57
|
+
* the underlying Playwright `Locator` for the `form-field__<id>` test ID.
|
|
58
|
+
* Use the returned value as both a typed date control and a regular Playwright locator.
|
|
59
|
+
* @param context - The parent locator to scope the control within.
|
|
60
|
+
* @param id - The field identifier used to locate `[data-testid="form-field__<id>"]`.
|
|
61
|
+
* @returns A proxy combining `IDateControlCore` methods and `Locator` capabilities.
|
|
62
|
+
*/
|
|
25
63
|
export declare function createDateControl(context: Locator, id: string): IDateControl;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { DateControlObjects } from './DateControlObjects.js';
|
|
1
2
|
export class DateControl {
|
|
2
3
|
constructor(context, id) {
|
|
3
|
-
this.
|
|
4
|
-
this._inputLocator = this._dateFieldLocator.locator('input');
|
|
4
|
+
this._objects = new DateControlObjects(context, id);
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* Enter a date value in any common format (e.g., "MM/DD/YYYY", "YYYY-MM-DD", "DD-MM-YYYY").
|
|
@@ -12,19 +12,36 @@ export class DateControl {
|
|
|
12
12
|
*/
|
|
13
13
|
async fill(value) {
|
|
14
14
|
const numbersOnlyValue = value.replace(/\D/g, '');
|
|
15
|
-
await this.
|
|
16
|
-
await this.
|
|
15
|
+
await this._objects.fieldInput().click();
|
|
16
|
+
await this._objects.fieldInput().pressSequentially(numbersOnlyValue);
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Clears the date input by filling it with an empty string.
|
|
20
|
+
*/
|
|
18
21
|
async clear() {
|
|
19
|
-
await this.
|
|
22
|
+
await this._objects.fieldInput().fill('');
|
|
20
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Returns the current raw string value from the underlying date input element.
|
|
26
|
+
*/
|
|
21
27
|
async inputValue() {
|
|
22
|
-
return await this.
|
|
28
|
+
return await this._objects.fieldInput().inputValue();
|
|
23
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Returns the Playwright `Locator` for the underlying `<input>` element of the date field.
|
|
32
|
+
*/
|
|
24
33
|
inputElement() {
|
|
25
|
-
return this.
|
|
34
|
+
return this._objects.fieldInput();
|
|
26
35
|
}
|
|
27
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Creates an `IDateControl` proxy that merges `DateControl` interaction methods with
|
|
39
|
+
* the underlying Playwright `Locator` for the `form-field__<id>` test ID.
|
|
40
|
+
* Use the returned value as both a typed date control and a regular Playwright locator.
|
|
41
|
+
* @param context - The parent locator to scope the control within.
|
|
42
|
+
* @param id - The field identifier used to locate `[data-testid="form-field__<id>"]`.
|
|
43
|
+
* @returns A proxy combining `IDateControlCore` methods and `Locator` capabilities.
|
|
44
|
+
*/
|
|
28
45
|
export function createDateControl(context, id) {
|
|
29
46
|
const inputFieldControl = new DateControl(context, id);
|
|
30
47
|
const locator = context.getByTestId(`form-field__${id}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateControl.js","sourceRoot":"","sources":["../../controls/DateControl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DateControl.js","sourceRoot":"","sources":["../../controls/DateControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAiC7D,MAAM,OAAO,WAAW;IAGtB,YAAY,OAAgB,EAAE,EAAU;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,CAAC,KAAa;QAC7B,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,EAAU;IAC5D,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEzD,OAAO,IAAI,KAAK,CAAC,iBAAiB,EAAE;QAClC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,KAAK,GAAI,OAAe,CAAC,IAAI,CAAC,CAAC;YAErC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAA4B,CAAC;AAChC,CAAC"}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export class DateControlObjects {
|
|
2
|
+
constructor(context, id) {
|
|
3
|
+
this.fieldInput = () => this._context;
|
|
4
|
+
this.dateField = () => this._context.getByTestId(`form-field__${this._id}`);
|
|
5
|
+
this._context = context;
|
|
6
|
+
this._id = id;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
2
9
|
//# sourceMappingURL=DateControlObjects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateControlObjects.js","sourceRoot":"","sources":["../../controls/DateControlObjects.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"DateControlObjects.js","sourceRoot":"","sources":["../../controls/DateControlObjects.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAkB;IAI7B,YAAY,OAAgB,EAAE,EAAU;QAKjC,eAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE1C,cAAS,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QANrF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;CAKF"}
|
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
import type { Locator } from '@playwright/test';
|
|
2
|
+
/**
|
|
3
|
+
* Typed proxy for a combo-box field (`control_type: "combo_box"`) on a
|
|
4
|
+
* Thinkwise form screen.
|
|
5
|
+
*
|
|
6
|
+
* **How to use:** You never construct this directly. Generated subject
|
|
7
|
+
* component classes expose properties of type `IFormComboBox` for each
|
|
8
|
+
* combo-box on the form:
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* // Select an option by typing a prefix and picking from auto-complete:
|
|
12
|
+
* await subject.form.statusCombo.lookupSelect('Act');
|
|
13
|
+
*
|
|
14
|
+
* // Click to open the full list and select:
|
|
15
|
+
* await subject.form.statusCombo.selectOption('Active');
|
|
16
|
+
*
|
|
17
|
+
* // Clear the current selection:
|
|
18
|
+
* await subject.form.statusCombo.clearByClick();
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* The returned value is a **Proxy** that acts as both a Playwright `Locator`
|
|
22
|
+
* and a typed combo-box control.
|
|
23
|
+
*/
|
|
2
24
|
export type IFormComboBox = Locator & IFormComboBoxCore;
|
|
3
25
|
export type IFormComboBoxCore = {
|
|
4
26
|
lookupSelect(optionToSelect: string): Promise<void>;
|
|
@@ -6,4 +28,12 @@ export type IFormComboBoxCore = {
|
|
|
6
28
|
getValidationMessage(): Promise<string>;
|
|
7
29
|
clearByClick(): Promise<void>;
|
|
8
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Creates an `IFormComboBox` proxy that merges `FormComboBox` interaction methods with
|
|
33
|
+
* the underlying Playwright `Locator` for the `form-field__<id>` test ID.
|
|
34
|
+
* Use the returned value as both a typed combo-box control and a regular Playwright locator.
|
|
35
|
+
* @param context - The parent locator to scope the control within.
|
|
36
|
+
* @param id - The field identifier used to locate `[data-testid="form-field__<id>"]`.
|
|
37
|
+
* @returns A proxy combining `IFormComboBoxCore` methods and `Locator` capabilities.
|
|
38
|
+
*/
|
|
9
39
|
export declare function createFormComboBox(context: Locator, id: string): IFormComboBox;
|
|
@@ -1,31 +1,34 @@
|
|
|
1
|
+
import { FormComboBoxObjects } from './FormComboBoxObjects.js';
|
|
1
2
|
class FormComboBox {
|
|
2
3
|
constructor(context, id) {
|
|
3
|
-
this.
|
|
4
|
-
this._formFieldLocator = context.getByTestId(`form-field__${id}`);
|
|
5
|
-
this._autoCompleteMenu = context.getByTestId(`form-field__${id}__select__options-list`);
|
|
4
|
+
this._objects = new FormComboBoxObjects(context, id);
|
|
6
5
|
}
|
|
7
6
|
async selectOption(optionText) {
|
|
8
|
-
await this.
|
|
9
|
-
await this.
|
|
10
|
-
|
|
11
|
-
await this._autoCompleteMenu.getByTestId(`form-field__${this._id}__select__${optionTextLowercase}__text`).click();
|
|
7
|
+
await this._objects.fieldInput().click();
|
|
8
|
+
await this._objects.autoCompleteMenu().waitFor({ state: 'visible' });
|
|
9
|
+
await this._objects.option(optionText).click();
|
|
12
10
|
}
|
|
13
11
|
async getValidationMessage() {
|
|
14
|
-
await this.
|
|
15
|
-
return await this.
|
|
12
|
+
await this._objects.validationMessage().waitFor({ state: 'visible' });
|
|
13
|
+
return await this._objects.validationMessage().innerText();
|
|
16
14
|
}
|
|
17
15
|
async clearByClick() {
|
|
18
|
-
await this.
|
|
16
|
+
await this._objects.clearButton().click();
|
|
19
17
|
}
|
|
20
18
|
async lookupSelect(optionToSelect) {
|
|
21
|
-
await this.
|
|
22
|
-
await this.
|
|
23
|
-
|
|
24
|
-
await this._autoCompleteMenu
|
|
25
|
-
.getByTestId(`form-field__${this._id}__select__${optionToSelectLowercase}__text`)
|
|
26
|
-
.click();
|
|
19
|
+
await this._objects.fieldInput().fill(optionToSelect);
|
|
20
|
+
await this._objects.autoCompleteMenu().waitFor({ state: 'visible' });
|
|
21
|
+
await this._objects.option(optionToSelect).click();
|
|
27
22
|
}
|
|
28
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Creates an `IFormComboBox` proxy that merges `FormComboBox` interaction methods with
|
|
26
|
+
* the underlying Playwright `Locator` for the `form-field__<id>` test ID.
|
|
27
|
+
* Use the returned value as both a typed combo-box control and a regular Playwright locator.
|
|
28
|
+
* @param context - The parent locator to scope the control within.
|
|
29
|
+
* @param id - The field identifier used to locate `[data-testid="form-field__<id>"]`.
|
|
30
|
+
* @returns A proxy combining `IFormComboBoxCore` methods and `Locator` capabilities.
|
|
31
|
+
*/
|
|
29
32
|
export function createFormComboBox(context, id) {
|
|
30
33
|
const comboBox = new FormComboBox(context, id);
|
|
31
34
|
const locator = context.getByTestId(`form-field__${id}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormComboBox.js","sourceRoot":"","sources":["../../controls/FormComboBox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormComboBox.js","sourceRoot":"","sources":["../../controls/FormComboBox.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAiC/D,MAAM,YAAY;IAGhB,YAAY,OAAgB,EAAE,EAAU;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,CAAC;IAC7D,CAAC;IACD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,cAAsB;QACvC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,EAAU;IAC7D,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEzD,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;QACzB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,KAAK,GAAI,OAAe,CAAC,IAAI,CAAC,CAAC;YAErC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAA6B,CAAC;AACjC,CAAC"}
|
|
@@ -1 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Locator } from '@playwright/test';
|
|
2
|
+
export declare class FormComboBoxObjects {
|
|
3
|
+
private _context;
|
|
4
|
+
private _id;
|
|
5
|
+
constructor(context: Locator, id: string);
|
|
6
|
+
field: () => Locator;
|
|
7
|
+
autoCompleteMenu: () => Locator;
|
|
8
|
+
option: (optionText: string) => Locator;
|
|
9
|
+
clearButton: () => Locator;
|
|
10
|
+
validationMessage: () => Locator;
|
|
11
|
+
fieldInput: () => Locator;
|
|
12
|
+
}
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export class FormComboBoxObjects {
|
|
2
|
+
constructor(context, id) {
|
|
3
|
+
this.field = () => this._context.getByTestId(`form-field__${this._id}`);
|
|
4
|
+
this.autoCompleteMenu = () => this._context.page().getByTestId(`form-field__${this._id}__select__options-list`);
|
|
5
|
+
this.option = (optionText) => {
|
|
6
|
+
const optionTextLowercase = optionText.toLowerCase();
|
|
7
|
+
return this.autoCompleteMenu().getByTestId(`form-field__${this._id}__select__${optionTextLowercase}__text`);
|
|
8
|
+
};
|
|
9
|
+
this.clearButton = () => this.field().locator('Button[aria-label="Clear"]');
|
|
10
|
+
this.validationMessage = () => this.field().locator('.TooltipContainer p');
|
|
11
|
+
this.fieldInput = () => this.field().locator('input');
|
|
12
|
+
this._context = context;
|
|
13
|
+
this._id = id;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
2
16
|
//# sourceMappingURL=FormComboBoxObjects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormComboBoxObjects.js","sourceRoot":"","sources":["../../controls/FormComboBoxObjects.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"FormComboBoxObjects.js","sourceRoot":"","sources":["../../controls/FormComboBoxObjects.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IAI9B,YAAY,OAAgB,EAAE,EAAU;QAKjC,UAAK,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAE5E,qBAAgB,GAAG,GAAY,EAAE,CACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;QAE7E,WAAM,GAAG,CAAC,UAAkB,EAAW,EAAE;YAC9C,MAAM,mBAAmB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,aAAa,mBAAmB,QAAQ,CAAC,CAAC;QAC9G,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEhF,sBAAiB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE/E,eAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAlB/D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;CAiBF"}
|