@thinkwise/testwise 0.0.2-alpha.2 → 0.1.12

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.
Files changed (31) hide show
  1. package/.eslintcache +1 -1
  2. package/.vscode/settings.json +3 -1
  3. package/components/actionbar/Actionbar.ts +126 -18
  4. package/components/actionbar/ActionbarObjects.ts +46 -41
  5. package/components/form/Form.ts +23 -24
  6. package/components/form/FormObjects.ts +25 -0
  7. package/components/pop-up/PopUpComponent.ts +4 -0
  8. package/components/pop-up/PopUpComponentModels.ts +4 -0
  9. package/dist/components/actionbar/Actionbar.d.ts +53 -7
  10. package/dist/components/actionbar/Actionbar.js +74 -14
  11. package/dist/components/actionbar/Actionbar.js.map +1 -1
  12. package/dist/components/actionbar/ActionbarObjects.d.ts +17 -4
  13. package/dist/components/actionbar/ActionbarObjects.js +35 -24
  14. package/dist/components/actionbar/ActionbarObjects.js.map +1 -1
  15. package/dist/components/form/Form.d.ts +7 -5
  16. package/dist/components/form/Form.js +17 -25
  17. package/dist/components/form/Form.js.map +1 -1
  18. package/dist/components/form/FormObjects.d.ts +9 -0
  19. package/dist/components/form/FormObjects.js +20 -0
  20. package/dist/components/form/FormObjects.js.map +1 -0
  21. package/dist/components/pop-up/PopUpComponent.d.ts +2 -0
  22. package/dist/components/pop-up/PopUpComponent.js +2 -0
  23. package/dist/components/pop-up/PopUpComponent.js.map +1 -1
  24. package/dist/components/pop-up/PopUpComponentModels.d.ts +2 -0
  25. package/dist/components/pop-up/PopUpComponentModels.js +2 -0
  26. package/dist/components/pop-up/PopUpComponentModels.js.map +1 -1
  27. package/dist/helpers/LoginHelper.js +13 -3
  28. package/dist/helpers/LoginHelper.js.map +1 -1
  29. package/helpers/LoginHelper.ts +12 -3
  30. package/package.json +4 -2
  31. package/scripts/Testwise.template.json +3 -0
