@futdevpro/dynamo-e2e 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.c8rc.json +25 -0
- package/.dynamo/pipeline.cicd.config.json +137 -0
- package/.dynamo/version-bump.config.json +5 -0
- package/.github/workflows/main.yml +29 -0
- package/BUILD.md +36 -0
- package/README.md +68 -0
- package/bin/dye2e.js +72 -0
- package/build/_modules/contracts/_collections/constants/cwv-default-thresholds.const.d.ts +10 -0
- package/build/_modules/contracts/_collections/constants/cwv-default-thresholds.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/constants/cwv-default-thresholds.const.js +24 -0
- package/build/_modules/contracts/_collections/constants/cwv-default-thresholds.const.js.map +1 -0
- package/build/_modules/contracts/_collections/constants/standard-viewports.const.d.ts +9 -0
- package/build/_modules/contracts/_collections/constants/standard-viewports.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/constants/standard-viewports.const.js +75 -0
- package/build/_modules/contracts/_collections/constants/standard-viewports.const.js.map +1 -0
- package/build/_modules/contracts/_collections/index.d.ts +5 -0
- package/build/_modules/contracts/_collections/index.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/index.js +21 -0
- package/build/_modules/contracts/_collections/index.js.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/checkbox-field-test-cases.const.d.ts +3 -0
- package/build/_modules/contracts/_collections/test-case-sets/checkbox-field-test-cases.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/checkbox-field-test-cases.const.js +52 -0
- package/build/_modules/contracts/_collections/test-case-sets/checkbox-field-test-cases.const.js.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/date-field-test-cases.const.d.ts +8 -0
- package/build/_modules/contracts/_collections/test-case-sets/date-field-test-cases.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/date-field-test-cases.const.js +120 -0
- package/build/_modules/contracts/_collections/test-case-sets/date-field-test-cases.const.js.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/field-type-registry.const.d.ts +18 -0
- package/build/_modules/contracts/_collections/test-case-sets/field-type-registry.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/field-type-registry.const.js +49 -0
- package/build/_modules/contracts/_collections/test-case-sets/field-type-registry.const.js.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/index.d.ts +10 -0
- package/build/_modules/contracts/_collections/test-case-sets/index.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/index.js +26 -0
- package/build/_modules/contracts/_collections/test-case-sets/index.js.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/multiselect-field-test-cases.const.d.ts +6 -0
- package/build/_modules/contracts/_collections/test-case-sets/multiselect-field-test-cases.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/multiselect-field-test-cases.const.js +53 -0
- package/build/_modules/contracts/_collections/test-case-sets/multiselect-field-test-cases.const.js.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/number-field-test-cases.const.d.ts +10 -0
- package/build/_modules/contracts/_collections/test-case-sets/number-field-test-cases.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/number-field-test-cases.const.js +102 -0
- package/build/_modules/contracts/_collections/test-case-sets/number-field-test-cases.const.js.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/password-field-test-cases.const.d.ts +7 -0
- package/build/_modules/contracts/_collections/test-case-sets/password-field-test-cases.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/password-field-test-cases.const.js +85 -0
- package/build/_modules/contracts/_collections/test-case-sets/password-field-test-cases.const.js.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/select-field-test-cases.const.d.ts +7 -0
- package/build/_modules/contracts/_collections/test-case-sets/select-field-test-cases.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/select-field-test-cases.const.js +57 -0
- package/build/_modules/contracts/_collections/test-case-sets/select-field-test-cases.const.js.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/slider-field-test-cases.const.d.ts +7 -0
- package/build/_modules/contracts/_collections/test-case-sets/slider-field-test-cases.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/slider-field-test-cases.const.js +67 -0
- package/build/_modules/contracts/_collections/test-case-sets/slider-field-test-cases.const.js.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/text-field-test-cases.const.d.ts +10 -0
- package/build/_modules/contracts/_collections/test-case-sets/text-field-test-cases.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/text-field-test-cases.const.js +0 -0
- package/build/_modules/contracts/_collections/test-case-sets/text-field-test-cases.const.js.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/textarea-field-test-cases.const.d.ts +3 -0
- package/build/_modules/contracts/_collections/test-case-sets/textarea-field-test-cases.const.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/test-case-sets/textarea-field-test-cases.const.js +58 -0
- package/build/_modules/contracts/_collections/test-case-sets/textarea-field-test-cases.const.js.map +1 -0
- package/build/_modules/contracts/_collections/utils/test-id.util.d.ts +13 -0
- package/build/_modules/contracts/_collections/utils/test-id.util.d.ts.map +1 -0
- package/build/_modules/contracts/_collections/utils/test-id.util.js +30 -0
- package/build/_modules/contracts/_collections/utils/test-id.util.js.map +1 -0
- package/build/_modules/contracts/_enums/cwv-metric-type.enum.d.ts +21 -0
- package/build/_modules/contracts/_enums/cwv-metric-type.enum.d.ts.map +1 -0
- package/build/_modules/contracts/_enums/cwv-metric-type.enum.js +25 -0
- package/build/_modules/contracts/_enums/cwv-metric-type.enum.js.map +1 -0
- package/build/_modules/contracts/_enums/field-test-case-type.enum.d.ts +83 -0
- package/build/_modules/contracts/_enums/field-test-case-type.enum.d.ts.map +1 -0
- package/build/_modules/contracts/_enums/field-test-case-type.enum.js +98 -0
- package/build/_modules/contracts/_enums/field-test-case-type.enum.js.map +1 -0
- package/build/_modules/contracts/_enums/index.d.ts +6 -0
- package/build/_modules/contracts/_enums/index.d.ts.map +1 -0
- package/build/_modules/contracts/_enums/index.js +22 -0
- package/build/_modules/contracts/_enums/index.js.map +1 -0
- package/build/_modules/contracts/_enums/standard-viewport.enum.d.ts +15 -0
- package/build/_modules/contracts/_enums/standard-viewport.enum.d.ts.map +1 -0
- package/build/_modules/contracts/_enums/standard-viewport.enum.js +19 -0
- package/build/_modules/contracts/_enums/standard-viewport.enum.js.map +1 -0
- package/build/_modules/contracts/_enums/test-expectation-type.enum.d.ts +17 -0
- package/build/_modules/contracts/_enums/test-expectation-type.enum.d.ts.map +1 -0
- package/build/_modules/contracts/_enums/test-expectation-type.enum.js +21 -0
- package/build/_modules/contracts/_enums/test-expectation-type.enum.js.map +1 -0
- package/build/_modules/contracts/_enums/test-run-mode-type.enum.d.ts +16 -0
- package/build/_modules/contracts/_enums/test-run-mode-type.enum.d.ts.map +1 -0
- package/build/_modules/contracts/_enums/test-run-mode-type.enum.js +20 -0
- package/build/_modules/contracts/_enums/test-run-mode-type.enum.js.map +1 -0
- package/build/_modules/contracts/_models/data-models/field-test-case-set.data-model.d.ts +19 -0
- package/build/_modules/contracts/_models/data-models/field-test-case-set.data-model.d.ts.map +1 -0
- package/build/_modules/contracts/_models/data-models/field-test-case-set.data-model.js +24 -0
- package/build/_modules/contracts/_models/data-models/field-test-case-set.data-model.js.map +1 -0
- package/build/_modules/contracts/_models/data-models/field-test-case.data-model.d.ts +37 -0
- package/build/_modules/contracts/_models/data-models/field-test-case.data-model.d.ts.map +1 -0
- package/build/_modules/contracts/_models/data-models/field-test-case.data-model.js +43 -0
- package/build/_modules/contracts/_models/data-models/field-test-case.data-model.js.map +1 -0
- package/build/_modules/contracts/_models/data-models/index.d.ts +3 -0
- package/build/_modules/contracts/_models/data-models/index.d.ts.map +1 -0
- package/build/_modules/contracts/_models/data-models/index.js +19 -0
- package/build/_modules/contracts/_models/data-models/index.js.map +1 -0
- package/build/_modules/contracts/_models/interfaces/cwv-thresholds.interface.d.ts +16 -0
- package/build/_modules/contracts/_models/interfaces/cwv-thresholds.interface.d.ts.map +1 -0
- package/build/_modules/contracts/_models/interfaces/cwv-thresholds.interface.js +3 -0
- package/build/_modules/contracts/_models/interfaces/cwv-thresholds.interface.js.map +1 -0
- package/build/_modules/contracts/_models/interfaces/form-test-suite-settings.interface.d.ts +45 -0
- package/build/_modules/contracts/_models/interfaces/form-test-suite-settings.interface.d.ts.map +1 -0
- package/build/_modules/contracts/_models/interfaces/form-test-suite-settings.interface.js +3 -0
- package/build/_modules/contracts/_models/interfaces/form-test-suite-settings.interface.js.map +1 -0
- package/build/_modules/contracts/_models/interfaces/index.d.ts +4 -0
- package/build/_modules/contracts/_models/interfaces/index.d.ts.map +1 -0
- package/build/_modules/contracts/_models/interfaces/index.js +20 -0
- package/build/_modules/contracts/_models/interfaces/index.js.map +1 -0
- package/build/_modules/contracts/_models/interfaces/viewport.interface.d.ts +16 -0
- package/build/_modules/contracts/_models/interfaces/viewport.interface.d.ts.map +1 -0
- package/build/_modules/contracts/_models/interfaces/viewport.interface.js +3 -0
- package/build/_modules/contracts/_models/interfaces/viewport.interface.js.map +1 -0
- package/build/_modules/contracts/contracts.spec.d.ts +2 -0
- package/build/_modules/contracts/contracts.spec.d.ts.map +1 -0
- package/build/_modules/contracts/contracts.spec.js +144 -0
- package/build/_modules/contracts/contracts.spec.js.map +1 -0
- package/build/_modules/contracts/index.d.ts +6 -0
- package/build/_modules/contracts/index.d.ts.map +1 -0
- package/build/_modules/contracts/index.js +26 -0
- package/build/_modules/contracts/index.js.map +1 -0
- package/build/_modules/cwv/_collections/cwv-aggregator.util.d.ts +23 -0
- package/build/_modules/cwv/_collections/cwv-aggregator.util.d.ts.map +1 -0
- package/build/_modules/cwv/_collections/cwv-aggregator.util.js +50 -0
- package/build/_modules/cwv/_collections/cwv-aggregator.util.js.map +1 -0
- package/build/_modules/cwv/_collections/cwv-emission.util.d.ts +18 -0
- package/build/_modules/cwv/_collections/cwv-emission.util.d.ts.map +1 -0
- package/build/_modules/cwv/_collections/cwv-emission.util.js +95 -0
- package/build/_modules/cwv/_collections/cwv-emission.util.js.map +1 -0
- package/build/_modules/cwv/_collections/web-vitals-page-script.const.d.ts +11 -0
- package/build/_modules/cwv/_collections/web-vitals-page-script.const.d.ts.map +1 -0
- package/build/_modules/cwv/_collections/web-vitals-page-script.const.js +86 -0
- package/build/_modules/cwv/_collections/web-vitals-page-script.const.js.map +1 -0
- package/build/_modules/cwv/_models/cwv-measurement.data-model.d.ts +22 -0
- package/build/_modules/cwv/_models/cwv-measurement.data-model.d.ts.map +1 -0
- package/build/_modules/cwv/_models/cwv-measurement.data-model.js +28 -0
- package/build/_modules/cwv/_models/cwv-measurement.data-model.js.map +1 -0
- package/build/_modules/cwv/_models/cwv-suite-generate-options.interface.d.ts +22 -0
- package/build/_modules/cwv/_models/cwv-suite-generate-options.interface.d.ts.map +1 -0
- package/build/_modules/cwv/_models/cwv-suite-generate-options.interface.js +3 -0
- package/build/_modules/cwv/_models/cwv-suite-generate-options.interface.js.map +1 -0
- package/build/_modules/cwv/_models/index.d.ts +3 -0
- package/build/_modules/cwv/_models/index.d.ts.map +1 -0
- package/build/_modules/cwv/_models/index.js +19 -0
- package/build/_modules/cwv/_models/index.js.map +1 -0
- package/build/_modules/cwv/cwv-suite.generator.d.ts +13 -0
- package/build/_modules/cwv/cwv-suite.generator.d.ts.map +1 -0
- package/build/_modules/cwv/cwv-suite.generator.js +38 -0
- package/build/_modules/cwv/cwv-suite.generator.js.map +1 -0
- package/build/_modules/cwv/cwv-suite.generator.spec.d.ts +2 -0
- package/build/_modules/cwv/cwv-suite.generator.spec.d.ts.map +1 -0
- package/build/_modules/cwv/cwv-suite.generator.spec.js +81 -0
- package/build/_modules/cwv/cwv-suite.generator.spec.js.map +1 -0
- package/build/_modules/cwv/index.d.ts +10 -0
- package/build/_modules/cwv/index.d.ts.map +1 -0
- package/build/_modules/cwv/index.js +27 -0
- package/build/_modules/cwv/index.js.map +1 -0
- package/build/_modules/generators/_collections/cli-runner.util.d.ts +20 -0
- package/build/_modules/generators/_collections/cli-runner.util.d.ts.map +1 -0
- package/build/_modules/generators/_collections/cli-runner.util.js +87 -0
- package/build/_modules/generators/_collections/cli-runner.util.js.map +1 -0
- package/build/_modules/generators/_collections/field-emission.util.d.ts +24 -0
- package/build/_modules/generators/_collections/field-emission.util.d.ts.map +1 -0
- package/build/_modules/generators/_collections/field-emission.util.js +102 -0
- package/build/_modules/generators/_collections/field-emission.util.js.map +1 -0
- package/build/_modules/generators/_collections/form-level-emission.util.d.ts +12 -0
- package/build/_modules/generators/_collections/form-level-emission.util.d.ts.map +1 -0
- package/build/_modules/generators/_collections/form-level-emission.util.js +43 -0
- package/build/_modules/generators/_collections/form-level-emission.util.js.map +1 -0
- package/build/_modules/generators/_collections/spec-emission.util.d.ts +21 -0
- package/build/_modules/generators/_collections/spec-emission.util.d.ts.map +1 -0
- package/build/_modules/generators/_collections/spec-emission.util.js +71 -0
- package/build/_modules/generators/_collections/spec-emission.util.js.map +1 -0
- package/build/_modules/generators/_collections/test-case-filter.util.d.ts +25 -0
- package/build/_modules/generators/_collections/test-case-filter.util.d.ts.map +1 -0
- package/build/_modules/generators/_collections/test-case-filter.util.js +127 -0
- package/build/_modules/generators/_collections/test-case-filter.util.js.map +1 -0
- package/build/_modules/generators/_collections/viewport-emission.util.d.ts +23 -0
- package/build/_modules/generators/_collections/viewport-emission.util.d.ts.map +1 -0
- package/build/_modules/generators/_collections/viewport-emission.util.js +61 -0
- package/build/_modules/generators/_collections/viewport-emission.util.js.map +1 -0
- package/build/_modules/generators/_models/form-settings-shape.interface.d.ts +59 -0
- package/build/_modules/generators/_models/form-settings-shape.interface.d.ts.map +1 -0
- package/build/_modules/generators/_models/form-settings-shape.interface.js +11 -0
- package/build/_modules/generators/_models/form-settings-shape.interface.js.map +1 -0
- package/build/_modules/generators/_models/form-suite-generate-options.interface.d.ts +23 -0
- package/build/_modules/generators/_models/form-suite-generate-options.interface.d.ts.map +1 -0
- package/build/_modules/generators/_models/form-suite-generate-options.interface.js +3 -0
- package/build/_modules/generators/_models/form-suite-generate-options.interface.js.map +1 -0
- package/build/_modules/generators/_models/index.d.ts +5 -0
- package/build/_modules/generators/_models/index.d.ts.map +1 -0
- package/build/_modules/generators/_models/index.js +21 -0
- package/build/_modules/generators/_models/index.js.map +1 -0
- package/build/_modules/generators/_models/route-descriptor.interface.d.ts +18 -0
- package/build/_modules/generators/_models/route-descriptor.interface.d.ts.map +1 -0
- package/build/_modules/generators/_models/route-descriptor.interface.js +3 -0
- package/build/_modules/generators/_models/route-descriptor.interface.js.map +1 -0
- package/build/_modules/generators/_models/viewport-suite-generate-options.interface.d.ts +36 -0
- package/build/_modules/generators/_models/viewport-suite-generate-options.interface.d.ts.map +1 -0
- package/build/_modules/generators/_models/viewport-suite-generate-options.interface.js +3 -0
- package/build/_modules/generators/_models/viewport-suite-generate-options.interface.js.map +1 -0
- package/build/_modules/generators/cli-runner.spec.d.ts +2 -0
- package/build/_modules/generators/cli-runner.spec.d.ts.map +1 -0
- package/build/_modules/generators/cli-runner.spec.js +93 -0
- package/build/_modules/generators/cli-runner.spec.js.map +1 -0
- package/build/_modules/generators/field-emission-edge.spec.d.ts +2 -0
- package/build/_modules/generators/field-emission-edge.spec.d.ts.map +1 -0
- package/build/_modules/generators/field-emission-edge.spec.js +115 -0
- package/build/_modules/generators/field-emission-edge.spec.js.map +1 -0
- package/build/_modules/generators/form-suite.generator.d.ts +24 -0
- package/build/_modules/generators/form-suite.generator.d.ts.map +1 -0
- package/build/_modules/generators/form-suite.generator.js +87 -0
- package/build/_modules/generators/form-suite.generator.js.map +1 -0
- package/build/_modules/generators/form-suite.generator.spec.d.ts +2 -0
- package/build/_modules/generators/form-suite.generator.spec.d.ts.map +1 -0
- package/build/_modules/generators/form-suite.generator.spec.js +144 -0
- package/build/_modules/generators/form-suite.generator.spec.js.map +1 -0
- package/build/_modules/generators/index.d.ts +10 -0
- package/build/_modules/generators/index.d.ts.map +1 -0
- package/build/_modules/generators/index.js +26 -0
- package/build/_modules/generators/index.js.map +1 -0
- package/build/_modules/generators/test-case-filter-edge.spec.d.ts +2 -0
- package/build/_modules/generators/test-case-filter-edge.spec.d.ts.map +1 -0
- package/build/_modules/generators/test-case-filter-edge.spec.js +72 -0
- package/build/_modules/generators/test-case-filter-edge.spec.js.map +1 -0
- package/build/_modules/generators/viewport-suite.generator.d.ts +21 -0
- package/build/_modules/generators/viewport-suite.generator.d.ts.map +1 -0
- package/build/_modules/generators/viewport-suite.generator.js +64 -0
- package/build/_modules/generators/viewport-suite.generator.js.map +1 -0
- package/build/_modules/generators/viewport-suite.generator.spec.d.ts +2 -0
- package/build/_modules/generators/viewport-suite.generator.spec.d.ts.map +1 -0
- package/build/_modules/generators/viewport-suite.generator.spec.js +59 -0
- package/build/_modules/generators/viewport-suite.generator.spec.js.map +1 -0
- package/build/_modules/presets/index.d.ts +14 -0
- package/build/_modules/presets/index.d.ts.map +1 -0
- package/build/_modules/presets/index.js +17 -0
- package/build/_modules/presets/index.js.map +1 -0
- package/build/_modules/runtime/_collections/assertion-helpers.util.d.ts +20 -0
- package/build/_modules/runtime/_collections/assertion-helpers.util.d.ts.map +1 -0
- package/build/_modules/runtime/_collections/assertion-helpers.util.js +39 -0
- package/build/_modules/runtime/_collections/assertion-helpers.util.js.map +1 -0
- package/build/_modules/runtime/_collections/unique-generator.util.d.ts +36 -0
- package/build/_modules/runtime/_collections/unique-generator.util.d.ts.map +1 -0
- package/build/_modules/runtime/_collections/unique-generator.util.js +57 -0
- package/build/_modules/runtime/_collections/unique-generator.util.js.map +1 -0
- package/build/_modules/runtime/_collections/wait-helpers.util.d.ts +18 -0
- package/build/_modules/runtime/_collections/wait-helpers.util.d.ts.map +1 -0
- package/build/_modules/runtime/_collections/wait-helpers.util.js +52 -0
- package/build/_modules/runtime/_collections/wait-helpers.util.js.map +1 -0
- package/build/_modules/runtime/_models/env-config.interface.d.ts +22 -0
- package/build/_modules/runtime/_models/env-config.interface.d.ts.map +1 -0
- package/build/_modules/runtime/_models/env-config.interface.js +20 -0
- package/build/_modules/runtime/_models/env-config.interface.js.map +1 -0
- package/build/_modules/runtime/_models/index.d.ts +2 -0
- package/build/_modules/runtime/_models/index.d.ts.map +1 -0
- package/build/_modules/runtime/_models/index.js +18 -0
- package/build/_modules/runtime/_models/index.js.map +1 -0
- package/build/_modules/runtime/_models/test-user.interface.d.ts +19 -0
- package/build/_modules/runtime/_models/test-user.interface.d.ts.map +1 -0
- package/build/_modules/runtime/_models/test-user.interface.js +3 -0
- package/build/_modules/runtime/_models/test-user.interface.js.map +1 -0
- package/build/_modules/runtime/_services/dialog-page-object.d.ts +13 -0
- package/build/_modules/runtime/_services/dialog-page-object.d.ts.map +1 -0
- package/build/_modules/runtime/_services/dialog-page-object.js +26 -0
- package/build/_modules/runtime/_services/dialog-page-object.js.map +1 -0
- package/build/_modules/runtime/_services/field-page-object.d.ts +23 -0
- package/build/_modules/runtime/_services/field-page-object.d.ts.map +1 -0
- package/build/_modules/runtime/_services/field-page-object.js +55 -0
- package/build/_modules/runtime/_services/field-page-object.js.map +1 -0
- package/build/_modules/runtime/_services/form-page-object.d.ts +16 -0
- package/build/_modules/runtime/_services/form-page-object.d.ts.map +1 -0
- package/build/_modules/runtime/_services/form-page-object.js +33 -0
- package/build/_modules/runtime/_services/form-page-object.js.map +1 -0
- package/build/_modules/runtime/_services/loader-page-object.d.ts +10 -0
- package/build/_modules/runtime/_services/loader-page-object.d.ts.map +1 -0
- package/build/_modules/runtime/_services/loader-page-object.js +24 -0
- package/build/_modules/runtime/_services/loader-page-object.js.map +1 -0
- package/build/_modules/runtime/_services/logger.service.d.ts +36 -0
- package/build/_modules/runtime/_services/logger.service.d.ts.map +1 -0
- package/build/_modules/runtime/_services/logger.service.js +68 -0
- package/build/_modules/runtime/_services/logger.service.js.map +1 -0
- package/build/_modules/runtime/_services/login-flow-helper.base.d.ts +51 -0
- package/build/_modules/runtime/_services/login-flow-helper.base.d.ts.map +1 -0
- package/build/_modules/runtime/_services/login-flow-helper.base.js +48 -0
- package/build/_modules/runtime/_services/login-flow-helper.base.js.map +1 -0
- package/build/_modules/runtime/_services/nav-page-object.d.ts +12 -0
- package/build/_modules/runtime/_services/nav-page-object.d.ts.map +1 -0
- package/build/_modules/runtime/_services/nav-page-object.js +23 -0
- package/build/_modules/runtime/_services/nav-page-object.js.map +1 -0
- package/build/_modules/runtime/_services/toast-page-object.d.ts +9 -0
- package/build/_modules/runtime/_services/toast-page-object.d.ts.map +1 -0
- package/build/_modules/runtime/_services/toast-page-object.js +19 -0
- package/build/_modules/runtime/_services/toast-page-object.js.map +1 -0
- package/build/_modules/runtime/assertion-helpers.spec.d.ts +2 -0
- package/build/_modules/runtime/assertion-helpers.spec.d.ts.map +1 -0
- package/build/_modules/runtime/assertion-helpers.spec.js +57 -0
- package/build/_modules/runtime/assertion-helpers.spec.js.map +1 -0
- package/build/_modules/runtime/fixtures.d.ts +32 -0
- package/build/_modules/runtime/fixtures.d.ts.map +1 -0
- package/build/_modules/runtime/fixtures.js +37 -0
- package/build/_modules/runtime/fixtures.js.map +1 -0
- package/build/_modules/runtime/index.d.ts +30 -0
- package/build/_modules/runtime/index.d.ts.map +1 -0
- package/build/_modules/runtime/index.js +47 -0
- package/build/_modules/runtime/index.js.map +1 -0
- package/build/_modules/runtime/logger.service.spec.d.ts +2 -0
- package/build/_modules/runtime/logger.service.spec.d.ts.map +1 -0
- package/build/_modules/runtime/logger.service.spec.js +61 -0
- package/build/_modules/runtime/logger.service.spec.js.map +1 -0
- package/build/_modules/runtime/login-flow-helper.spec.d.ts +2 -0
- package/build/_modules/runtime/login-flow-helper.spec.d.ts.map +1 -0
- package/build/_modules/runtime/login-flow-helper.spec.js +74 -0
- package/build/_modules/runtime/login-flow-helper.spec.js.map +1 -0
- package/build/_modules/runtime/page-objects.spec.d.ts +2 -0
- package/build/_modules/runtime/page-objects.spec.d.ts.map +1 -0
- package/build/_modules/runtime/page-objects.spec.js +241 -0
- package/build/_modules/runtime/page-objects.spec.js.map +1 -0
- package/build/_modules/runtime/runtime.spec.d.ts +2 -0
- package/build/_modules/runtime/runtime.spec.d.ts.map +1 -0
- package/build/_modules/runtime/runtime.spec.js +73 -0
- package/build/_modules/runtime/runtime.spec.js.map +1 -0
- package/build/_modules/runtime/unique-generator.spec.d.ts +2 -0
- package/build/_modules/runtime/unique-generator.spec.d.ts.map +1 -0
- package/build/_modules/runtime/unique-generator.spec.js +41 -0
- package/build/_modules/runtime/unique-generator.spec.js.map +1 -0
- package/build/index.d.ts +8 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +26 -0
- package/build/index.js.map +1 -0
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/contracts/_collections/index.html +116 -0
- package/coverage/contracts/_collections/index.ts.html +97 -0
- package/coverage/contracts/_collections/utils/index.html +116 -0
- package/coverage/contracts/_collections/utils/test-id.util.ts.html +172 -0
- package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +145 -0
- package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +394 -0
- package/coverage/contracts/_enums/index.html +191 -0
- package/coverage/contracts/_enums/index.ts.html +100 -0
- package/coverage/contracts/_enums/standard-viewport.enum.ts.html +127 -0
- package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +133 -0
- package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +130 -0
- package/coverage/contracts/index.html +116 -0
- package/coverage/contracts/index.ts.html +121 -0
- package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +241 -0
- package/coverage/cwv/_collections/cwv-emission.util.ts.html +394 -0
- package/coverage/cwv/_collections/index.html +146 -0
- package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +331 -0
- package/coverage/cwv/cwv-suite.generator.ts.html +232 -0
- package/coverage/cwv/index.html +116 -0
- package/coverage/favicon.png +0 -0
- package/coverage/generators/_collections/cli-runner.util.ts.html +361 -0
- package/coverage/generators/_collections/field-emission.util.ts.html +478 -0
- package/coverage/generators/_collections/form-level-emission.util.ts.html +220 -0
- package/coverage/generators/_collections/index.html +191 -0
- package/coverage/generators/_collections/spec-emission.util.ts.html +298 -0
- package/coverage/generators/_collections/test-case-filter.util.ts.html +523 -0
- package/coverage/generators/_collections/viewport-emission.util.ts.html +313 -0
- package/coverage/generators/form-suite.generator.ts.html +406 -0
- package/coverage/generators/index.html +131 -0
- package/coverage/generators/viewport-suite.generator.ts.html +307 -0
- package/coverage/index.html +266 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/contracts/_collections/index.html +116 -0
- package/coverage/lcov-report/contracts/_collections/index.ts.html +97 -0
- package/coverage/lcov-report/contracts/_collections/utils/index.html +116 -0
- package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +172 -0
- package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +145 -0
- package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +394 -0
- package/coverage/lcov-report/contracts/_enums/index.html +191 -0
- package/coverage/lcov-report/contracts/_enums/index.ts.html +100 -0
- package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +127 -0
- package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +133 -0
- package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +130 -0
- package/coverage/lcov-report/contracts/index.html +116 -0
- package/coverage/lcov-report/contracts/index.ts.html +121 -0
- package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +241 -0
- package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +394 -0
- package/coverage/lcov-report/cwv/_collections/index.html +146 -0
- package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +331 -0
- package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +232 -0
- package/coverage/lcov-report/cwv/index.html +116 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +361 -0
- package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +478 -0
- package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +220 -0
- package/coverage/lcov-report/generators/_collections/index.html +191 -0
- package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +298 -0
- package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +523 -0
- package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +313 -0
- package/coverage/lcov-report/generators/form-suite.generator.ts.html +406 -0
- package/coverage/lcov-report/generators/index.html +131 -0
- package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +307 -0
- package/coverage/lcov-report/index.html +266 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +205 -0
- package/coverage/lcov-report/runtime/_collections/index.html +146 -0
- package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +256 -0
- package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +238 -0
- package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +157 -0
- package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +253 -0
- package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +184 -0
- package/coverage/lcov-report/runtime/_services/index.html +221 -0
- package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +142 -0
- package/coverage/lcov-report/runtime/_services/logger.service.ts.html +385 -0
- package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +331 -0
- package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +145 -0
- package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +130 -0
- package/coverage/lcov-report/runtime/index.html +116 -0
- package/coverage/lcov-report/runtime/index.ts.html +175 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov.info +2527 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/runtime/_collections/assertion-helpers.util.ts.html +205 -0
- package/coverage/runtime/_collections/index.html +146 -0
- package/coverage/runtime/_collections/unique-generator.util.ts.html +256 -0
- package/coverage/runtime/_collections/wait-helpers.util.ts.html +238 -0
- package/coverage/runtime/_services/dialog-page-object.ts.html +157 -0
- package/coverage/runtime/_services/field-page-object.ts.html +253 -0
- package/coverage/runtime/_services/form-page-object.ts.html +184 -0
- package/coverage/runtime/_services/index.html +221 -0
- package/coverage/runtime/_services/loader-page-object.ts.html +142 -0
- package/coverage/runtime/_services/logger.service.ts.html +385 -0
- package/coverage/runtime/_services/login-flow-helper.base.ts.html +331 -0
- package/coverage/runtime/_services/nav-page-object.ts.html +145 -0
- package/coverage/runtime/_services/toast-page-object.ts.html +130 -0
- package/coverage/runtime/index.html +116 -0
- package/coverage/runtime/index.ts.html +175 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +210 -0
- package/coverage/tmp/coverage-215876-1781064798541-0.json +1 -0
- package/coverage/tmp/coverage-223792-1781064800382-0.json +1 -0
- package/dogfood/PARITY-MATRIX.md +67 -0
- package/dogfood/generated/date-range-field-new.spec.ts +54 -0
- package/dogfood/generated/password-field-new.spec.ts +97 -0
- package/dogfood/generated/radio-select-field-new.spec.ts +69 -0
- package/dogfood/generated/slider-field-new.spec.ts +47 -0
- package/dogfood/generated/text-field-new.spec.ts +0 -0
- package/dogfood/generated-full/checkbox-field-new.spec.ts +56 -0
- package/dogfood/generated-full/date-field-new.spec.ts +71 -0
- package/dogfood/generated-full/date-range-field-new.spec.ts +54 -0
- package/dogfood/generated-full/datetime-field-new.spec.ts +55 -0
- package/dogfood/generated-full/multiselect-field-new.spec.ts +69 -0
- package/dogfood/generated-full/number-field-new.spec.ts +113 -0
- package/dogfood/generated-full/password-field-new.spec.ts +97 -0
- package/dogfood/generated-full/radio-select-field-new.spec.ts +69 -0
- package/dogfood/generated-full/sandbox-viewport-audit.spec.ts +4643 -0
- package/dogfood/generated-full/select-field-new.spec.ts +69 -0
- package/dogfood/generated-full/slider-field-new.spec.ts +47 -0
- package/dogfood/generated-full/slider-range-field-new.spec.ts +54 -0
- package/dogfood/generated-full/text-field-new.spec.ts +0 -0
- package/dogfood/generated-full/textarea-field-new.spec.ts +72 -0
- package/dogfood/sandbox-bootstrap-full.js +248 -0
- package/dogfood/sandbox-bootstrap.js +170 -0
- package/examples/minimal-form/README.md +55 -0
- package/examples/minimal-form/form-config.json +38 -0
- package/examples/multi-form-app/README.md +63 -0
- package/examples/multi-form-app/cwv-config.json +14 -0
- package/examples/multi-form-app/settings/login-form.json +11 -0
- package/examples/multi-form-app/settings/profile-form.json +25 -0
- package/examples/multi-form-app/viewport-config.json +12 -0
- package/package.json +103 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { DyE2E_TestUser_Interface } from '../_models/test-user.interface';
|
|
2
|
+
/**
|
|
3
|
+
* MP-07 SP-C lift — strukturált E2E-logger.
|
|
4
|
+
*
|
|
5
|
+
* Eredete: `fdp-e2e-helpers/_services/e2e-logger.service.ts` (BL-20260518-006).
|
|
6
|
+
* FDP-szintű függőségek (`@futdevpro/fsm-dynamo` `DyFM_Log` +
|
|
7
|
+
* `@futdevpro/nts-dynamo` `DyNTS_SingletonService`) eltávolítva — generic
|
|
8
|
+
* `DyE2E_LoggerOutput` interfész + `console`-alapú default impl.
|
|
9
|
+
*
|
|
10
|
+
* Consumer-projekt felülírhatja a `setOutput()` hívással bármilyen sajat
|
|
11
|
+
* sink-et (Discord-webhook, file-logger, structured-log-aggregator).
|
|
12
|
+
*/
|
|
13
|
+
export interface DyE2E_LoggerOutput {
|
|
14
|
+
info(msg: string, metadata?: Record<string, unknown>): void;
|
|
15
|
+
success(msg: string, metadata?: Record<string, unknown>): void;
|
|
16
|
+
error(msg: string, metadata?: Record<string, unknown>): void;
|
|
17
|
+
}
|
|
18
|
+
/** Default console-alapú logger output. */
|
|
19
|
+
export declare const DYE2E_CONSOLE_LOGGER: DyE2E_LoggerOutput;
|
|
20
|
+
/**
|
|
21
|
+
* Stateless logger — `[E2E]` prefix + structured metadata payload.
|
|
22
|
+
*
|
|
23
|
+
* 4 method: logTestStart / logTestSuccess / logTestFailure / logUserAction.
|
|
24
|
+
*/
|
|
25
|
+
export declare class DyE2E_LoggerService {
|
|
26
|
+
private static output;
|
|
27
|
+
/** Output sink override (Discord-webhook, file, structured-log). */
|
|
28
|
+
static setOutput(output: DyE2E_LoggerOutput): void;
|
|
29
|
+
/** Vissza-default a console-output-ra. */
|
|
30
|
+
static resetOutput(): void;
|
|
31
|
+
static logTestStart(testName: string, module: string, environment: string, user?: DyE2E_TestUser_Interface): void;
|
|
32
|
+
static logTestSuccess(testName: string, module: string, durationMs: number): void;
|
|
33
|
+
static logTestFailure(testName: string, module: string, error: Error, user?: DyE2E_TestUser_Interface): void;
|
|
34
|
+
static logUserAction(action: string, user: DyE2E_TestUser_Interface): void;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=logger.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/runtime/_services/logger.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED,2CAA2C;AAC3C,eAAO,MAAM,oBAAoB,EAAE,kBAUlC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,mBAAmB;IAE9B,OAAO,CAAC,MAAM,CAAC,MAAM,CAA4C;IAEjE,oEAAoE;IACpE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIlD,0CAA0C;IAC1C,MAAM,CAAC,WAAW,IAAI,IAAI;IAI1B,MAAM,CAAC,YAAY,CACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,wBAAwB,GAC9B,IAAI;IAUP,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAQjF,MAAM,CAAC,cAAc,CACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE,wBAAwB,GAC9B,IAAI;IAWP,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,GAAG,IAAI;CAS3E"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyE2E_LoggerService = exports.DYE2E_CONSOLE_LOGGER = void 0;
|
|
4
|
+
/** Default console-alapú logger output. */
|
|
5
|
+
exports.DYE2E_CONSOLE_LOGGER = {
|
|
6
|
+
info(msg, metadata) {
|
|
7
|
+
console.log(msg, metadata ? JSON.stringify(metadata) : '');
|
|
8
|
+
},
|
|
9
|
+
success(msg, metadata) {
|
|
10
|
+
console.log(msg, metadata ? JSON.stringify(metadata) : '');
|
|
11
|
+
},
|
|
12
|
+
error(msg, metadata) {
|
|
13
|
+
console.error(msg, metadata ? JSON.stringify(metadata) : '');
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Stateless logger — `[E2E]` prefix + structured metadata payload.
|
|
18
|
+
*
|
|
19
|
+
* 4 method: logTestStart / logTestSuccess / logTestFailure / logUserAction.
|
|
20
|
+
*/
|
|
21
|
+
class DyE2E_LoggerService {
|
|
22
|
+
static output = exports.DYE2E_CONSOLE_LOGGER;
|
|
23
|
+
/** Output sink override (Discord-webhook, file, structured-log). */
|
|
24
|
+
static setOutput(output) {
|
|
25
|
+
DyE2E_LoggerService.output = output;
|
|
26
|
+
}
|
|
27
|
+
/** Vissza-default a console-output-ra. */
|
|
28
|
+
static resetOutput() {
|
|
29
|
+
DyE2E_LoggerService.output = exports.DYE2E_CONSOLE_LOGGER;
|
|
30
|
+
}
|
|
31
|
+
static logTestStart(testName, module, environment, user) {
|
|
32
|
+
DyE2E_LoggerService.output.info(`[E2E] Test started: ${testName}`, {
|
|
33
|
+
testName: testName,
|
|
34
|
+
module: module,
|
|
35
|
+
environment: environment,
|
|
36
|
+
userEmail: user?.email,
|
|
37
|
+
isPersistent: user?.isPersistent,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
static logTestSuccess(testName, module, durationMs) {
|
|
41
|
+
DyE2E_LoggerService.output.success(`[E2E] Test passed: ${testName} (${durationMs}ms)`, {
|
|
42
|
+
testName: testName,
|
|
43
|
+
module: module,
|
|
44
|
+
duration: durationMs,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
static logTestFailure(testName, module, error, user) {
|
|
48
|
+
DyE2E_LoggerService.output.error(`[E2E] Test failed: ${testName}`, {
|
|
49
|
+
testName: testName,
|
|
50
|
+
module: module,
|
|
51
|
+
errorMessage: error.message,
|
|
52
|
+
errorStack: error.stack,
|
|
53
|
+
userEmail: user?.email,
|
|
54
|
+
isPersistent: user?.isPersistent,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
static logUserAction(action, user) {
|
|
58
|
+
DyE2E_LoggerService.output.info(`[E2E] User action: ${action}`, {
|
|
59
|
+
action: action,
|
|
60
|
+
userEmail: user.email,
|
|
61
|
+
username: user.username,
|
|
62
|
+
isPersistent: user.isPersistent,
|
|
63
|
+
testContext: user.testContext,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.DyE2E_LoggerService = DyE2E_LoggerService;
|
|
68
|
+
//# sourceMappingURL=logger.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../../src/_modules/runtime/_services/logger.service.ts"],"names":[],"mappings":";;;AAmBA,2CAA2C;AAC9B,QAAA,oBAAoB,GAAuB;IACtD,IAAI,CAAC,GAAW,EAAE,QAAkC;QAClD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,GAAW,EAAE,QAAkC;QACrD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,KAAK,CAAC,GAAW,EAAE,QAAkC;QACnD,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAa,mBAAmB;IAEtB,MAAM,CAAC,MAAM,GAAuB,4BAAoB,CAAC;IAEjE,oEAAoE;IACpE,MAAM,CAAC,SAAS,CAAC,MAA0B;QACzC,mBAAmB,CAAC,MAAM,GAAG,MAAM,CAAC;IACtC,CAAC;IAED,0CAA0C;IAC1C,MAAM,CAAC,WAAW;QAChB,mBAAmB,CAAC,MAAM,GAAG,4BAAoB,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,YAAY,CACjB,QAAgB,EAChB,MAAc,EACd,WAAmB,EACnB,IAA+B;QAE/B,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,EAAE,EAAE;YACjE,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,WAAW;YACxB,SAAS,EAAE,IAAI,EAAE,KAAK;YACtB,YAAY,EAAE,IAAI,EAAE,YAAY;SACjC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,QAAgB,EAAE,MAAc,EAAE,UAAkB;QACxE,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,QAAQ,KAAK,UAAU,KAAK,EAAE;YACrF,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,cAAc,CACnB,QAAgB,EAChB,MAAc,EACd,KAAY,EACZ,IAA+B;QAE/B,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,QAAQ,EAAE,EAAE;YACjE,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,KAAK,CAAC,OAAO;YAC3B,UAAU,EAAE,KAAK,CAAC,KAAK;YACvB,SAAS,EAAE,IAAI,EAAE,KAAK;YACtB,YAAY,EAAE,IAAI,EAAE,YAAY;SACjC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAAc,EAAE,IAA8B;QACjE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,MAAM,EAAE,EAAE;YAC9D,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;IACL,CAAC;;AA7DH,kDA8DC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Page } from '@playwright/test';
|
|
2
|
+
/**
|
|
3
|
+
* MP-07 SP-C lift — generic login-flow template-method.
|
|
4
|
+
*
|
|
5
|
+
* A `fdp-e2e-helpers@v2.0`-ban a `FDPLoginFlowHelper` ezt fogja extends-eli
|
|
6
|
+
* az FDP-auth-service-specifikus URL + form-key-k impl-jével.
|
|
7
|
+
*
|
|
8
|
+
* Template-method (Gang of Four pattern): a `login()` definiált flow-t fut,
|
|
9
|
+
* a subclass csak a "step-konfigurációt" (selectors + success-route) adja.
|
|
10
|
+
*/
|
|
11
|
+
export interface DyE2E_LoginFlowResult {
|
|
12
|
+
success: boolean;
|
|
13
|
+
/** Időtartam ms-ben. */
|
|
14
|
+
durationMs: number;
|
|
15
|
+
/** Opcionális token-extrakció eredménye. */
|
|
16
|
+
authState?: {
|
|
17
|
+
token?: string;
|
|
18
|
+
refreshToken?: string;
|
|
19
|
+
[extra: string]: unknown;
|
|
20
|
+
};
|
|
21
|
+
/** Hiba, ha success === false. */
|
|
22
|
+
error?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare abstract class DyE2E_LoginFlowHelper_Base {
|
|
25
|
+
/** A login form gyökér-eleme — a fill-ek scope-ját adja. */
|
|
26
|
+
abstract loginFormSelector: string;
|
|
27
|
+
/** Az email/username input testId-je. */
|
|
28
|
+
abstract emailInputTestId: string;
|
|
29
|
+
/** A password input testId-je. */
|
|
30
|
+
abstract passwordInputTestId: string;
|
|
31
|
+
/** A submit button testId-je. */
|
|
32
|
+
abstract submitButtonTestId: string;
|
|
33
|
+
/** A success-route regex-e (pl. `/dashboard`). A `waitForURL` ezzel megy. */
|
|
34
|
+
abstract successRouteRegex: RegExp;
|
|
35
|
+
/** Login-route ahova navigálunk (default: `/login`). */
|
|
36
|
+
loginRoute: string;
|
|
37
|
+
/** Timeout ms-ben (default 15000). */
|
|
38
|
+
loginTimeoutMs: number;
|
|
39
|
+
/**
|
|
40
|
+
* Hook: a sikeres login után a sub-class kiolvashatja a tokent (pl.
|
|
41
|
+
* `localStorage` vagy cookies). Default: üres token.
|
|
42
|
+
*/
|
|
43
|
+
protected extractAuthState(_page: Page): Promise<DyE2E_LoginFlowResult['authState']>;
|
|
44
|
+
/**
|
|
45
|
+
* Template-method: fill + submit + wait-for-success-route + extract-token.
|
|
46
|
+
*
|
|
47
|
+
* NEM dob hibára — `DyE2E_LoginFlowResult.success: false`-szel jelzi.
|
|
48
|
+
*/
|
|
49
|
+
login(page: Page, email: string, password: string): Promise<DyE2E_LoginFlowResult>;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=login-flow-helper.base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login-flow-helper.base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/runtime/_services/login-flow-helper.base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAChF,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8BAAsB,0BAA0B;IAE9C,4DAA4D;IAC5D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEnC,yCAAyC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,kCAAkC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAErC,iCAAiC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC,6EAA6E;IAC7E,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEnC,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAY;IAE9B,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAU;IAEhC;;;OAGG;cACa,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAI1F;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAwBzF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyE2E_LoginFlowHelper_Base = void 0;
|
|
4
|
+
class DyE2E_LoginFlowHelper_Base {
|
|
5
|
+
/** Login-route ahova navigálunk (default: `/login`). */
|
|
6
|
+
loginRoute = '/login';
|
|
7
|
+
/** Timeout ms-ben (default 15000). */
|
|
8
|
+
loginTimeoutMs = 15_000;
|
|
9
|
+
/**
|
|
10
|
+
* Hook: a sikeres login után a sub-class kiolvashatja a tokent (pl.
|
|
11
|
+
* `localStorage` vagy cookies). Default: üres token.
|
|
12
|
+
*/
|
|
13
|
+
async extractAuthState(_page) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Template-method: fill + submit + wait-for-success-route + extract-token.
|
|
18
|
+
*
|
|
19
|
+
* NEM dob hibára — `DyE2E_LoginFlowResult.success: false`-szel jelzi.
|
|
20
|
+
*/
|
|
21
|
+
async login(page, email, password) {
|
|
22
|
+
const start = Date.now();
|
|
23
|
+
try {
|
|
24
|
+
await page.goto(this.loginRoute, { timeout: this.loginTimeoutMs });
|
|
25
|
+
await page.locator(this.loginFormSelector).first().waitFor({ state: 'visible', timeout: this.loginTimeoutMs });
|
|
26
|
+
await page.getByTestId(this.emailInputTestId).fill(email);
|
|
27
|
+
await page.getByTestId(this.passwordInputTestId).fill(password);
|
|
28
|
+
await page.getByTestId(this.submitButtonTestId).click();
|
|
29
|
+
await page.waitForURL(this.successRouteRegex, { timeout: this.loginTimeoutMs });
|
|
30
|
+
const authState = await this.extractAuthState(page);
|
|
31
|
+
return {
|
|
32
|
+
success: true,
|
|
33
|
+
durationMs: Date.now() - start,
|
|
34
|
+
authState: authState,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
const errorMsg = (e && typeof e === 'object' && 'message' in e) ? String(e.message) : String(e);
|
|
39
|
+
return {
|
|
40
|
+
success: false,
|
|
41
|
+
durationMs: Date.now() - start,
|
|
42
|
+
error: errorMsg,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.DyE2E_LoginFlowHelper_Base = DyE2E_LoginFlowHelper_Base;
|
|
48
|
+
//# sourceMappingURL=login-flow-helper.base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login-flow-helper.base.js","sourceRoot":"","sources":["../../../../src/_modules/runtime/_services/login-flow-helper.base.ts"],"names":[],"mappings":";;;AAqBA,MAAsB,0BAA0B;IAiB9C,wDAAwD;IACxD,UAAU,GAAW,QAAQ,CAAC;IAE9B,sCAAsC;IACtC,cAAc,GAAW,MAAM,CAAC;IAEhC;;;OAGG;IACO,KAAK,CAAC,gBAAgB,CAAC,KAAW;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,IAAU,EAAE,KAAa,EAAE,QAAgB;QACrD,MAAM,KAAK,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAC/G,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YACxD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAChF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC9B,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAW,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAE,CAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClI,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC9B,KAAK,EAAE,QAAQ;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA5DD,gEA4DC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Locator, Page } from '@playwright/test';
|
|
2
|
+
/**
|
|
3
|
+
* Page-object a SideNav / Header navigációhoz. Wave-1: minimalista — link-by-text.
|
|
4
|
+
*/
|
|
5
|
+
export declare class DyE2E_NavPageObject {
|
|
6
|
+
private readonly page;
|
|
7
|
+
constructor(page: Page);
|
|
8
|
+
clickLink(label: string): Promise<void>;
|
|
9
|
+
clickButton(label: string): Promise<void>;
|
|
10
|
+
get sideNav(): Locator;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=nav-page-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-page-object.d.ts","sourceRoot":"","sources":["../../../../src/_modules/runtime/_services/nav-page-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAEjC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyE2E_NavPageObject = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Page-object a SideNav / Header navigációhoz. Wave-1: minimalista — link-by-text.
|
|
6
|
+
*/
|
|
7
|
+
class DyE2E_NavPageObject {
|
|
8
|
+
page;
|
|
9
|
+
constructor(page) {
|
|
10
|
+
this.page = page;
|
|
11
|
+
}
|
|
12
|
+
async clickLink(label) {
|
|
13
|
+
await this.page.getByRole('link', { name: label, exact: true }).first().click();
|
|
14
|
+
}
|
|
15
|
+
async clickButton(label) {
|
|
16
|
+
await this.page.getByRole('button', { name: label, exact: true }).first().click();
|
|
17
|
+
}
|
|
18
|
+
get sideNav() {
|
|
19
|
+
return this.page.locator('dynamo-side-nav, [role="complementary"]').first();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.DyE2E_NavPageObject = DyE2E_NavPageObject;
|
|
23
|
+
//# sourceMappingURL=nav-page-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-page-object.js","sourceRoot":"","sources":["../../../../src/_modules/runtime/_services/nav-page-object.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,mBAAmB;IACD;IAA7B,YAA6B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAE3C,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;IACpF,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9E,CAAC;CACF;AAdD,kDAcC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Locator, Page } from '@playwright/test';
|
|
2
|
+
/** Page-object a toast / snackbar notifikáció-hoz. */
|
|
3
|
+
export declare class DyE2E_ToastPageObject {
|
|
4
|
+
private readonly page;
|
|
5
|
+
constructor(page: Page);
|
|
6
|
+
get root(): Locator;
|
|
7
|
+
waitForToast(timeout?: number): Promise<string>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=toast-page-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast-page-object.d.ts","sourceRoot":"","sources":["../../../../src/_modules/runtime/_services/toast-page-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEtD,sDAAsD;AACtD,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAEvC,IAAI,IAAI,IAAI,OAAO,CAElB;IAEK,YAAY,CAAC,OAAO,GAAE,MAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAI7D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyE2E_ToastPageObject = void 0;
|
|
4
|
+
/** Page-object a toast / snackbar notifikáció-hoz. */
|
|
5
|
+
class DyE2E_ToastPageObject {
|
|
6
|
+
page;
|
|
7
|
+
constructor(page) {
|
|
8
|
+
this.page = page;
|
|
9
|
+
}
|
|
10
|
+
get root() {
|
|
11
|
+
return this.page.locator('.mat-mdc-snack-bar-container, dynamo-toast, [role="status"]').first();
|
|
12
|
+
}
|
|
13
|
+
async waitForToast(timeout = 5_000) {
|
|
14
|
+
await this.root.waitFor({ state: 'visible', timeout });
|
|
15
|
+
return (await this.root.textContent()) ?? '';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.DyE2E_ToastPageObject = DyE2E_ToastPageObject;
|
|
19
|
+
//# sourceMappingURL=toast-page-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast-page-object.js","sourceRoot":"","sources":["../../../../src/_modules/runtime/_services/toast-page-object.ts"],"names":[],"mappings":";;;AAEA,sDAAsD;AACtD,MAAa,qBAAqB;IACH;IAA7B,YAA6B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAE3C,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,KAAK,EAAE,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,KAAK;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;CACF;AAXD,sDAWC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertion-helpers.spec.d.ts","sourceRoot":"","sources":["../../../src/_modules/runtime/assertion-helpers.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const assertion_helpers_util_1 = require("./_collections/assertion-helpers.util");
|
|
4
|
+
describe('| dynamo-e2e | AssertionHelpers (MP-06)', () => {
|
|
5
|
+
function createMockLocator(opts = {}) {
|
|
6
|
+
const errorMsg = {
|
|
7
|
+
first: () => errorMsg,
|
|
8
|
+
// expect().toBeVisible() require visible() promise resolution
|
|
9
|
+
};
|
|
10
|
+
return {
|
|
11
|
+
locator: jasmine.createSpy('locator').and.returnValue({
|
|
12
|
+
toHaveCount: opts.errorCount ?? 0,
|
|
13
|
+
first: () => ({}),
|
|
14
|
+
}),
|
|
15
|
+
first: () => ({}),
|
|
16
|
+
getAttribute: jasmine.createSpy('getAttribute').and.returnValue(Promise.resolve(opts.classAttr ?? '')),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
it('| expectFieldValid → locator(.text-red-400.mt-1) hivva', async () => {
|
|
20
|
+
// A valódi expect.toHaveCount(0) chain-t a Playwright belso libje
|
|
21
|
+
// implementálja. Mock-Locator-rel csak a hivások-szam-ot ellenorizzuk;
|
|
22
|
+
// a Playwright matcher-eket itt NEM futtatjuk.
|
|
23
|
+
const mock = createMockLocator({ errorCount: 0 });
|
|
24
|
+
try {
|
|
25
|
+
await assertion_helpers_util_1.DyE2E_AssertionHelpers_Util.expectFieldValid(mock);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
// Playwright expect chain mock-Locator-en hibázhat — toleráljuk
|
|
29
|
+
}
|
|
30
|
+
expect(mock.locator).toHaveBeenCalledWith('.text-red-400.mt-1');
|
|
31
|
+
});
|
|
32
|
+
it('| expectRedBorder → getAttribute("class") + tartalmaz border-red-500', async () => {
|
|
33
|
+
const mock = createMockLocator({ classAttr: 'foo border-red-500 bar' });
|
|
34
|
+
await assertion_helpers_util_1.DyE2E_AssertionHelpers_Util.expectRedBorder(mock);
|
|
35
|
+
expect(mock.getAttribute).toHaveBeenCalledWith('class');
|
|
36
|
+
});
|
|
37
|
+
it('| expectRedBorder → nulls class-on toleráns (getAttribute Promise<null>)', async () => {
|
|
38
|
+
const mock = createMockLocator();
|
|
39
|
+
mock.getAttribute.and.returnValue(Promise.resolve(null));
|
|
40
|
+
let errored = false;
|
|
41
|
+
try {
|
|
42
|
+
await assertion_helpers_util_1.DyE2E_AssertionHelpers_Util.expectRedBorder(mock);
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
errored = true; // expect(cls).toContain → fail mert cls === ''
|
|
46
|
+
}
|
|
47
|
+
expect(errored).toBe(true);
|
|
48
|
+
});
|
|
49
|
+
it('| expectNoHorizontalOverflow → page.evaluate hivasa', async () => {
|
|
50
|
+
const mockPage = {
|
|
51
|
+
evaluate: jasmine.createSpy('evaluate').and.returnValue(Promise.resolve({ scrollWidth: 800, innerWidth: 1024 })),
|
|
52
|
+
};
|
|
53
|
+
await assertion_helpers_util_1.DyE2E_AssertionHelpers_Util.expectNoHorizontalOverflow(mockPage);
|
|
54
|
+
expect(mockPage.evaluate).toHaveBeenCalled();
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=assertion-helpers.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertion-helpers.spec.js","sourceRoot":"","sources":["../../../src/_modules/runtime/assertion-helpers.spec.ts"],"names":[],"mappings":";;AAAA,kFAAoF;AAEpF,QAAQ,CAAC,yCAAyC,EAAE,GAAS,EAAE;IAE7D,SAAS,iBAAiB,CAAC,OAAsF,EAAE;QACjH,MAAM,QAAQ,GAAQ;YACpB,KAAK,EAAE,GAAQ,EAAE,CAAC,QAAQ;YAC1B,8DAA8D;SAC/D,CAAC;QACF,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;gBACpD,WAAW,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC;gBACjC,KAAK,EAAE,GAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;aACvB,CAAC;YACF,KAAK,EAAE,GAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;YACtB,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SACvG,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAmB,EAAE;QACrF,kEAAkE;QAClE,uEAAuE;QACvE,+CAA+C;QAC/C,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,oDAA2B,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,gEAAgE;QAClE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAmB,EAAE;QACnG,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACxE,MAAM,oDAA2B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAmB,EAAE;QACvG,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,OAAO,GAAY,KAAK,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,oDAA2B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,IAAI,CAAC,CAAC,+CAA+C;QACjE,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAmB,EAAE;QAClF,MAAM,QAAQ,GAAQ;YACpB,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;SACjH,CAAC;QACF,MAAM,oDAA2B,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACvE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DyE2E_EnvConfig_Interface } from './_models/env-config.interface';
|
|
2
|
+
import { DyE2E_FieldPageObject } from './_services/field-page-object';
|
|
3
|
+
import { DyE2E_FormPageObject } from './_services/form-page-object';
|
|
4
|
+
import { DyE2E_NavPageObject } from './_services/nav-page-object';
|
|
5
|
+
import { DyE2E_DialogPageObject } from './_services/dialog-page-object';
|
|
6
|
+
import { DyE2E_ToastPageObject } from './_services/toast-page-object';
|
|
7
|
+
import { DyE2E_LoaderPageObject } from './_services/loader-page-object';
|
|
8
|
+
/**
|
|
9
|
+
* `dynamo-e2e` test-fixtures. A consumer-projekt így használja:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { dye2eTest as test, expect } from '@futdevpro/dynamo-e2e/runtime';
|
|
13
|
+
*
|
|
14
|
+
* test('login form fills', async ({ formPO, fieldPO }) => {
|
|
15
|
+
* const login = formPO('login');
|
|
16
|
+
* await login.field('email').fill('user@example.com');
|
|
17
|
+
* await login.submit();
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export interface DyE2E_Fixtures {
|
|
22
|
+
envConfig: DyE2E_EnvConfig_Interface;
|
|
23
|
+
formPO: (formKey: string) => DyE2E_FormPageObject;
|
|
24
|
+
fieldPO: (formKey: string, fieldKey: string) => DyE2E_FieldPageObject;
|
|
25
|
+
navPO: DyE2E_NavPageObject;
|
|
26
|
+
dialogPO: DyE2E_DialogPageObject;
|
|
27
|
+
toastPO: DyE2E_ToastPageObject;
|
|
28
|
+
loaderPO: DyE2E_LoaderPageObject;
|
|
29
|
+
}
|
|
30
|
+
export declare const dye2eTest: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & DyE2E_Fixtures, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
|
|
31
|
+
export { expect } from '@playwright/test';
|
|
32
|
+
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../src/_modules/runtime/fixtures.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAwB,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,yBAAyB,CAAC;IACrC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,oBAAoB,CAAC;IAClD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,qBAAqB,CAAC;IACtE,KAAK,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAED,eAAO,MAAM,SAAS,8PAsBpB,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dye2eTest = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
const env_config_interface_1 = require("./_models/env-config.interface");
|
|
6
|
+
const field_page_object_1 = require("./_services/field-page-object");
|
|
7
|
+
const form_page_object_1 = require("./_services/form-page-object");
|
|
8
|
+
const nav_page_object_1 = require("./_services/nav-page-object");
|
|
9
|
+
const dialog_page_object_1 = require("./_services/dialog-page-object");
|
|
10
|
+
const toast_page_object_1 = require("./_services/toast-page-object");
|
|
11
|
+
const loader_page_object_1 = require("./_services/loader-page-object");
|
|
12
|
+
exports.dye2eTest = test_1.test.extend({
|
|
13
|
+
envConfig: async ({}, use) => {
|
|
14
|
+
await use(env_config_interface_1.DyE2E_EnvConfig_Util.fromProcessEnv());
|
|
15
|
+
},
|
|
16
|
+
formPO: async ({ page }, use) => {
|
|
17
|
+
await use((formKey) => new form_page_object_1.DyE2E_FormPageObject(page, formKey));
|
|
18
|
+
},
|
|
19
|
+
fieldPO: async ({ page }, use) => {
|
|
20
|
+
await use((formKey, fieldKey) => new field_page_object_1.DyE2E_FieldPageObject(page, formKey, fieldKey));
|
|
21
|
+
},
|
|
22
|
+
navPO: async ({ page }, use) => {
|
|
23
|
+
await use(new nav_page_object_1.DyE2E_NavPageObject(page));
|
|
24
|
+
},
|
|
25
|
+
dialogPO: async ({ page }, use) => {
|
|
26
|
+
await use(new dialog_page_object_1.DyE2E_DialogPageObject(page));
|
|
27
|
+
},
|
|
28
|
+
toastPO: async ({ page }, use) => {
|
|
29
|
+
await use(new toast_page_object_1.DyE2E_ToastPageObject(page));
|
|
30
|
+
},
|
|
31
|
+
loaderPO: async ({ page }, use) => {
|
|
32
|
+
await use(new loader_page_object_1.DyE2E_LoaderPageObject(page));
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
var test_2 = require("@playwright/test");
|
|
36
|
+
Object.defineProperty(exports, "expect", { enumerable: true, get: function () { return test_2.expect; } });
|
|
37
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../src/_modules/runtime/fixtures.ts"],"names":[],"mappings":";;;AAAA,2CAAgD;AAEhD,yEAAiG;AACjG,qEAAsE;AACtE,mEAAoE;AACpE,iEAAkE;AAClE,uEAAwE;AACxE,qEAAsE;AACtE,uEAAwE;AAyB3D,QAAA,SAAS,GAAG,WAAI,CAAC,MAAM,CAAiB;IACnD,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,GAAsD,EAAiB,EAAE;QAC7F,MAAM,GAAG,CAAC,2CAAoB,CAAC,cAAc,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAkB,EAAE,GAAoE,EAAiB,EAAE;QAC9H,MAAM,GAAG,CAAC,CAAC,OAAe,EAAwB,EAAE,CAAC,IAAI,uCAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAkB,EAAE,GAAuF,EAAiB,EAAE;QAClJ,MAAM,GAAG,CAAC,CAAC,OAAe,EAAE,QAAgB,EAAyB,EAAE,CAAC,IAAI,yCAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9H,CAAC;IACD,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAkB,EAAE,GAA8C,EAAiB,EAAE;QACvG,MAAM,GAAG,CAAC,IAAI,qCAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAkB,EAAE,GAAiD,EAAiB,EAAE;QAC7G,MAAM,GAAG,CAAC,IAAI,2CAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAkB,EAAE,GAAgD,EAAiB,EAAE;QAC3G,MAAM,GAAG,CAAC,IAAI,yCAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAkB,EAAE,GAAiD,EAAiB,EAAE;QAC7G,MAAM,GAAG,CAAC,IAAI,2CAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC;AAEH,yCAA0C;AAAjC,8FAAA,MAAM,OAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@futdevpro/dynamo-e2e/runtime` — Playwright fixtures + page-objects (Wave-4).
|
|
3
|
+
*
|
|
4
|
+
* Consumer:
|
|
5
|
+
* ```ts
|
|
6
|
+
* import { dye2eTest as test, expect } from '@futdevpro/dynamo-e2e/runtime';
|
|
7
|
+
*
|
|
8
|
+
* test('login form', async ({ formPO }) => {
|
|
9
|
+
* const login = formPO('login');
|
|
10
|
+
* await login.field('email').fill('user@example.com');
|
|
11
|
+
* await login.submit();
|
|
12
|
+
* });
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export * from './_collections/assertion-helpers.util';
|
|
16
|
+
export * from './_collections/unique-generator.util';
|
|
17
|
+
export * from './_collections/wait-helpers.util';
|
|
18
|
+
export * from './_models/index';
|
|
19
|
+
export * from './_models/test-user.interface';
|
|
20
|
+
export * from './_services/dialog-page-object';
|
|
21
|
+
export * from './_services/field-page-object';
|
|
22
|
+
export * from './_services/form-page-object';
|
|
23
|
+
export * from './_services/loader-page-object';
|
|
24
|
+
export * from './_services/logger.service';
|
|
25
|
+
export * from './_services/login-flow-helper.base';
|
|
26
|
+
export * from './_services/nav-page-object';
|
|
27
|
+
export * from './_services/toast-page-object';
|
|
28
|
+
export * from './fixtures';
|
|
29
|
+
export declare const DYE2E_RUNTIME_VERSION: string;
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAE3B,eAAO,MAAM,qBAAqB,EAAE,MAAwB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.DYE2E_RUNTIME_VERSION = void 0;
|
|
18
|
+
/**
|
|
19
|
+
* `@futdevpro/dynamo-e2e/runtime` — Playwright fixtures + page-objects (Wave-4).
|
|
20
|
+
*
|
|
21
|
+
* Consumer:
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { dye2eTest as test, expect } from '@futdevpro/dynamo-e2e/runtime';
|
|
24
|
+
*
|
|
25
|
+
* test('login form', async ({ formPO }) => {
|
|
26
|
+
* const login = formPO('login');
|
|
27
|
+
* await login.field('email').fill('user@example.com');
|
|
28
|
+
* await login.submit();
|
|
29
|
+
* });
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
__exportStar(require("./_collections/assertion-helpers.util"), exports);
|
|
33
|
+
__exportStar(require("./_collections/unique-generator.util"), exports);
|
|
34
|
+
__exportStar(require("./_collections/wait-helpers.util"), exports);
|
|
35
|
+
__exportStar(require("./_models/index"), exports);
|
|
36
|
+
__exportStar(require("./_models/test-user.interface"), exports);
|
|
37
|
+
__exportStar(require("./_services/dialog-page-object"), exports);
|
|
38
|
+
__exportStar(require("./_services/field-page-object"), exports);
|
|
39
|
+
__exportStar(require("./_services/form-page-object"), exports);
|
|
40
|
+
__exportStar(require("./_services/loader-page-object"), exports);
|
|
41
|
+
__exportStar(require("./_services/logger.service"), exports);
|
|
42
|
+
__exportStar(require("./_services/login-flow-helper.base"), exports);
|
|
43
|
+
__exportStar(require("./_services/nav-page-object"), exports);
|
|
44
|
+
__exportStar(require("./_services/toast-page-object"), exports);
|
|
45
|
+
__exportStar(require("./fixtures"), exports);
|
|
46
|
+
exports.DYE2E_RUNTIME_VERSION = 'wave-5-lifted';
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/runtime/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;GAaG;AACH,wEAAsD;AACtD,uEAAqD;AACrD,mEAAiD;AACjD,kDAAgC;AAChC,gEAA8C;AAC9C,iEAA+C;AAC/C,gEAA8C;AAC9C,+DAA6C;AAC7C,iEAA+C;AAC/C,6DAA2C;AAC3C,qEAAmD;AACnD,8DAA4C;AAC5C,gEAA8C;AAC9C,6CAA2B;AAEd,QAAA,qBAAqB,GAAW,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.service.spec.d.ts","sourceRoot":"","sources":["../../../src/_modules/runtime/logger.service.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const logger_service_1 = require("./_services/logger.service");
|
|
4
|
+
describe('| dynamo-e2e | LoggerService (MP-07 lift)', () => {
|
|
5
|
+
let captured;
|
|
6
|
+
let mockOutput;
|
|
7
|
+
beforeEach(() => {
|
|
8
|
+
captured = [];
|
|
9
|
+
mockOutput = {
|
|
10
|
+
info(msg, meta) { captured.push({ level: 'info', msg, meta }); },
|
|
11
|
+
success(msg, meta) { captured.push({ level: 'success', msg, meta }); },
|
|
12
|
+
error(msg, meta) { captured.push({ level: 'error', msg, meta }); },
|
|
13
|
+
};
|
|
14
|
+
logger_service_1.DyE2E_LoggerService.setOutput(mockOutput);
|
|
15
|
+
});
|
|
16
|
+
afterEach(() => {
|
|
17
|
+
logger_service_1.DyE2E_LoggerService.resetOutput();
|
|
18
|
+
});
|
|
19
|
+
it('| logTestStart info-szinten emit-el + metadata-val', () => {
|
|
20
|
+
logger_service_1.DyE2E_LoggerService.logTestStart('login-flow-success', 'auth', 'test');
|
|
21
|
+
expect(captured.length).toBe(1);
|
|
22
|
+
expect(captured[0].level).toBe('info');
|
|
23
|
+
expect(captured[0].msg).toBe('[E2E] Test started: login-flow-success');
|
|
24
|
+
expect(captured[0].meta?.testName).toBe('login-flow-success');
|
|
25
|
+
expect(captured[0].meta?.environment).toBe('test');
|
|
26
|
+
});
|
|
27
|
+
it('| logTestStart user-rel', () => {
|
|
28
|
+
const u = { email: 'a@b.c', isPersistent: true, testContext: 'login' };
|
|
29
|
+
logger_service_1.DyE2E_LoggerService.logTestStart('flow', 'auth', 'prod', u);
|
|
30
|
+
expect(captured[0].meta?.userEmail).toBe('a@b.c');
|
|
31
|
+
expect(captured[0].meta?.isPersistent).toBe(true);
|
|
32
|
+
});
|
|
33
|
+
it('| logTestSuccess success-szinten + duration-nel', () => {
|
|
34
|
+
logger_service_1.DyE2E_LoggerService.logTestSuccess('flow', 'auth', 1234);
|
|
35
|
+
expect(captured[0].level).toBe('success');
|
|
36
|
+
expect(captured[0].msg).toBe('[E2E] Test passed: flow (1234ms)');
|
|
37
|
+
expect(captured[0].meta?.duration).toBe(1234);
|
|
38
|
+
});
|
|
39
|
+
it('| logTestFailure error-szinten + stack', () => {
|
|
40
|
+
const err = new Error('boom');
|
|
41
|
+
logger_service_1.DyE2E_LoggerService.logTestFailure('flow', 'auth', err);
|
|
42
|
+
expect(captured[0].level).toBe('error');
|
|
43
|
+
expect(captured[0].msg).toBe('[E2E] Test failed: flow');
|
|
44
|
+
expect(captured[0].meta?.errorMessage).toBe('boom');
|
|
45
|
+
expect(typeof captured[0].meta?.errorStack).toBe('string');
|
|
46
|
+
});
|
|
47
|
+
it('| logUserAction info-szinten + user-payload', () => {
|
|
48
|
+
const u = { email: 'a@b.c', username: 'aaa', isPersistent: false };
|
|
49
|
+
logger_service_1.DyE2E_LoggerService.logUserAction('login-attempt', u);
|
|
50
|
+
expect(captured[0].level).toBe('info');
|
|
51
|
+
expect(captured[0].msg).toBe('[E2E] User action: login-attempt');
|
|
52
|
+
expect(captured[0].meta?.action).toBe('login-attempt');
|
|
53
|
+
expect(captured[0].meta?.userEmail).toBe('a@b.c');
|
|
54
|
+
});
|
|
55
|
+
it('| resetOutput → default console-output visszaall', () => {
|
|
56
|
+
logger_service_1.DyE2E_LoggerService.resetOutput();
|
|
57
|
+
// Smoke: no-throw + visszaáll
|
|
58
|
+
expect(() => logger_service_1.DyE2E_LoggerService.logTestStart('t', 'm', 'e')).not.toThrow();
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=logger.service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.service.spec.js","sourceRoot":"","sources":["../../../src/_modules/runtime/logger.service.spec.ts"],"names":[],"mappings":"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"}
|