package/.eslintcache CHANGED
@@ -1 +1 @@
1
- [{"C:\\Repos\\Testwise\\components\\actionbar\\Actionbar.ts":"1","C:\\Repos\\Testwise\\components\\actionbar\\ActionbarObjects.ts":"2","C:\\Repos\\Testwise\\components\\BaseComponent.ts":"3","C:\\Repos\\Testwise\\components\\filter\\FilterForm.ts":"4","C:\\Repos\\Testwise\\components\\filter\\FindForm.ts":"5","C:\\Repos\\Testwise\\components\\form\\Form.ts":"6","C:\\Repos\\Testwise\\components\\grid\\Grid.ts":"7","C:\\Repos\\Testwise\\components\\index.ts":"8","C:\\Repos\\Testwise\\components\\Splitter.ts":"9","C:\\Repos\\Testwise\\components\\tab\\Tab.ts":"10","C:\\Repos\\Testwise\\components\\task\\TaskBar.ts":"11","C:\\Repos\\Testwise\\components\\task\\TaskTiles.ts":"12","C:\\Repos\\Testwise\\components\\TSFComponent.ts":"13","C:\\Repos\\Testwise\\enums\\ActionbarRegions.ts":"14","C:\\Repos\\Testwise\\enums\\ButtonEnums.ts":"15","C:\\Repos\\Testwise\\enums\\LogLevel.ts":"16","C:\\Repos\\Testwise\\eslint-plugin-custom\\index.js":"17","C:\\Repos\\Testwise\\eslint-plugin-custom\\lib\\rules\\no-click-override.js":"18","C:\\Repos\\Testwise\\example-code\\TestifyService.ts":"19","C:\\Repos\\Testwise\\helpers\\InflightRequestTracker.ts":"20","C:\\Repos\\Testwise\\helpers\\LoginHelper.ts":"21","C:\\Repos\\Testwise\\helpers\\UserSimulationHelper.ts":"22","C:\\Repos\\Testwise\\index.ts":"23","C:\\Repos\\Testwise\\page-extensions\\GoToDeepLink.ts":"24","C:\\Repos\\Testwise\\page-extensions\\LoginFeatures.ts":"25","C:\\Repos\\Testwise\\page-extensions\\UserSimulation.ts":"26","C:\\Repos\\Testwise\\page-overrides\\ClickOverride.ts":"27","C:\\Repos\\Testwise\\promptCredentials.js":"28","C:\\Repos\\Testwise\\scripts\\add-config.js":"29","C:\\Repos\\Testwise\\services\\ConfigBuilder.ts":"30","C:\\Repos\\Testwise\\services\\Logger.ts":"31","C:\\Repos\\Testwise\\services\\ReportingService.ts":"32","C:\\Repos\\Testwise\\Testwise.ts":"33","C:\\Repos\\Testwise\\types\\CoreTypes.ts":"34","C:\\Repos\\Testwise\\types\\universal.ts":"35","C:\\Repos\\Testwise\\components\\BaseComponentObjects.ts":"36","C:\\Repos\\Testwise\\components\\export\\ExportComponent.ts":"37","C:\\Repos\\Testwise\\components\\export\\ExportComponentObjects.ts":"38","C:\\Repos\\Testwise\\components\\grid\\GridObjects.ts":"39","C:\\Repos\\Testwise\\components\\IComponentObjects.ts":"40","C:\\Repos\\Testwise\\components\\pop-up\\PopUpComponent.ts":"41","C:\\Repos\\Testwise\\components\\pop-up\\PopUpComponentModels.ts":"42","C:\\Repos\\Testwise\\enums\\ExportFormat.ts":"43"},{"size":2021,"mtime":1751522769257,"results":"44","hashOfConfig":"45"},{"size":2576,"mtime":1751528778595,"results":"46","hashOfConfig":"45"},{"size":3122,"mtime":1751522279073,"results":"47","hashOfConfig":"45"},{"size":330,"mtime":1748942441174,"results":"48","hashOfConfig":"45"},{"size":328,"mtime":1748942446381,"results":"49","hashOfConfig":"45"},{"size":1009,"mtime":1751522352486,"results":"50","hashOfConfig":"45"},{"size":8734,"mtime":1751550578515,"results":"51","hashOfConfig":"45"},{"size":226,"mtime":1751436619558,"results":"52","hashOfConfig":"45"},{"size":400,"mtime":1751522923371,"results":"53","hashOfConfig":"45"},{"size":818,"mtime":1748942461699,"results":"54","hashOfConfig":"45"},{"size":327,"mtime":1748942467360,"results":"55","hashOfConfig":"45"},{"size":329,"mtime":1748942472010,"results":"56","hashOfConfig":"45"},{"size":169,"mtime":1751522237806,"results":"57","hashOfConfig":"45"},{"size":88,"mtime":1750674713040,"results":"58","hashOfConfig":"45"},{"size":784,"mtime":1751264923809,"results":"59","hashOfConfig":"45"},{"size":155,"mtime":1748416363345,"results":"60","hashOfConfig":"45"},{"size":149,"mtime":1750248769915,"results":"61","hashOfConfig":"62"},{"size":926,"mtime":1750248769917,"results":"63","hashOfConfig":"62"},{"size":6919,"mtime":1749656149481,"results":"64","hashOfConfig":"45"},{"size":937,"mtime":1750164017577,"results":"65","hashOfConfig":"45"},{"size":4069,"mtime":1750674713042,"results":"66","hashOfConfig":"45"},{"size":2279,"mtime":1750674713045,"results":"67","hashOfConfig":"45"},{"size":1218,"mtime":1751375510261,"results":"68","hashOfConfig":"45"},{"size":672,"mtime":1748956696562,"results":"69","hashOfConfig":"45"},{"size":1335,"mtime":1748956696562,"results":"70","hashOfConfig":"45"},{"size":1293,"mtime":1748956696562,"results":"71","hashOfConfig":"45"},{"size":3582,"mtime":1750674713054,"results":"72","hashOfConfig":"45"},{"size":3269,"mtime":1750674713057,"results":"73","hashOfConfig":"62"},{"size":813,"mtime":1750674713059,"results":"74","hashOfConfig":"62"},{"size":1085,"mtime":1750248769941,"results":"75","hashOfConfig":"45"},{"size":4147,"mtime":1750674713062,"results":"76","hashOfConfig":"45"},{"size":1316,"mtime":1749656024091,"results":"77","hashOfConfig":"45"},{"size":726,"mtime":1750674713026,"results":"78","hashOfConfig":"79"},{"size":272,"mtime":1748956696592,"results":"80","hashOfConfig":"45"},{"size":731,"mtime":1748956696594,"results":"81","hashOfConfig":"45"},{"size":343,"mtime":1751522308836,"results":"82","hashOfConfig":"45"},{"size":2359,"mtime":1751375510251,"results":"83","hashOfConfig":"45"},{"size":869,"mtime":1751522504772,"results":"84","hashOfConfig":"45"},{"size":1851,"mtime":1751550591615,"results":"85","hashOfConfig":"45"},{"size":109,"mtime":1751522250137,"results":"86","hashOfConfig":"45"},{"size":437,"mtime":1751436619568,"results":"87","hashOfConfig":"45"},{"size":360,"mtime":1751436619568,"results":"88","hashOfConfig":"45"},{"size":75,"mtime":1751375510258,"results":"89","hashOfConfig":"45"},{"filePath":"90","messages":"91","suppressedMessages":"92","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"18jtond",{"filePath":"93","messages":"94","suppressedMessages":"95","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"96","messages":"97","suppressedMessages":"98","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"99","messages":"100","suppressedMessages":"101","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"102","messages":"103","suppressedMessages":"104","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"105","messages":"106","suppressedMessages":"107","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"108","messages":"109","suppressedMessages":"110","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"111","messages":"112","suppressedMessages":"113","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"114","messages":"115","suppressedMessages":"116","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"117","messages":"118","suppressedMessages":"119","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"120","messages":"121","suppressedMessages":"122","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"123","messages":"124","suppressedMessages":"125","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"126","messages":"127","suppressedMessages":"128","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"129","messages":"130","suppressedMessages":"131","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"132","messages":"133","suppressedMessages":"134","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"135","messages":"136","suppressedMessages":"137","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"138","messages":"139","suppressedMessages":"140","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1fztyz0",{"filePath":"141","messages":"142","suppressedMessages":"143","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"144","messages":"145","suppressedMessages":"146","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"147","messages":"148","suppressedMessages":"149","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"150","messages":"151","suppressedMessages":"152","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"153","messages":"154","suppressedMessages":"155","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"156","messages":"157","suppressedMessages":"158","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"159","messages":"160","suppressedMessages":"161","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"162","messages":"163","suppressedMessages":"164","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"165","messages":"166","suppressedMessages":"167","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"168","messages":"169","suppressedMessages":"170","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"171","messages":"172","suppressedMessages":"173","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"174","messages":"175","suppressedMessages":"176","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"177","messages":"178","suppressedMessages":"179","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"180","messages":"181","suppressedMessages":"182","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"183","messages":"184","suppressedMessages":"185","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"186","messages":"187","suppressedMessages":"188","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"fxl6v2",{"filePath":"189","messages":"190","suppressedMessages":"191","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"192","messages":"193","suppressedMessages":"194","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"195","messages":"196","suppressedMessages":"197","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"198","messages":"199","suppressedMessages":"200","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"201","messages":"202","suppressedMessages":"203","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"204","messages":"205","suppressedMessages":"206","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"207","messages":"208","suppressedMessages":"209","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"210","messages":"211","suppressedMessages":"212","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"213","messages":"214","suppressedMessages":"215","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"216","messages":"217","suppressedMessages":"218","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"C:\\Repos\\Testwise\\components\\actionbar\\Actionbar.ts",[],[],"C:\\Repos\\Testwise\\components\\actionbar\\ActionbarObjects.ts",[],[],"C:\\Repos\\Testwise\\components\\BaseComponent.ts",[],[],"C:\\Repos\\Testwise\\components\\filter\\FilterForm.ts",[],[],"C:\\Repos\\Testwise\\components\\filter\\FindForm.ts",[],[],"C:\\Repos\\Testwise\\components\\form\\Form.ts",[],[],"C:\\Repos\\Testwise\\components\\grid\\Grid.ts",[],[],"C:\\Repos\\Testwise\\components\\index.ts",[],[],"C:\\Repos\\Testwise\\components\\Splitter.ts",[],[],"C:\\Repos\\Testwise\\components\\tab\\Tab.ts",[],[],"C:\\Repos\\Testwise\\components\\task\\TaskBar.ts",[],[],"C:\\Repos\\Testwise\\components\\task\\TaskTiles.ts",[],[],"C:\\Repos\\Testwise\\components\\TSFComponent.ts",[],[],"C:\\Repos\\Testwise\\enums\\ActionbarRegions.ts",[],[],"C:\\Repos\\Testwise\\enums\\ButtonEnums.ts",[],[],"C:\\Repos\\Testwise\\enums\\LogLevel.ts",[],[],"C:\\Repos\\Testwise\\eslint-plugin-custom\\index.js",[],[],"C:\\Repos\\Testwise\\eslint-plugin-custom\\lib\\rules\\no-click-override.js",[],["219"],"C:\\Repos\\Testwise\\example-code\\TestifyService.ts",[],["220","221","222","223","224"],"C:\\Repos\\Testwise\\helpers\\InflightRequestTracker.ts",[],[],"C:\\Repos\\Testwise\\helpers\\LoginHelper.ts",[],[],"C:\\Repos\\Testwise\\helpers\\UserSimulationHelper.ts",[],[],"C:\\Repos\\Testwise\\index.ts",[],[],"C:\\Repos\\Testwise\\page-extensions\\GoToDeepLink.ts",[],[],"C:\\Repos\\Testwise\\page-extensions\\LoginFeatures.ts",[],[],"C:\\Repos\\Testwise\\page-extensions\\UserSimulation.ts",[],[],"C:\\Repos\\Testwise\\page-overrides\\ClickOverride.ts",[],[],"C:\\Repos\\Testwise\\promptCredentials.js",[],[],"C:\\Repos\\Testwise\\scripts\\add-config.js",[],["225","226","227","228"],"C:\\Repos\\Testwise\\services\\ConfigBuilder.ts",[],[],"C:\\Repos\\Testwise\\services\\Logger.ts",[],["229"],"C:\\Repos\\Testwise\\services\\ReportingService.ts",[],[],"C:\\Repos\\Testwise\\Testwise.ts",[],[],"C:\\Repos\\Testwise\\types\\CoreTypes.ts",[],[],"C:\\Repos\\Testwise\\types\\universal.ts",[],[],"C:\\Repos\\Testwise\\components\\BaseComponentObjects.ts",[],[],"C:\\Repos\\Testwise\\components\\export\\ExportComponent.ts",[],[],"C:\\Repos\\Testwise\\components\\export\\ExportComponentObjects.ts",[],[],"C:\\Repos\\Testwise\\components\\grid\\GridObjects.ts",[],[],"C:\\Repos\\Testwise\\components\\IComponentObjects.ts",[],[],"C:\\Repos\\Testwise\\components\\pop-up\\PopUpComponent.ts",[],[],"C:\\Repos\\Testwise\\components\\pop-up\\PopUpComponentModels.ts",[],[],"C:\\Repos\\Testwise\\enums\\ExportFormat.ts",[],[],{"ruleId":"230","severity":2,"message":"231","line":21,"column":7,"nodeType":"232","messageId":"233","endLine":21,"endColumn":27,"suppressions":"234"},{"ruleId":"235","severity":2,"message":"236","line":49,"column":43,"nodeType":"237","messageId":"238","endLine":49,"endColumn":46,"suggestions":"239","suppressions":"240"},{"ruleId":"235","severity":2,"message":"236","line":120,"column":38,"nodeType":"237","messageId":"238","endLine":120,"endColumn":41,"suggestions":"241","suppressions":"242"},{"ruleId":"235","severity":2,"message":"236","line":132,"column":41,"nodeType":"237","messageId":"238","endLine":132,"endColumn":44,"suggestions":"243","suppressions":"244"},{"ruleId":"235","severity":2,"message":"236","line":160,"column":37,"nodeType":"237","messageId":"238","endLine":160,"endColumn":40,"suggestions":"245","suppressions":"246"},{"ruleId":"235","severity":2,"message":"236","line":170,"column":41,"nodeType":"237","messageId":"238","endLine":170,"endColumn":44,"suggestions":"247","suppressions":"248"},{"ruleId":"249","severity":2,"message":"250","line":9,"column":5,"nodeType":"232","messageId":"251","endLine":9,"endColumn":12,"suppressions":"252"},{"ruleId":"230","severity":2,"message":"253","line":10,"column":9,"nodeType":"232","messageId":"254","endLine":10,"endColumn":19,"suppressions":"255"},{"ruleId":"230","severity":2,"message":"256","line":11,"column":9,"nodeType":"232","messageId":"254","endLine":11,"endColumn":18,"suppressions":"257"},{"ruleId":"249","severity":2,"message":"250","line":12,"column":35,"nodeType":"232","messageId":"251","endLine":12,"endColumn":42,"suppressions":"258"},{"ruleId":"259","severity":2,"message":"260","line":27,"column":3,"nodeType":null,"messageId":"261","endLine":27,"endColumn":22,"suppressions":"262"},"@typescript-eslint/naming-convention","Object Literal Method name `AssignmentExpression` must match one of the following formats: camelCase","Identifier","doesNotMatchFormat",["263"],"@typescript-eslint/no-explicit-any","Unexpected any. Specify a different type.","TSAnyKeyword","unexpectedAny",["264","265"],["266"],["267","268"],["269"],["270","271"],["272"],["273","274"],["275"],["276","277"],["278"],"no-undef","'process' is not defined.","undef",["279"],"Variable name `__filename` trimmed as `_filename` must match one of the following formats: camelCase","doesNotMatchFormatTrimmed",["280"],"Variable name `__dirname` trimmed as `_dirname` must match one of the following formats: camelCase",["281"],["282"],"@typescript-eslint/no-unused-vars","'linesAlreadyWritten' is assigned a value but never used.","unusedVar",["283"],{"kind":"284","justification":"285"},{"messageId":"286","fix":"287","desc":"288"},{"messageId":"289","fix":"290","desc":"291"},{"kind":"284","justification":"285"},{"messageId":"286","fix":"292","desc":"288"},{"messageId":"289","fix":"293","desc":"291"},{"kind":"284","justification":"285"},{"messageId":"286","fix":"294","desc":"288"},{"messageId":"289","fix":"295","desc":"291"},{"kind":"284","justification":"285"},{"messageId":"286","fix":"296","desc":"288"},{"messageId":"289","fix":"297","desc":"291"},{"kind":"284","justification":"285"},{"messageId":"286","fix":"298","desc":"288"},{"messageId":"289","fix":"299","desc":"291"},{"kind":"284","justification":"285"},{"kind":"284","justification":"285"},{"kind":"284","justification":"285"},{"kind":"284","justification":"285"},{"kind":"284","justification":"285"},{"kind":"284","justification":"285"},"directive","","suggestUnknown",{"range":"300","text":"301"},"Use `unknown` instead, this will force you to explicitly, and safely assert the type is correct.","suggestNever",{"range":"302","text":"303"},"Use `never` instead, this is useful when instantiating generic type parameters that you don't need to know the type of.",{"range":"304","text":"301"},{"range":"305","text":"303"},{"range":"306","text":"301"},{"range":"307","text":"303"},{"range":"308","text":"301"},{"range":"309","text":"303"},{"range":"310","text":"301"},{"range":"311","text":"303"},[1685,1688],"unknown",[1685,1688],"never",[4281,4284],[4281,4284],[4713,4716],[4713,4716],[5701,5704],[5701,5704],[6041,6044],[6041,6044]]
1
+ [{"C:\\Repos\\Testwise\\components\\actionbar\\Actionbar.ts":"1","C:\\Repos\\Testwise\\components\\actionbar\\ActionbarObjects.ts":"2","C:\\Repos\\Testwise\\components\\BaseComponent.ts":"3","C:\\Repos\\Testwise\\components\\filter\\FilterForm.ts":"4","C:\\Repos\\Testwise\\components\\filter\\FindForm.ts":"5","C:\\Repos\\Testwise\\components\\form\\Form.ts":"6","C:\\Repos\\Testwise\\components\\grid\\Grid.ts":"7","C:\\Repos\\Testwise\\components\\index.ts":"8","C:\\Repos\\Testwise\\components\\Splitter.ts":"9","C:\\Repos\\Testwise\\components\\tab\\Tab.ts":"10","C:\\Repos\\Testwise\\components\\task\\TaskBar.ts":"11","C:\\Repos\\Testwise\\components\\task\\TaskTiles.ts":"12","C:\\Repos\\Testwise\\components\\TSFComponent.ts":"13","C:\\Repos\\Testwise\\enums\\ActionbarRegions.ts":"14","C:\\Repos\\Testwise\\enums\\ButtonEnums.ts":"15","C:\\Repos\\Testwise\\enums\\LogLevel.ts":"16","C:\\Repos\\Testwise\\eslint-plugin-custom\\index.js":"17","C:\\Repos\\Testwise\\eslint-plugin-custom\\lib\\rules\\no-click-override.js":"18","C:\\Repos\\Testwise\\example-code\\TestifyService.ts":"19","C:\\Repos\\Testwise\\helpers\\InflightRequestTracker.ts":"20","C:\\Repos\\Testwise\\helpers\\LoginHelper.ts":"21","C:\\Repos\\Testwise\\helpers\\UserSimulationHelper.ts":"22","C:\\Repos\\Testwise\\index.ts":"23","C:\\Repos\\Testwise\\page-extensions\\GoToDeepLink.ts":"24","C:\\Repos\\Testwise\\page-extensions\\LoginFeatures.ts":"25","C:\\Repos\\Testwise\\page-extensions\\UserSimulation.ts":"26","C:\\Repos\\Testwise\\page-overrides\\ClickOverride.ts":"27","C:\\Repos\\Testwise\\promptCredentials.js":"28","C:\\Repos\\Testwise\\scripts\\add-config.js":"29","C:\\Repos\\Testwise\\services\\ConfigBuilder.ts":"30","C:\\Repos\\Testwise\\services\\Logger.ts":"31","C:\\Repos\\Testwise\\services\\ReportingService.ts":"32","C:\\Repos\\Testwise\\Testwise.ts":"33","C:\\Repos\\Testwise\\types\\CoreTypes.ts":"34","C:\\Repos\\Testwise\\types\\universal.ts":"35","C:\\Repos\\Testwise\\components\\BaseComponentObjects.ts":"36","C:\\Repos\\Testwise\\components\\export\\ExportComponent.ts":"37","C:\\Repos\\Testwise\\components\\export\\ExportComponentObjects.ts":"38","C:\\Repos\\Testwise\\components\\grid\\GridObjects.ts":"39","C:\\Repos\\Testwise\\components\\IComponentObjects.ts":"40","C:\\Repos\\Testwise\\components\\pop-up\\PopUpComponent.ts":"41","C:\\Repos\\Testwise\\components\\pop-up\\PopUpComponentModels.ts":"42","C:\\Repos\\Testwise\\enums\\ExportFormat.ts":"43","C:\\Repos\\Testwise\\components\\form\\FormObjects.ts":"44"},{"size":6920,"mtime":1753295682135,"results":"45","hashOfConfig":"46"},{"size":2987,"mtime":1753286425455,"results":"47","hashOfConfig":"46"},{"size":3123,"mtime":1751552301071,"results":"48","hashOfConfig":"46"},{"size":330,"mtime":1748942441174,"results":"49","hashOfConfig":"46"},{"size":328,"mtime":1748942446381,"results":"50","hashOfConfig":"46"},{"size":1013,"mtime":1752730517213,"results":"51","hashOfConfig":"46"},{"size":8679,"mtime":1752730517221,"results":"52","hashOfConfig":"46"},{"size":226,"mtime":1752730517225,"results":"53","hashOfConfig":"46"},{"size":400,"mtime":1751522923371,"results":"54","hashOfConfig":"46"},{"size":818,"mtime":1748942461699,"results":"55","hashOfConfig":"46"},{"size":327,"mtime":1748942467360,"results":"56","hashOfConfig":"46"},{"size":329,"mtime":1748942472010,"results":"57","hashOfConfig":"46"},{"size":169,"mtime":1751522237806,"results":"58","hashOfConfig":"46"},{"size":88,"mtime":1750674713040,"results":"59","hashOfConfig":"46"},{"size":784,"mtime":1751264923809,"results":"60","hashOfConfig":"46"},{"size":155,"mtime":1748416363345,"results":"61","hashOfConfig":"46"},{"size":149,"mtime":1750248769915,"results":"62","hashOfConfig":"63"},{"size":926,"mtime":1750248769917,"results":"64","hashOfConfig":"63"},{"size":6919,"mtime":1749656149481,"results":"65","hashOfConfig":"46"},{"size":937,"mtime":1750164017577,"results":"66","hashOfConfig":"46"},{"size":4540,"mtime":1752826806156,"results":"67","hashOfConfig":"46"},{"size":2279,"mtime":1750674713045,"results":"68","hashOfConfig":"46"},{"size":1218,"mtime":1751375510261,"results":"69","hashOfConfig":"46"},{"size":672,"mtime":1748956696562,"results":"70","hashOfConfig":"46"},{"size":1335,"mtime":1748956696562,"results":"71","hashOfConfig":"46"},{"size":1293,"mtime":1748956696562,"results":"72","hashOfConfig":"46"},{"size":3582,"mtime":1750674713054,"results":"73","hashOfConfig":"46"},{"size":3269,"mtime":1750674713057,"results":"74","hashOfConfig":"63"},{"size":813,"mtime":1750674713059,"results":"75","hashOfConfig":"63"},{"size":1085,"mtime":1750248769941,"results":"76","hashOfConfig":"46"},{"size":4147,"mtime":1750674713062,"results":"77","hashOfConfig":"46"},{"size":1316,"mtime":1749656024091,"results":"78","hashOfConfig":"46"},{"size":726,"mtime":1750674713026,"results":"79","hashOfConfig":"80"},{"size":272,"mtime":1748956696592,"results":"81","hashOfConfig":"46"},{"size":731,"mtime":1748956696594,"results":"82","hashOfConfig":"46"},{"size":343,"mtime":1752730517194,"results":"83","hashOfConfig":"46"},{"size":2359,"mtime":1751375510251,"results":"84","hashOfConfig":"46"},{"size":869,"mtime":1751522504772,"results":"85","hashOfConfig":"46"},{"size":1862,"mtime":1752730517223,"results":"86","hashOfConfig":"46"},{"size":109,"mtime":1752730517200,"results":"87","hashOfConfig":"46"},{"size":615,"mtime":1753189660474,"results":"88","hashOfConfig":"46"},{"size":562,"mtime":1753189660477,"results":"89","hashOfConfig":"46"},{"size":75,"mtime":1751375510258,"results":"90","hashOfConfig":"46"},{"size":862,"mtime":1752730517215,"results":"91","hashOfConfig":"46"},{"filePath":"92","messages":"93","suppressedMessages":"94","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"y4e4q1",{"filePath":"95","messages":"96","suppressedMessages":"97","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"98","messages":"99","suppressedMessages":"100","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"101","messages":"102","suppressedMessages":"103","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"104","messages":"105","suppressedMessages":"106","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"107","messages":"108","suppressedMessages":"109","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"110","messages":"111","suppressedMessages":"112","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"113","messages":"114","suppressedMessages":"115","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"116","messages":"117","suppressedMessages":"118","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"119","messages":"120","suppressedMessages":"121","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"122","messages":"123","suppressedMessages":"124","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"125","messages":"126","suppressedMessages":"127","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"128","messages":"129","suppressedMessages":"130","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"131","messages":"132","suppressedMessages":"133","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"134","messages":"135","suppressedMessages":"136","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"137","messages":"138","suppressedMessages":"139","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"140","messages":"141","suppressedMessages":"142","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"xv1r0t",{"filePath":"143","messages":"144","suppressedMessages":"145","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"146","messages":"147","suppressedMessages":"148","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"149","messages":"150","suppressedMessages":"151","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"152","messages":"153","suppressedMessages":"154","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"155","messages":"156","suppressedMessages":"157","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"158","messages":"159","suppressedMessages":"160","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"161","messages":"162","suppressedMessages":"163","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"164","messages":"165","suppressedMessages":"166","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"167","messages":"168","suppressedMessages":"169","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"170","messages":"171","suppressedMessages":"172","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"173","messages":"174","suppressedMessages":"175","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"176","messages":"177","suppressedMessages":"178","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"179","messages":"180","suppressedMessages":"181","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"182","messages":"183","suppressedMessages":"184","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"185","messages":"186","suppressedMessages":"187","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"188","messages":"189","suppressedMessages":"190","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"19952cm",{"filePath":"191","messages":"192","suppressedMessages":"193","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"194","messages":"195","suppressedMessages":"196","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"197","messages":"198","suppressedMessages":"199","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"200","messages":"201","suppressedMessages":"202","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"203","messages":"204","suppressedMessages":"205","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"206","messages":"207","suppressedMessages":"208","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"209","messages":"210","suppressedMessages":"211","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"212","messages":"213","suppressedMessages":"214","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"215","messages":"216","suppressedMessages":"217","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"218","messages":"219","suppressedMessages":"220","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"221","messages":"222","suppressedMessages":"223","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"C:\\Repos\\Testwise\\components\\actionbar\\Actionbar.ts",[],[],"C:\\Repos\\Testwise\\components\\actionbar\\ActionbarObjects.ts",[],[],"C:\\Repos\\Testwise\\components\\BaseComponent.ts",[],[],"C:\\Repos\\Testwise\\components\\filter\\FilterForm.ts",[],[],"C:\\Repos\\Testwise\\components\\filter\\FindForm.ts",[],[],"C:\\Repos\\Testwise\\components\\form\\Form.ts",[],[],"C:\\Repos\\Testwise\\components\\grid\\Grid.ts",[],[],"C:\\Repos\\Testwise\\components\\index.ts",[],[],"C:\\Repos\\Testwise\\components\\Splitter.ts",[],[],"C:\\Repos\\Testwise\\components\\tab\\Tab.ts",[],[],"C:\\Repos\\Testwise\\components\\task\\TaskBar.ts",[],[],"C:\\Repos\\Testwise\\components\\task\\TaskTiles.ts",[],[],"C:\\Repos\\Testwise\\components\\TSFComponent.ts",[],[],"C:\\Repos\\Testwise\\enums\\ActionbarRegions.ts",[],[],"C:\\Repos\\Testwise\\enums\\ButtonEnums.ts",[],[],"C:\\Repos\\Testwise\\enums\\LogLevel.ts",[],[],"C:\\Repos\\Testwise\\eslint-plugin-custom\\index.js",[],[],"C:\\Repos\\Testwise\\eslint-plugin-custom\\lib\\rules\\no-click-override.js",[],["224"],"C:\\Repos\\Testwise\\example-code\\TestifyService.ts",[],["225","226","227","228","229"],"C:\\Repos\\Testwise\\helpers\\InflightRequestTracker.ts",[],[],"C:\\Repos\\Testwise\\helpers\\LoginHelper.ts",[],[],"C:\\Repos\\Testwise\\helpers\\UserSimulationHelper.ts",[],[],"C:\\Repos\\Testwise\\index.ts",[],[],"C:\\Repos\\Testwise\\page-extensions\\GoToDeepLink.ts",[],[],"C:\\Repos\\Testwise\\page-extensions\\LoginFeatures.ts",[],[],"C:\\Repos\\Testwise\\page-extensions\\UserSimulation.ts",[],[],"C:\\Repos\\Testwise\\page-overrides\\ClickOverride.ts",[],[],"C:\\Repos\\Testwise\\promptCredentials.js",[],[],"C:\\Repos\\Testwise\\scripts\\add-config.js",[],["230","231","232","233"],"C:\\Repos\\Testwise\\services\\ConfigBuilder.ts",[],[],"C:\\Repos\\Testwise\\services\\Logger.ts",[],["234"],"C:\\Repos\\Testwise\\services\\ReportingService.ts",[],[],"C:\\Repos\\Testwise\\Testwise.ts",[],[],"C:\\Repos\\Testwise\\types\\CoreTypes.ts",[],[],"C:\\Repos\\Testwise\\types\\universal.ts",[],[],"C:\\Repos\\Testwise\\components\\BaseComponentObjects.ts",[],[],"C:\\Repos\\Testwise\\components\\export\\ExportComponent.ts",[],[],"C:\\Repos\\Testwise\\components\\export\\ExportComponentObjects.ts",[],[],"C:\\Repos\\Testwise\\components\\grid\\GridObjects.ts",[],[],"C:\\Repos\\Testwise\\components\\IComponentObjects.ts",[],[],"C:\\Repos\\Testwise\\components\\pop-up\\PopUpComponent.ts",[],[],"C:\\Repos\\Testwise\\components\\pop-up\\PopUpComponentModels.ts",[],[],"C:\\Repos\\Testwise\\enums\\ExportFormat.ts",[],[],"C:\\Repos\\Testwise\\components\\form\\FormObjects.ts",[],[],{"ruleId":"235","severity":2,"message":"236","line":21,"column":7,"nodeType":"237","messageId":"238","endLine":21,"endColumn":27,"suppressions":"239"},{"ruleId":"240","severity":2,"message":"241","line":49,"column":43,"nodeType":"242","messageId":"243","endLine":49,"endColumn":46,"suggestions":"244","suppressions":"245"},{"ruleId":"240","severity":2,"message":"241","line":120,"column":38,"nodeType":"242","messageId":"243","endLine":120,"endColumn":41,"suggestions":"246","suppressions":"247"},{"ruleId":"240","severity":2,"message":"241","line":132,"column":41,"nodeType":"242","messageId":"243","endLine":132,"endColumn":44,"suggestions":"248","suppressions":"249"},{"ruleId":"240","severity":2,"message":"241","line":160,"column":37,"nodeType":"242","messageId":"243","endLine":160,"endColumn":40,"suggestions":"250","suppressions":"251"},{"ruleId":"240","severity":2,"message":"241","line":170,"column":41,"nodeType":"242","messageId":"243","endLine":170,"endColumn":44,"suggestions":"252","suppressions":"253"},{"ruleId":"254","severity":2,"message":"255","line":9,"column":5,"nodeType":"237","messageId":"256","endLine":9,"endColumn":12,"suppressions":"257"},{"ruleId":"235","severity":2,"message":"258","line":10,"column":9,"nodeType":"237","messageId":"259","endLine":10,"endColumn":19,"suppressions":"260"},{"ruleId":"235","severity":2,"message":"261","line":11,"column":9,"nodeType":"237","messageId":"259","endLine":11,"endColumn":18,"suppressions":"262"},{"ruleId":"254","severity":2,"message":"255","line":12,"column":35,"nodeType":"237","messageId":"256","endLine":12,"endColumn":42,"suppressions":"263"},{"ruleId":"264","severity":2,"message":"265","line":27,"column":3,"nodeType":null,"messageId":"266","endLine":27,"endColumn":22,"suppressions":"267"},"@typescript-eslint/naming-convention","Object Literal Method name `AssignmentExpression` must match one of the following formats: camelCase","Identifier","doesNotMatchFormat",["268"],"@typescript-eslint/no-explicit-any","Unexpected any. Specify a different type.","TSAnyKeyword","unexpectedAny",["269","270"],["271"],["272","273"],["274"],["275","276"],["277"],["278","279"],["280"],["281","282"],["283"],"no-undef","'process' is not defined.","undef",["284"],"Variable name `__filename` trimmed as `_filename` must match one of the following formats: camelCase","doesNotMatchFormatTrimmed",["285"],"Variable name `__dirname` trimmed as `_dirname` must match one of the following formats: camelCase",["286"],["287"],"@typescript-eslint/no-unused-vars","'linesAlreadyWritten' is assigned a value but never used.","unusedVar",["288"],{"kind":"289","justification":"290"},{"messageId":"291","fix":"292","desc":"293"},{"messageId":"294","fix":"295","desc":"296"},{"kind":"289","justification":"290"},{"messageId":"291","fix":"297","desc":"293"},{"messageId":"294","fix":"298","desc":"296"},{"kind":"289","justification":"290"},{"messageId":"291","fix":"299","desc":"293"},{"messageId":"294","fix":"300","desc":"296"},{"kind":"289","justification":"290"},{"messageId":"291","fix":"301","desc":"293"},{"messageId":"294","fix":"302","desc":"296"},{"kind":"289","justification":"290"},{"messageId":"291","fix":"303","desc":"293"},{"messageId":"294","fix":"304","desc":"296"},{"kind":"289","justification":"290"},{"kind":"289","justification":"290"},{"kind":"289","justification":"290"},{"kind":"289","justification":"290"},{"kind":"289","justification":"290"},{"kind":"289","justification":"290"},"directive","","suggestUnknown",{"range":"305","text":"306"},"Use `unknown` instead, this will force you to explicitly, and safely assert the type is correct.","suggestNever",{"range":"307","text":"308"},"Use `never` instead, this is useful when instantiating generic type parameters that you don't need to know the type of.",{"range":"309","text":"306"},{"range":"310","text":"308"},{"range":"311","text":"306"},{"range":"312","text":"308"},{"range":"313","text":"306"},{"range":"314","text":"308"},{"range":"315","text":"306"},{"range":"316","text":"308"},[1685,1688],"unknown",[1685,1688],"never",[4281,4284],[4281,4284],[4713,4716],[4713,4716],[5701,5704],[5701,5704],[6041,6044],[6041,6044]]
@@ -8,8 +8,10 @@
8
8
  "editor.defaultFormatter": "biomejs.biome"
9
9
  },
10
10
  "cSpell.words": [
11
- // Add words in alphabetical order
12
11
  "Actionbar",
12
+ "Overflowable",
13
+ "prefilters",
14
+ "Prefilters",
13
15
  "Testwise",
14
16
  "Thinkwise",
15
17
  "translatemessage"
@@ -1,22 +1,13 @@
1
1
  import type { Locator, Page } from '@playwright/test';
2
- import { ActionbarObjects } from './ActionbarObjects.js';
2
+ import { ActionbarObjects, ActionbarOverflowableObjects } from './ActionbarObjects.js';
3
3
 
4
- export class Actionbar {
5
- private _objects: ActionbarObjects;
4
+ class ActionbarActions {
5
+ private _objects: ActionbarOverflowableObjects;
6
6
 
7
- constructor(page: Page, actionbarContext: Locator | null = null) {
8
- this._objects = new ActionbarObjects(page, actionbarContext);
9
- }
10
-
11
- /**
12
- * Opens the Actionbar’s overflow menu and clicks on the 'Export' button inside it.
13
- */
14
- public async clickExportButton(): Promise<void> {
15
- await this._objects.overflowMenuButton().click();
16
- await this._objects.exportButton().click();
7
+ constructor(page: Page, context: Locator | null = null) {
8
+ this._objects = new ActionbarOverflowableObjects(page, context);
17
9
  }
18
10
 
19
- // CRUD Buttons
20
11
  public getAddButton = (): Locator => this._objects.addButton();
21
12
 
22
13
  public getCancelButton = (): Locator => this._objects.cancelButton();
@@ -31,9 +22,6 @@ export class Actionbar {
31
22
 
32
23
  public getUpdateButton = (): Locator => this._objects.updateButton();
33
24
 
34
- // Overflow Menu
35
- public getOverflowMenuButton = (): Locator => this._objects.overflowMenuButton();
36
-
37
25
  public getExportButton = (): Locator => this._objects.exportButton();
38
26
 
39
27
  public getImportButton = (): Locator => this._objects.importButton();
@@ -52,6 +40,126 @@ export class Actionbar {
52
40
 
53
41
  public getSortButton = (): Locator => this._objects.sortButton();
54
42
 
55
- // Other Elements
56
43
  public getSearchInput = (): Locator => this._objects.searchInput();
44
+
45
+ public getUpScreenTypeButton = (): Locator => this._objects.upScreenTypeButton();
46
+
47
+ public getUpDetailSettingsButton = (): Locator => this._objects.upDetailSettingsButton();
48
+
49
+ public getUpManagePrefiltersButton = (): Locator => this._objects.upManagePrefiltersButton();
50
+
51
+ public getUpGridSettingsButton = (): Locator => this._objects.upGridSettingsButton();
52
+
53
+ public getCubeSortButton = (): Locator => this._objects.cubeSortButton();
54
+
55
+ public getCubePivotSettingsButton = (): Locator => this._objects.cubePivotSettingsButton();
56
+
57
+ public getCubeChartSettingsButton = (): Locator => this._objects.cubeChartSettingsButton();
58
+
59
+ public getSaveAsCubeViewButton = (): Locator => this._objects.saveAsCubeViewButton();
60
+
61
+ public getDeleteCubeViewButton = (): Locator => this._objects.deleteCubeViewButton();
62
+
63
+ public getCollapseAllButton = (): Locator => this._objects.collapseAllButton();
64
+
65
+ public getExpandAllButton = (): Locator => this._objects.expandAllButton();
66
+ }
67
+
68
+ export class Actionbar extends ActionbarActions {
69
+ private _actionbarObjects: ActionbarObjects;
70
+ private _overflowMenu: ActionbarOverflow;
71
+
72
+ constructor(page: Page, actionbarContext: Locator | null = null) {
73
+ super(page, actionbarContext);
74
+ this._actionbarObjects = new ActionbarObjects(page, actionbarContext);
75
+ this._overflowMenu = new ActionbarOverflow(page);
76
+ }
77
+
78
+ public openOverflowMenu = async (): Promise<void> => {
79
+ await this._actionbarObjects.overflowMenuButton().click();
80
+ };
81
+
82
+ overflowMenu = {
83
+ getAddButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getAddButton()),
84
+
85
+ getCancelButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCancelButton()),
86
+
87
+ getCopyButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCopyButton()),
88
+
89
+ getDeleteButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getDeleteButton()),
90
+
91
+ getRefreshButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getRefreshButton()),
92
+
93
+ getSaveButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getSaveButton()),
94
+
95
+ getUpdateButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getUpdateButton()),
96
+
97
+ getExportButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getExportButton()),
98
+
99
+ getImportButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getImportButton()),
100
+
101
+ getExportImmediatelyButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getExportImmediatelyButton()),
102
+
103
+ getMassUpdateButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getMassUpdateButton()),
104
+
105
+ getQuickFilterButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getQuickFilterButton()),
106
+
107
+ getFilterButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getFilterButton()),
108
+
109
+ getClearAllFiltersButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getClearAllFiltersButton()),
110
+
111
+ getRestoreSortOrderButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getRestoreSortOrderButton()),
112
+
113
+ getSortButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getSortButton()),
114
+
115
+ getSearchInput: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getSearchInput()),
116
+
117
+ getUpScreenTypeButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getUpScreenTypeButton()),
118
+
119
+ getUpDetailSettingsButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getUpDetailSettingsButton()),
120
+
121
+ getUpManagePrefiltersButton: () =>
122
+ wrapWithOverflowOpen(this, () => this._overflowMenu.getUpManagePrefiltersButton()),
123
+
124
+ getUpGridSettingsButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getUpGridSettingsButton()),
125
+
126
+ getCubeSortButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCubeSortButton()),
127
+
128
+ getCubePivotSettingsButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCubePivotSettingsButton()),
129
+
130
+ getCubeChartSettingsButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCubeChartSettingsButton()),
131
+
132
+ getSaveAsCubeViewButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getSaveAsCubeViewButton()),
133
+
134
+ getDeleteCubeViewButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getDeleteCubeViewButton()),
135
+
136
+ getCollapseAllButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCollapseAllButton()),
137
+
138
+ getExpandAllButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getExpandAllButton())
139
+ };
140
+ }
141
+
142
+ export class ActionbarOverflow extends ActionbarActions {
143
+ constructor(page: Page) {
144
+ super(page, page.getByTestId('actionbar__overflow-menu__context'));
145
+ }
146
+ }
147
+
148
+ function wrapWithOverflowOpen(actionBarInstance: Actionbar, getLocatorFn: () => Locator): Locator {
149
+ const locator = getLocatorFn();
150
+
151
+ return new Proxy(locator, {
152
+ get(target, prop, receiver) {
153
+ const original = Reflect.get(target, prop, receiver);
154
+
155
+ if (typeof original === 'function') {
156
+ return async (...args: unknown[]) => {
157
+ await actionBarInstance.openOverflowMenu();
158
+ return (original as (...args: unknown[]) => unknown).apply(target, args);
159
+ };
160
+ }
161
+
162
+ return original;
163
+ }
164
+ }) as unknown as Locator;
57
165
  }
@@ -1,67 +1,72 @@
1
1
  import type { Locator, Page } from '@playwright/test';
2
2
  import { BaseComponentObjects } from '../BaseComponentObjects.js';
3
3
 
4
- export class ActionbarObjects extends BaseComponentObjects {
5
- private _page: Page;
6
-
4
+ export class ActionbarOverflowableObjects extends BaseComponentObjects {
7
5
  constructor(page: Page, context: Locator | null = null) {
8
6
  super(page, context);
9
- this._page = page;
10
7
  }
11
8
 
12
- // CRUD Buttons
13
- public addButton = () => this.context.locator('[data-testid="actionbar__add"]');
9
+ public addButton = () => this.context.getByTestId('actionbar__add');
10
+
11
+ public cancelButton = () => this.context.getByTestId('actionbar__cancel');
12
+
13
+ public copyButton = () => this.context.getByTestId('actionbar__copy');
14
+
15
+ public deleteButton = () => this.context.getByTestId('actionbar__delete');
16
+
17
+ public refreshButton = () => this.context.getByTestId('actionbar__refresh');
18
+
19
+ public saveButton = () => this.context.getByTestId('actionbar__save');
20
+
21
+ public updateButton = () => this.context.getByTestId('actionbar__update');
22
+
23
+ public searchInput = () => this.context.getByTestId('actionbar__search__input').locator('input');
14
24
 
15
- public cancelButton = () => this.context.locator(' [data-testid="actionbar__cancel"]');
25
+ public exportButton = () => this.context.getByTestId('actionbar__export');
16
26
 
17
- public copyButton = () => this.context.locator(' [data-testid="actionbar__copy"]');
27
+ public importButton = () => this.context.getByTestId('actionbar__import');
18
28
 
19
- public deleteButton = () => this.context.locator(' [data-testid="actionbar__delete"]');
29
+ public exportImmediatelyButton = () => this.context.getByTestId('actionbar__export-immediately');
20
30
 
21
- public refreshButton = () => this.context.locator(' [data-testid="actionbar__refresh"]');
31
+ public massUpdateButton = () => this.context.getByTestId('actionbar__mass-update');
22
32
 
23
- public saveButton = () => this.context.locator(' [data-testid="actionbar__save"]');
33
+ public quickFilterButton = () => this.context.getByTestId('actionbar__quick-filter');
24
34
 
25
- public updateButton = () => this.context.locator(' [data-testid="actionbar__update"]');
35
+ public filterButton = () => this.context.getByTestId('actionbar__filter');
26
36
 
27
- // Overflow Menu Button
28
- public overflowMenuButton = () => this.context.locator(' [data-testid="actionbar__overflow-menu__button"]');
37
+ public clearAllFiltersButton = () => this.context.getByTestId('actionbar__clear-filters');
29
38
 
30
- // Overflow Menu Items
39
+ public restoreSortOrderButton = () => this.context.getByTestId('actionbar__restore-sort-order');
31
40
 
32
- public exportButton = () =>
33
- this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__export"]');
41
+ public sortButton = () => this.context.getByTestId('actionbar__sort');
34
42
 
35
- public importButton = () =>
36
- this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__import"]');
43
+ public upScreenTypeButton = () => this.context.getByTestId('actionbar__up-screen-type');
37
44
 
38
- public exportImmediatelyButton = () =>
39
- this._page.locator(
40
- '[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__export-immediately"]'
41
- );
45
+ public upDetailSettingsButton = () => this.context.getByTestId('actionbar__up-details');
42
46
 
43
- public massUpdateButton = () =>
44
- this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__mass-update"]');
47
+ public upManagePrefiltersButton = () => this.context.getByTestId('actionbar__up-prefilters');
45
48
 
46
- public quickFilterButton = () =>
47
- this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__quick-filter"]');
49
+ public upGridSettingsButton = () => this.context.getByTestId('actionbar__up-grid');
48
50
 
49
- public filterButton = () =>
50
- this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__filter"]');
51
+ public cubeSortButton = () => this.context.getByTestId('actionbar__cube-sort');
51
52
 
52
- public clearAllFiltersButton = () =>
53
- this._page.locator(
54
- '[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__clear-all-filters"]'
55
- );
53
+ public cubePivotSettingsButton = () => this.context.getByTestId('actionbar__pivot-settings');
56
54
 
57
- public restoreSortOrderButton = () =>
58
- this._page.locator(
59
- '[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__restore-sort-order"]'
60
- );
55
+ public cubeChartSettingsButton = () => this.context.getByTestId('actionbar__chart-settings');
61
56
 
62
- public sortButton = () =>
63
- this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__sort"]');
57
+ public saveAsCubeViewButton = () => this.context.getByTestId('actionbar__save-as-cube-view');
58
+
59
+ public deleteCubeViewButton = () => this.context.getByTestId('actionbar__delete-cube-view');
60
+
61
+ public collapseAllButton = () => this.context.getByTestId('actionbar__collapse-all');
62
+
63
+ public expandAllButton = () => this.context.getByTestId('actionbar__expand-all');
64
+ }
65
+
66
+ export class ActionbarObjects extends ActionbarOverflowableObjects {
67
+ constructor(page: Page, context: Locator | null = null) {
68
+ super(page, context);
69
+ }
64
70
 
65
- // Other Elements
66
- public searchInput = () => this.context.locator(' [data-testid="actionbar__search__input"] input');
71
+ public overflowMenuButton = () => this.context.locator('[data-testid="actionbar__overflow-menu__button"]');
67
72
  }
@@ -1,31 +1,30 @@
1
- import type { Locator } from '@playwright/test';
2
- import { BaseComponent } from '../BaseComponent.js';
1
+ import type { Locator, Page } from '@playwright/test';
2
+ import { FormObjects } from './FormObjects.js';
3
3
 
4
- export class Form extends BaseComponent {
5
- public async getLocator(context?: Locator): Promise<Locator> {
6
- if (context) {
7
- return context.getByTestId(this.id);
8
- }
9
- return this.page.getByTestId(this.id);
4
+ export class Form {
5
+ private _objects: FormObjects;
6
+
7
+ constructor(page: Page, formContext: Locator | null = null) {
8
+ this._objects = new FormObjects(page, formContext);
10
9
  }
11
10
 
12
- public getFieldByColId = (colId: string): Locator => {
13
- this.getComponent().then((component) => {
14
- if (component) {
15
- return component.getByTestId(`form-field__${colId}`);
16
- }
17
- });
18
- // Fallback to page locator if component is not found
19
- return this.page.getByTestId(`form-field__${colId}`);
11
+ public getFieldByValue = (value: string): Locator => {
12
+ return this._objects.getFieldByValue(value);
20
13
  };
21
14
 
22
- public getFieldByValue = (value: string): Locator => {
23
- this.getComponent().then((component) => {
24
- if (component) {
25
- return component.locator('[data-form="field"]', { hasText: value });
26
- }
27
- });
28
- // Fallback to page locator if component is not found
29
- return this.page.locator('[data-form="field"]', { hasText: value });
15
+ public getFieldByColId = (colId: string): Locator => {
16
+ return this._objects.getFieldByColId(colId);
30
17
  };
18
+
19
+ // Returns true if the form is currently in edit mode, based on the `data-edit-mode` attribute.
20
+ public async isInEditMode(): Promise<boolean> {
21
+ const control = this._objects.getEditModeAttribute();
22
+ const mode = await control.getAttribute('data-edit-mode');
23
+ return mode === 'true';
24
+ }
25
+
26
+ // Clicks the lookup (magnifier) icon in the specified form field.
27
+ public async clickInFieldLookup(colId: string): Promise<void> {
28
+ await this._objects.getLookupButtonByColId(colId).click();
29
+ }
31
30
  }
@@ -0,0 +1,25 @@
1
+ import type { Locator, Page } from '@playwright/test';
2
+ import { BaseComponentObjects } from '../BaseComponentObjects.js';
3
+
4
+ export class FormObjects extends BaseComponentObjects {
5
+ constructor(page: Page, context: Locator | null = null) {
6
+ super(page, context);
7
+ }
8
+
9
+ // Field selectors
10
+ public getFieldByColId = (colId: string): Locator => {
11
+ return this.context.locator(`[data-testid="form-field__${colId}__input"]`);
12
+ };
13
+
14
+ public getFieldByValue = (value: string): Locator => {
15
+ return this.context.locator(`input[value="${value}"]`);
16
+ };
17
+
18
+ public getEditModeAttribute = (): Locator => {
19
+ return this.context.locator('[data-testid^="form-field__"][data-testid$="__control"]').first();
20
+ };
21
+
22
+ public getLookupButtonByColId = (colId: string): Locator => {
23
+ return this.context.locator(`[data-testid="form-field__${colId}__open"]`);
24
+ };
25
+ }
@@ -11,4 +11,8 @@ export class PopUpComponent {
11
11
  public confirmYes = async () => await this._objects.actionYesButton().click();
12
12
 
13
13
  public confirmNo = async () => await this._objects.actionNoButton().click();
14
+
15
+ public getContentMessage = async () => await this._objects.contentMessage().textContent();
16
+
17
+ public clickCloseButton = async () => await this._objects.closeButton().click();
14
18
  }
@@ -10,4 +10,8 @@ export class PopUpComponentObjects {
10
10
  public actionNoButton = () => this._page.getByTestId('popup__translatemessage__actions__no');
11
11
 
12
12
  public actionYesButton = () => this._page.getByTestId('popup__translatemessage__actions__yes');
13
+
14
+ public contentMessage = () => this._page.getByTestId('popup__tsfmessage__content__title').locator('span');
15
+
16
+ public closeButton = () => this._page.getByTestId('popup__tsfmessage__actions__close');
13
17
  }
@@ -1,11 +1,7 @@
1
1
  import type { Locator, Page } from '@playwright/test';
2
- export declare class Actionbar {
2
+ declare class ActionbarActions {
3
3
  private _objects;
4
- constructor(page: Page, actionbarContext?: Locator | null);
5
- /**
6
- * Opens the Actionbar’s overflow menu and clicks on the 'Export' button inside it.
7
- */
8
- clickExportButton(): Promise<void>;
4
+ constructor(page: Page, context?: Locator | null);
9
5
  getAddButton: () => Locator;
10
6
  getCancelButton: () => Locator;
11
7
  getCopyButton: () => Locator;
@@ -13,7 +9,6 @@ export declare class Actionbar {
13
9
  getRefreshButton: () => Locator;
14
10
  getSaveButton: () => Locator;
15
11
  getUpdateButton: () => Locator;
16
- getOverflowMenuButton: () => Locator;
17
12
  getExportButton: () => Locator;
18
13
  getImportButton: () => Locator;
19
14
  getExportImmediatelyButton: () => Locator;
@@ -24,4 +19,55 @@ export declare class Actionbar {
24
19
  getRestoreSortOrderButton: () => Locator;
25
20
  getSortButton: () => Locator;
26
21
  getSearchInput: () => Locator;
22
+ getUpScreenTypeButton: () => Locator;
23
+ getUpDetailSettingsButton: () => Locator;
24
+ getUpManagePrefiltersButton: () => Locator;
25
+ getUpGridSettingsButton: () => Locator;
26
+ getCubeSortButton: () => Locator;
27
+ getCubePivotSettingsButton: () => Locator;
28
+ getCubeChartSettingsButton: () => Locator;
29
+ getSaveAsCubeViewButton: () => Locator;
30
+ getDeleteCubeViewButton: () => Locator;
31
+ getCollapseAllButton: () => Locator;
32
+ getExpandAllButton: () => Locator;
33
+ }
34
+ export declare class Actionbar extends ActionbarActions {
35
+ private _actionbarObjects;
36
+ private _overflowMenu;
37
+ constructor(page: Page, actionbarContext?: Locator | null);
38
+ openOverflowMenu: () => Promise<void>;
39
+ overflowMenu: {
40
+ getAddButton: () => Locator;
41
+ getCancelButton: () => Locator;
42
+ getCopyButton: () => Locator;
43
+ getDeleteButton: () => Locator;
44
+ getRefreshButton: () => Locator;
45
+ getSaveButton: () => Locator;
46
+ getUpdateButton: () => Locator;
47
+ getExportButton: () => Locator;
48
+ getImportButton: () => Locator;
49
+ getExportImmediatelyButton: () => Locator;
50
+ getMassUpdateButton: () => Locator;
51
+ getQuickFilterButton: () => Locator;
52
+ getFilterButton: () => Locator;
53
+ getClearAllFiltersButton: () => Locator;
54
+ getRestoreSortOrderButton: () => Locator;
55
+ getSortButton: () => Locator;
56
+ getSearchInput: () => Locator;
57
+ getUpScreenTypeButton: () => Locator;
58
+ getUpDetailSettingsButton: () => Locator;
59
+ getUpManagePrefiltersButton: () => Locator;
60
+ getUpGridSettingsButton: () => Locator;
61
+ getCubeSortButton: () => Locator;
62
+ getCubePivotSettingsButton: () => Locator;
63
+ getCubeChartSettingsButton: () => Locator;
64
+ getSaveAsCubeViewButton: () => Locator;
65
+ getDeleteCubeViewButton: () => Locator;
66
+ getCollapseAllButton: () => Locator;
67
+ getExpandAllButton: () => Locator;
68
+ };
69
+ }
70
+ export declare class ActionbarOverflow extends ActionbarActions {
71
+ constructor(page: Page);
27
72
  }
73
+ export {};
@@ -1,7 +1,6 @@
1
- import { ActionbarObjects } from './ActionbarObjects.js';
2
- export class Actionbar {
3
- constructor(page, actionbarContext = null) {
4
- // CRUD Buttons
1
+ import { ActionbarObjects, ActionbarOverflowableObjects } from './ActionbarObjects.js';
2
+ class ActionbarActions {
3
+ constructor(page, context = null) {
5
4
  this.getAddButton = () => this._objects.addButton();
6
5
  this.getCancelButton = () => this._objects.cancelButton();
7
6
  this.getCopyButton = () => this._objects.copyButton();
@@ -9,8 +8,6 @@ export class Actionbar {
9
8
  this.getRefreshButton = () => this._objects.refreshButton();
10
9
  this.getSaveButton = () => this._objects.saveButton();
11
10
  this.getUpdateButton = () => this._objects.updateButton();
12
- // Overflow Menu
13
- this.getOverflowMenuButton = () => this._objects.overflowMenuButton();
14
11
  this.getExportButton = () => this._objects.exportButton();
15
12
  this.getImportButton = () => this._objects.importButton();
16
13
  this.getExportImmediatelyButton = () => this._objects.exportImmediatelyButton();
@@ -20,16 +17,79 @@ export class Actionbar {
20
17
  this.getClearAllFiltersButton = () => this._objects.clearAllFiltersButton();
21
18
  this.getRestoreSortOrderButton = () => this._objects.restoreSortOrderButton();
22
19
  this.getSortButton = () => this._objects.sortButton();
23
- // Other Elements
24
20
  this.getSearchInput = () => this._objects.searchInput();
25
- this._objects = new ActionbarObjects(page, actionbarContext);
21
+ this.getUpScreenTypeButton = () => this._objects.upScreenTypeButton();
22
+ this.getUpDetailSettingsButton = () => this._objects.upDetailSettingsButton();
23
+ this.getUpManagePrefiltersButton = () => this._objects.upManagePrefiltersButton();
24
+ this.getUpGridSettingsButton = () => this._objects.upGridSettingsButton();
25
+ this.getCubeSortButton = () => this._objects.cubeSortButton();
26
+ this.getCubePivotSettingsButton = () => this._objects.cubePivotSettingsButton();
27
+ this.getCubeChartSettingsButton = () => this._objects.cubeChartSettingsButton();
28
+ this.getSaveAsCubeViewButton = () => this._objects.saveAsCubeViewButton();
29
+ this.getDeleteCubeViewButton = () => this._objects.deleteCubeViewButton();
30
+ this.getCollapseAllButton = () => this._objects.collapseAllButton();
31
+ this.getExpandAllButton = () => this._objects.expandAllButton();
32
+ this._objects = new ActionbarOverflowableObjects(page, context);
33
+ }
34
+ }
35
+ export class Actionbar extends ActionbarActions {
36
+ constructor(page, actionbarContext = null) {
37
+ super(page, actionbarContext);
38
+ this.openOverflowMenu = async () => {
39
+ await this._actionbarObjects.overflowMenuButton().click();
40
+ };
41
+ this.overflowMenu = {
42
+ getAddButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getAddButton()),
43
+ getCancelButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCancelButton()),
44
+ getCopyButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCopyButton()),
45
+ getDeleteButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getDeleteButton()),
46
+ getRefreshButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getRefreshButton()),
47
+ getSaveButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getSaveButton()),
48
+ getUpdateButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getUpdateButton()),
49
+ getExportButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getExportButton()),
50
+ getImportButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getImportButton()),
51
+ getExportImmediatelyButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getExportImmediatelyButton()),
52
+ getMassUpdateButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getMassUpdateButton()),
53
+ getQuickFilterButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getQuickFilterButton()),
54
+ getFilterButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getFilterButton()),
55
+ getClearAllFiltersButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getClearAllFiltersButton()),
56
+ getRestoreSortOrderButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getRestoreSortOrderButton()),
57
+ getSortButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getSortButton()),
58
+ getSearchInput: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getSearchInput()),
59
+ getUpScreenTypeButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getUpScreenTypeButton()),
60
+ getUpDetailSettingsButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getUpDetailSettingsButton()),
61
+ getUpManagePrefiltersButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getUpManagePrefiltersButton()),
62
+ getUpGridSettingsButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getUpGridSettingsButton()),
63
+ getCubeSortButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCubeSortButton()),
64
+ getCubePivotSettingsButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCubePivotSettingsButton()),
65
+ getCubeChartSettingsButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCubeChartSettingsButton()),
66
+ getSaveAsCubeViewButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getSaveAsCubeViewButton()),
67
+ getDeleteCubeViewButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getDeleteCubeViewButton()),
68
+ getCollapseAllButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getCollapseAllButton()),
69
+ getExpandAllButton: () => wrapWithOverflowOpen(this, () => this._overflowMenu.getExpandAllButton())
70
+ };
71
+ this._actionbarObjects = new ActionbarObjects(page, actionbarContext);
72
+ this._overflowMenu = new ActionbarOverflow(page);
26
73
  }
27
- /**
28
- * Opens the Actionbar’s overflow menu and clicks on the 'Export' button inside it.
29
- */
30
- async clickExportButton() {
31
- await this._objects.overflowMenuButton().click();
32
- await this._objects.exportButton().click();
74
+ }
75
+ export class ActionbarOverflow extends ActionbarActions {
76
+ constructor(page) {
77
+ super(page, page.getByTestId('actionbar__overflow-menu__context'));
33
78
  }
34
79
  }
80
+ function wrapWithOverflowOpen(actionBarInstance, getLocatorFn) {
81
+ const locator = getLocatorFn();
82
+ return new Proxy(locator, {
83
+ get(target, prop, receiver) {
84
+ const original = Reflect.get(target, prop, receiver);
85
+ if (typeof original === 'function') {
86
+ return async (...args) => {
87
+ await actionBarInstance.openOverflowMenu();
88
+ return original.apply(target, args);
89
+ };
90
+ }
91
+ return original;
92
+ }
93
+ });
94
+ }
35
95
  //# sourceMappingURL=Actionbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Actionbar.js","sourceRoot":"","sources":["../../../components/actionbar/Actionbar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,SAAS;IAGpB,YAAY,IAAU,EAAE,mBAAmC,IAAI;QAY/D,eAAe;QACR,iBAAY,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAExD,oBAAe,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE9D,kBAAa,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAE1D,oBAAe,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE9D,qBAAgB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAEhE,kBAAa,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAE1D,oBAAe,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAErE,gBAAgB;QACT,0BAAqB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAE1E,oBAAe,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE9D,oBAAe,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE9D,+BAA0B,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC;QAEpF,wBAAmB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAEtE,yBAAoB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAExE,oBAAe,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE9D,6BAAwB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QAEhF,8BAAyB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAElF,kBAAa,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAEjE,iBAAiB;QACV,mBAAc,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAhDjE,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,iBAAiB;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC;CAwCF"}
1
+ {"version":3,"file":"Actionbar.js","sourceRoot":"","sources":["../../../components/actionbar/Actionbar.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { Locator, Page } from '@playwright/test';
2
2
  import { BaseComponentObjects } from '../BaseComponentObjects.js';
3
- export declare class ActionbarObjects extends BaseComponentObjects {
4
- private _page;
3
+ export declare class ActionbarOverflowableObjects extends BaseComponentObjects {
5
4
  constructor(page: Page, context?: Locator | null);
6
5
  addButton: () => Locator;
7
6
  cancelButton: () => Locator;
@@ -10,7 +9,7 @@ export declare class ActionbarObjects extends BaseComponentObjects {
10
9
  refreshButton: () => Locator;
11
10
  saveButton: () => Locator;
12
11
  updateButton: () => Locator;
13
- overflowMenuButton: () => Locator;
12
+ searchInput: () => Locator;
14
13
  exportButton: () => Locator;
15
14
  importButton: () => Locator;
16
15
  exportImmediatelyButton: () => Locator;
@@ -20,5 +19,19 @@ export declare class ActionbarObjects extends BaseComponentObjects {
20
19
  clearAllFiltersButton: () => Locator;
21
20
  restoreSortOrderButton: () => Locator;
22
21
  sortButton: () => Locator;
23
- searchInput: () => Locator;
22
+ upScreenTypeButton: () => Locator;
23
+ upDetailSettingsButton: () => Locator;
24
+ upManagePrefiltersButton: () => Locator;
25
+ upGridSettingsButton: () => Locator;
26
+ cubeSortButton: () => Locator;
27
+ cubePivotSettingsButton: () => Locator;
28
+ cubeChartSettingsButton: () => Locator;
29
+ saveAsCubeViewButton: () => Locator;
30
+ deleteCubeViewButton: () => Locator;
31
+ collapseAllButton: () => Locator;
32
+ expandAllButton: () => Locator;
33
+ }
34
+ export declare class ActionbarObjects extends ActionbarOverflowableObjects {
35
+ constructor(page: Page, context?: Locator | null);
36
+ overflowMenuButton: () => Locator;
24
37
  }
@@ -1,30 +1,41 @@
1
1
  import { BaseComponentObjects } from '../BaseComponentObjects.js';
2
- export class ActionbarObjects extends BaseComponentObjects {
2
+ export class ActionbarOverflowableObjects extends BaseComponentObjects {
3
3
  constructor(page, context = null) {
4
4
  super(page, context);
5
- // CRUD Buttons
6
- this.addButton = () => this.context.locator('[data-testid="actionbar__add"]');
7
- this.cancelButton = () => this.context.locator(' [data-testid="actionbar__cancel"]');
8
- this.copyButton = () => this.context.locator(' [data-testid="actionbar__copy"]');
9
- this.deleteButton = () => this.context.locator(' [data-testid="actionbar__delete"]');
10
- this.refreshButton = () => this.context.locator(' [data-testid="actionbar__refresh"]');
11
- this.saveButton = () => this.context.locator(' [data-testid="actionbar__save"]');
12
- this.updateButton = () => this.context.locator(' [data-testid="actionbar__update"]');
13
- // Overflow Menu Button
14
- this.overflowMenuButton = () => this.context.locator(' [data-testid="actionbar__overflow-menu__button"]');
15
- // Overflow Menu Items
16
- this.exportButton = () => this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__export"]');
17
- this.importButton = () => this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__import"]');
18
- this.exportImmediatelyButton = () => this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__export-immediately"]');
19
- this.massUpdateButton = () => this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__mass-update"]');
20
- this.quickFilterButton = () => this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__quick-filter"]');
21
- this.filterButton = () => this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__filter"]');
22
- this.clearAllFiltersButton = () => this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__clear-all-filters"]');
23
- this.restoreSortOrderButton = () => this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__restore-sort-order"]');
24
- this.sortButton = () => this._page.locator('[data-testid="actionbar__overflow-menu__context"] [data-testid="actionbar__sort"]');
25
- // Other Elements
26
- this.searchInput = () => this.context.locator(' [data-testid="actionbar__search__input"] input');
27
- this._page = page;
5
+ this.addButton = () => this.context.getByTestId('actionbar__add');
6
+ this.cancelButton = () => this.context.getByTestId('actionbar__cancel');
7
+ this.copyButton = () => this.context.getByTestId('actionbar__copy');
8
+ this.deleteButton = () => this.context.getByTestId('actionbar__delete');
9
+ this.refreshButton = () => this.context.getByTestId('actionbar__refresh');
10
+ this.saveButton = () => this.context.getByTestId('actionbar__save');
11
+ this.updateButton = () => this.context.getByTestId('actionbar__update');
12
+ this.searchInput = () => this.context.getByTestId('actionbar__search__input').locator('input');
13
+ this.exportButton = () => this.context.getByTestId('actionbar__export');
14
+ this.importButton = () => this.context.getByTestId('actionbar__import');
15
+ this.exportImmediatelyButton = () => this.context.getByTestId('actionbar__export-immediately');
16
+ this.massUpdateButton = () => this.context.getByTestId('actionbar__mass-update');
17
+ this.quickFilterButton = () => this.context.getByTestId('actionbar__quick-filter');
18
+ this.filterButton = () => this.context.getByTestId('actionbar__filter');
19
+ this.clearAllFiltersButton = () => this.context.getByTestId('actionbar__clear-filters');
20
+ this.restoreSortOrderButton = () => this.context.getByTestId('actionbar__restore-sort-order');
21
+ this.sortButton = () => this.context.getByTestId('actionbar__sort');
22
+ this.upScreenTypeButton = () => this.context.getByTestId('actionbar__up-screen-type');
23
+ this.upDetailSettingsButton = () => this.context.getByTestId('actionbar__up-details');
24
+ this.upManagePrefiltersButton = () => this.context.getByTestId('actionbar__up-prefilters');
25
+ this.upGridSettingsButton = () => this.context.getByTestId('actionbar__up-grid');
26
+ this.cubeSortButton = () => this.context.getByTestId('actionbar__cube-sort');
27
+ this.cubePivotSettingsButton = () => this.context.getByTestId('actionbar__pivot-settings');
28
+ this.cubeChartSettingsButton = () => this.context.getByTestId('actionbar__chart-settings');
29
+ this.saveAsCubeViewButton = () => this.context.getByTestId('actionbar__save-as-cube-view');
30
+ this.deleteCubeViewButton = () => this.context.getByTestId('actionbar__delete-cube-view');
31
+ this.collapseAllButton = () => this.context.getByTestId('actionbar__collapse-all');
32
+ this.expandAllButton = () => this.context.getByTestId('actionbar__expand-all');
33
+ }
34
+ }
35
+ export class ActionbarObjects extends ActionbarOverflowableObjects {
36
+ constructor(page, context = null) {
37
+ super(page, context);
38
+ this.overflowMenuButton = () => this.context.locator('[data-testid="actionbar__overflow-menu__button"]');
28
39
  }
29
40
  }
30
41
  //# sourceMappingURL=ActionbarObjects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionbarObjects.js","sourceRoot":"","sources":["../../../components/actionbar/ActionbarObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,gBAAiB,SAAQ,oBAAoB;IAGxD,YAAY,IAAU,EAAE,UAA0B,IAAI;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAIvB,eAAe;QACR,cAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAEzE,iBAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAEhF,eAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAE5E,iBAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAEhF,kBAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;QAElF,eAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAE5E,iBAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAEvF,uBAAuB;QAChB,uBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;QAE5G,sBAAsB;QAEf,iBAAY,GAAG,GAAG,EAAE,CACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qFAAqF,CAAC,CAAC;QAErG,iBAAY,GAAG,GAAG,EAAE,CACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qFAAqF,CAAC,CAAC;QAErG,4BAAuB,GAAG,GAAG,EAAE,CACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,iGAAiG,CAClG,CAAC;QAEG,qBAAgB,GAAG,GAAG,EAAE,CAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,0FAA0F,CAAC,CAAC;QAE1G,sBAAiB,GAAG,GAAG,EAAE,CAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,2FAA2F,CAAC,CAAC;QAE3G,iBAAY,GAAG,GAAG,EAAE,CACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qFAAqF,CAAC,CAAC;QAErG,0BAAqB,GAAG,GAAG,EAAE,CAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,gGAAgG,CACjG,CAAC;QAEG,2BAAsB,GAAG,GAAG,EAAE,CACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,iGAAiG,CAClG,CAAC;QAEG,eAAU,GAAG,GAAG,EAAE,CACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mFAAmF,CAAC,CAAC;QAE1G,iBAAiB;QACV,gBAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;QAzDjG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CAyDF"}
1
+ {"version":3,"file":"ActionbarObjects.js","sourceRoot":"","sources":["../../../components/actionbar/ActionbarObjects.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
- import type { Locator } from '@playwright/test';
2
- import { BaseComponent } from '../BaseComponent.js';
3
- export declare class Form extends BaseComponent {
4
- getLocator(context?: Locator): Promise<Locator>;
5
- getFieldByColId: (colId: string) => Locator;
1
+ import type { Locator, Page } from '@playwright/test';
2
+ export declare class Form {
3
+ private _objects;
4
+ constructor(page: Page, formContext?: Locator | null);
6
5
  getFieldByValue: (value: string) => Locator;
6
+ getFieldByColId: (colId: string) => Locator;
7
+ isInEditMode(): Promise<boolean>;
8
+ clickInFieldLookup(colId: string): Promise<void>;
7
9
  }
@@ -1,31 +1,23 @@
1
- import { BaseComponent } from '../BaseComponent.js';
2
- export class Form extends BaseComponent {
3
- constructor() {
4
- super(...arguments);
5
- this.getFieldByColId = (colId) => {
6
- this.getComponent().then((component) => {
7
- if (component) {
8
- return component.getByTestId(`form-field__${colId}`);
9
- }
10
- });
11
- // Fallback to page locator if component is not found
12
- return this.page.getByTestId(`form-field__${colId}`);
13
- };
1
+ import { FormObjects } from './FormObjects.js';
2
+ export class Form {
3
+ constructor(page, formContext = null) {
14
4
  this.getFieldByValue = (value) => {
15
- this.getComponent().then((component) => {
16
- if (component) {
17
- return component.locator('[data-form="field"]', { hasText: value });
18
- }
19
- });
20
- // Fallback to page locator if component is not found
21
- return this.page.locator('[data-form="field"]', { hasText: value });
5
+ return this._objects.getFieldByValue(value);
22
6
  };
7
+ this.getFieldByColId = (colId) => {
8
+ return this._objects.getFieldByColId(colId);
9
+ };
10
+ this._objects = new FormObjects(page, formContext);
11
+ }
12
+ // Returns true if the form is currently in edit mode, based on the `data-edit-mode` attribute.
13
+ async isInEditMode() {
14
+ const control = this._objects.getEditModeAttribute();
15
+ const mode = await control.getAttribute('data-edit-mode');
16
+ return mode === 'true';
23
17
  }
24
- async getLocator(context) {
25
- if (context) {
26
- return context.getByTestId(this.id);
27
- }
28
- return this.page.getByTestId(this.id);
18
+ // Clicks the lookup (magnifier) icon in the specified form field.
19
+ async clickInFieldLookup(colId) {
20
+ await this._objects.getLookupButtonByColId(colId).click();
29
21
  }
30
22
  }
31
23
  //# sourceMappingURL=Form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../../components/form/Form.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,OAAO,IAAK,SAAQ,aAAa;IAAvC;;QAQS,oBAAe,GAAG,CAAC,KAAa,EAAW,EAAE;YAClD,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBACrC,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,SAAS,CAAC,WAAW,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,qDAAqD;YACrD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC;QAEK,oBAAe,GAAG,CAAC,KAAa,EAAW,EAAE;YAClD,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBACrC,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC,CAAC,CAAC;YACH,qDAAqD;YACrD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC;IA1BQ,KAAK,CAAC,UAAU,CAAC,OAAiB;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;CAqBF"}
1
+ {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../../components/form/Form.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,OAAO,IAAI;IAGf,YAAY,IAAU,EAAE,cAA8B,IAAI;QAInD,oBAAe,GAAG,CAAC,KAAa,EAAW,EAAE;YAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEK,oBAAe,GAAG,CAAC,KAAa,EAAW,EAAE;YAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC;QATA,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAUD,+FAA+F;IACxF,KAAK,CAAC,YAAY;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC1D,OAAO,IAAI,KAAK,MAAM,CAAC;IACzB,CAAC;IAED,kEAAkE;IAC3D,KAAK,CAAC,kBAAkB,CAAC,KAAa;QAC3C,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5D,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import type { Locator, Page } from '@playwright/test';
2
+ import { BaseComponentObjects } from '../BaseComponentObjects.js';
3
+ export declare class FormObjects extends BaseComponentObjects {
4
+ constructor(page: Page, context?: Locator | null);
5
+ getFieldByColId: (colId: string) => Locator;
6
+ getFieldByValue: (value: string) => Locator;
7
+ getEditModeAttribute: () => Locator;
8
+ getLookupButtonByColId: (colId: string) => Locator;
9
+ }
@@ -0,0 +1,20 @@
1
+ import { BaseComponentObjects } from '../BaseComponentObjects.js';
2
+ export class FormObjects extends BaseComponentObjects {
3
+ constructor(page, context = null) {
4
+ super(page, context);
5
+ // Field selectors
6
+ this.getFieldByColId = (colId) => {
7
+ return this.context.locator(`[data-testid="form-field__${colId}__input"]`);
8
+ };
9
+ this.getFieldByValue = (value) => {
10
+ return this.context.locator(`input[value="${value}"]`);
11
+ };
12
+ this.getEditModeAttribute = () => {
13
+ return this.context.locator('[data-testid^="form-field__"][data-testid$="__control"]').first();
14
+ };
15
+ this.getLookupButtonByColId = (colId) => {
16
+ return this.context.locator(`[data-testid="form-field__${colId}__open"]`);
17
+ };
18
+ }
19
+ }
20
+ //# sourceMappingURL=FormObjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormObjects.js","sourceRoot":"","sources":["../../../components/form/FormObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,WAAY,SAAQ,oBAAoB;IACnD,YAAY,IAAU,EAAE,UAA0B,IAAI;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAGvB,kBAAkB;QACX,oBAAe,GAAG,CAAC,KAAa,EAAW,EAAE;YAClD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,6BAA6B,KAAK,WAAW,CAAC,CAAC;QAC7E,CAAC,CAAC;QAEK,oBAAe,GAAG,CAAC,KAAa,EAAW,EAAE;YAClD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC;QAEK,yBAAoB,GAAG,GAAY,EAAE;YAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC,KAAK,EAAE,CAAC;QACjG,CAAC,CAAC;QAEK,2BAAsB,GAAG,CAAC,KAAa,EAAW,EAAE;YACzD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,6BAA6B,KAAK,UAAU,CAAC,CAAC;QAC5E,CAAC,CAAC;IAjBF,CAAC;CAkBF"}
@@ -4,4 +4,6 @@ export declare class PopUpComponent {
4
4
  constructor(page: Page);
5
5
  confirmYes: () => Promise<void>;
6
6
  confirmNo: () => Promise<void>;
7
+ getContentMessage: () => Promise<string | null>;
8
+ clickCloseButton: () => Promise<void>;
7
9
  }
@@ -3,6 +3,8 @@ export class PopUpComponent {
3
3
  constructor(page) {
4
4
  this.confirmYes = async () => await this._objects.actionYesButton().click();
5
5
  this.confirmNo = async () => await this._objects.actionNoButton().click();
6
+ this.getContentMessage = async () => await this._objects.contentMessage().textContent();
7
+ this.clickCloseButton = async () => await this._objects.closeButton().click();
6
8
  this._objects = new PopUpComponentObjects(page);
7
9
  }
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PopUpComponent.js","sourceRoot":"","sources":["../../../components/pop-up/PopUpComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,OAAO,cAAc;IAGzB,YAAY,IAAU;QAIf,eAAU,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC;QAEvE,cAAS,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC;QAL1E,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;CAKF"}
1
+ {"version":3,"file":"PopUpComponent.js","sourceRoot":"","sources":["../../../components/pop-up/PopUpComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,OAAO,cAAc;IAGzB,YAAY,IAAU;QAIf,eAAU,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC;QAEvE,cAAS,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC;QAErE,sBAAiB,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,CAAC;QAEnF,qBAAgB,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAT9E,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;CASF"}
@@ -4,4 +4,6 @@ export declare class PopUpComponentObjects {
4
4
  constructor(page: Page);
5
5
  actionNoButton: () => import("@playwright/test").Locator;
6
6
  actionYesButton: () => import("@playwright/test").Locator;
7
+ contentMessage: () => import("@playwright/test").Locator;
8
+ closeButton: () => import("@playwright/test").Locator;
7
9
  }
@@ -2,6 +2,8 @@ export class PopUpComponentObjects {
2
2
  constructor(page) {
3
3
  this.actionNoButton = () => this._page.getByTestId('popup__translatemessage__actions__no');
4
4
  this.actionYesButton = () => this._page.getByTestId('popup__translatemessage__actions__yes');
5
+ this.contentMessage = () => this._page.getByTestId('popup__tsfmessage__content__title').locator('span');
6
+ this.closeButton = () => this._page.getByTestId('popup__tsfmessage__actions__close');
5
7
  this._page = page;
6
8
  }
7
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PopUpComponentModels.js","sourceRoot":"","sources":["../../../components/pop-up/PopUpComponentModels.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,qBAAqB;IAGhC,YAAY,IAAU;QAIf,mBAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;QAEtF,oBAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAC;QAL7F,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CAKF"}
1
+ {"version":3,"file":"PopUpComponentModels.js","sourceRoot":"","sources":["../../../components/pop-up/PopUpComponentModels.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,qBAAqB;IAGhC,YAAY,IAAU;QAIf,mBAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;QAEtF,oBAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAC;QAExF,mBAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEnG,gBAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC;QATrF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CASF"}
@@ -49,11 +49,21 @@ export class LoginHelper {
49
49
  * Navigate to the home page and wait for the menu to load
50
50
  */
51
51
  async navigateHomeAndWaitForMenuToLoad() {
52
- await this._page.goto('/');
52
+ const baseUrl = testwiseConfig().get('environmentSettings.baseUrl');
53
+ if (!baseUrl) {
54
+ throw new Error('Base URL is not defined in the configuration.');
55
+ }
56
+ await this._page.goto(baseUrl);
53
57
  await this._page.route('**/i_ui_menu?**', (route) => {
54
58
  route.continue();
55
59
  });
56
- await expect.poll(async () => await this._page.url()).toContain('#application=');
60
+ try {
61
+ const timeout = testwiseConfig().get('features.other.loginTimeout') || 30000;
62
+ await expect.poll(async () => await this._page.url(), { timeout: Number(timeout) }).toContain('#application=');
63
+ }
64
+ catch {
65
+ throw new Error('Application failed to initialize as expected. Please try again or contact support.');
66
+ }
57
67
  }
58
68
  /**
59
69
  * Log in and configure the application
@@ -77,7 +87,7 @@ export class LoginHelper {
77
87
  }
78
88
  });
79
89
  if (response.status() !== 204) {
80
- console.error('Login failed', await response.status());
90
+ throw new Error(`Login failed with status code: ${response.status()}`);
81
91
  }
82
92
  // Set the navigator.language property
83
93
  await this._page.route('**/*', (route, request) => {
@@ -1 +1 @@
1
- {"version":3,"file":"LoginHelper.js","sourceRoot":"","sources":["../../helpers/LoginHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginHelper.js","sourceRoot":"","sources":["../../helpers/LoginHelper.ts"],"names":[],"mappings":"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"}
@@ -66,13 +66,22 @@ export class LoginHelper {
66
66
  * Navigate to the home page and wait for the menu to load
67
67
  */
68
68
  private async navigateHomeAndWaitForMenuToLoad() {
69
- await this._page.goto('/');
69
+ const baseUrl = testwiseConfig().get<string>('environmentSettings.baseUrl');
70
+ if (!baseUrl) {
71
+ throw new Error('Base URL is not defined in the configuration.');
72
+ }
73
+ await this._page.goto(baseUrl);
70
74
 
71
75
  await this._page.route('**/i_ui_menu?**', (route) => {
72
76
  route.continue();
73
77
  });
74
78
 
75
- await expect.poll(async () => await this._page.url()).toContain('#application=');
79
+ try {
80
+ const timeout = testwiseConfig().get<string | number>('features.other.loginTimeout') || 30000;
81
+ await expect.poll(async () => await this._page.url(), { timeout: Number(timeout) }).toContain('#application=');
82
+ } catch {
83
+ throw new Error('Application failed to initialize as expected. Please try again or contact support.');
84
+ }
76
85
  }
77
86
 
78
87
  /**
@@ -102,7 +111,7 @@ export class LoginHelper {
102
111
  });
103
112
 
104
113
  if (response.status() !== 204) {
105
- console.error('Login failed', await response.status());
114
+ throw new Error(`Login failed with status code: ${response.status()}`);
106
115
  }
107
116
 
108
117
  // Set the navigator.language property
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkwise/testwise",
3
- "version": "0.0.2-alpha.2",
3
+ "version": "0.1.12",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "bin": {
@@ -36,5 +36,7 @@
36
36
  "npm-run-all": "^4.1.5",
37
37
  "typescript-eslint": "^8.34.0"
38
38
  },
39
- "publishConfig": { "access": "public" }
39
+ "publishConfig": {
40
+ "access": "public"
41
+ }
40
42
  }
@@ -14,6 +14,9 @@
14
14
  "InflightRequests" : {
15
15
  "waitForRequestsToComplete" : true,
16
16
  "swallowPollingExceptions" : true
17
+ },
18
+ "other" : {
19
+ "loginTimeout" : 30000
17
20
  }
18
21
  }
19
22
  }