create-appraisejs 0.3.1-alpha.0 → 0.4.0-alpha.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/README.md +17 -17
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/prepare-template-utils.d.ts.map +1 -1
- package/dist/prepare-template-utils.js.map +1 -1
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +2 -2
- package/dist/prompts.js.map +1 -1
- package/dist/sync-templates-utils.d.ts.map +1 -1
- package/dist/sync-templates-utils.js +1 -5
- package/dist/sync-templates-utils.js.map +1 -1
- package/package.json +1 -1
- package/templates/blank/.editorconfig +11 -0
- package/templates/blank/.env.example +2 -2
- package/templates/blank/.gitattributes +21 -0
- package/templates/blank/.gitconfig.appraise +14 -0
- package/templates/blank/.prettierrc +13 -0
- package/templates/blank/.vscode/settings.json +2 -0
- package/templates/blank/README.md +12 -12
- package/templates/blank/components.json +24 -24
- package/templates/blank/cucumber.mjs +27 -16
- package/templates/blank/e2e/README.md +56 -0
- package/templates/blank/e2e/apply-migrations.mjs +76 -0
- package/templates/blank/e2e/appraise-smoke.spec.ts +78 -0
- package/templates/blank/e2e/authoring.spec.ts +53 -0
- package/templates/blank/e2e/crud-configuration.spec.ts +138 -0
- package/templates/blank/e2e/crud-tests.spec.ts +76 -0
- package/templates/blank/e2e/helpers/forms.ts +186 -0
- package/templates/blank/e2e/helpers/navigation.ts +27 -0
- package/templates/blank/e2e/helpers/table.ts +45 -0
- package/templates/blank/e2e/helpers/test-data.ts +559 -0
- package/templates/blank/e2e/helpers/ui.ts +41 -0
- package/templates/blank/e2e/navigation.spec.ts +101 -0
- package/templates/blank/e2e/runs-and-reports.spec.ts +82 -0
- package/templates/blank/e2e/settings-sync.spec.ts +39 -0
- package/templates/blank/e2e/start-server.mjs +61 -0
- package/templates/blank/eslint.config.mjs +4 -4
- package/templates/blank/gitignore +0 -3
- package/templates/blank/next-env.d.ts +6 -6
- package/templates/blank/package-lock.json +60 -104
- package/templates/blank/package.json +11 -10
- package/templates/blank/packages/cucumber-runtime/package.json +14 -13
- package/templates/blank/packages/cucumber-runtime/src/cache.util.ts +93 -93
- package/templates/blank/packages/cucumber-runtime/src/cli.ts +77 -68
- package/templates/blank/packages/cucumber-runtime/src/environment.util.ts +21 -21
- package/templates/blank/packages/cucumber-runtime/src/executor.ts +32 -32
- package/templates/blank/packages/cucumber-runtime/src/index.ts +17 -17
- package/templates/blank/packages/cucumber-runtime/src/locator.util.ts +234 -234
- package/templates/blank/packages/cucumber-runtime/src/parameter-types.ts +7 -7
- package/templates/blank/packages/cucumber-runtime/src/paths.ts +22 -5
- package/templates/blank/packages/cucumber-runtime/src/random-data.util.ts +35 -35
- package/templates/blank/packages/cucumber-runtime/src/types.ts +13 -13
- package/templates/blank/packages/cucumber-runtime/src/world.ts +44 -44
- package/templates/blank/packages/cucumber-runtime/tsconfig.json +11 -11
- package/templates/blank/packages/locator-picker-companion/dist/cli.js +1 -1
- package/templates/blank/packages/locator-picker-companion/dist/index.d.ts +3 -3
- package/templates/blank/packages/locator-picker-companion/dist/index.js +3 -3
- package/templates/blank/packages/locator-picker-companion/dist/injected-picker-script.js +13 -3
- package/templates/blank/packages/locator-picker-companion/dist/selector-generator.d.ts +6 -3
- package/templates/blank/packages/locator-picker-companion/dist/selector-generator.js +233 -229
- package/templates/blank/packages/locator-picker-companion/package.json +2 -1
- package/templates/blank/packages/locator-picker-companion/src/cli.ts +1 -7
- package/templates/blank/packages/locator-picker-companion/src/injected-picker-script.ts +26 -5
- package/templates/blank/packages/locator-picker-companion/src/launcher.ts +1 -3
- package/templates/blank/packages/locator-picker-companion/src/session-file.ts +4 -15
- package/templates/blank/packages/locator-picker-companion/src/types.ts +1 -8
- package/templates/blank/playwright.config.ts +46 -0
- package/templates/blank/postcss.config.mjs +8 -8
- package/templates/blank/prisma/dev.db +0 -0
- package/templates/blank/prisma/migrations/20251104113456_add_type_for_template_step_groups/migration.sql +16 -16
- package/templates/blank/prisma/migrations/20251104170946_add_tags_to_test_suite_and_test_case/migration.sql +27 -27
- package/templates/blank/prisma/migrations/20251112190024_add_cascade_delete_to_test_run_test_case/migration.sql +17 -17
- package/templates/blank/prisma/migrations/20251113181100_add_test_run_log/migration.sql +12 -12
- package/templates/blank/prisma/migrations/20251119191838_add_tag_type/migration.sql +28 -28
- package/templates/blank/prisma/migrations/20251121164059_add_conflict_resolution/migration.sql +12 -12
- package/templates/blank/prisma/migrations/20251223183400_add_report_model_to_db_schema/migration.sql +10 -10
- package/templates/blank/prisma/migrations/20251223183637_add_report_test_case_entity_for_storing_test_results_for_individual_test_cases/migration.sql +10 -10
- package/templates/blank/prisma/migrations/20251224083549_add_comprehensive_report_storage/migration.sql +108 -108
- package/templates/blank/prisma/migrations/20251229194422_migrate_duration_to_string/migration.sql +55 -55
- package/templates/blank/prisma/migrations/20251230124637_add_unique_constraint_to_test_run_name/migration.sql +27 -27
- package/templates/blank/prisma/migrations/20260115094436_add_dashboard_metrics/migration.sql +59 -59
- package/templates/blank/prisma/migrations/20260127172022_add_cascade_delete_to_step_parameters/migration.sql +34 -34
- package/templates/blank/prisma/migrations/20260313093000_add_report_step_screenshot_path/migration.sql +1 -1
- package/templates/blank/scripts/configure-git-line-endings.mjs +91 -0
- package/templates/blank/scripts/install-template-step.ts +5 -1
- package/templates/blank/scripts/lib/step-matcher.test.ts +3 -3
- package/templates/blank/scripts/lib/step-matcher.ts +5 -1
- package/templates/blank/scripts/lib/template-step-installer.test.ts +4 -2
- package/templates/blank/scripts/lib/template-step-installer.ts +16 -4
- package/templates/blank/scripts/lib/template-step-registry.test.ts +1 -1
- package/templates/blank/scripts/lib/template-step-registry.ts +4 -1
- package/templates/blank/scripts/run-fallow-commit.mjs +4 -6
- package/templates/blank/scripts/setup-env.ts +0 -0
- package/templates/blank/scripts/sync-all.ts +7 -6
- package/templates/blank/scripts/sync-appraise-base-template.ts +84 -77
- package/templates/blank/scripts/sync-environments.ts +47 -44
- package/templates/blank/scripts/sync-locator-groups.ts +67 -76
- package/templates/blank/scripts/sync-locators.ts +50 -53
- package/templates/blank/scripts/sync-modules.ts +42 -42
- package/templates/blank/scripts/sync-tags.ts +51 -51
- package/templates/blank/scripts/sync-template-step-groups.ts +34 -32
- package/templates/blank/scripts/sync-template-steps.ts +97 -97
- package/templates/blank/scripts/sync-test-cases.ts +125 -84
- package/templates/blank/scripts/sync-test-suites.ts +85 -80
- package/templates/blank/src/actions/server-action-boundary.test.ts +1 -7
- package/templates/blank/src/actions/settings/sync-actions.ts +3 -1
- package/templates/blank/src/actions/tags/tag-actions.ts +1 -7
- package/templates/blank/src/actions/template-test-case/template-test-case-actions.ts +3 -1
- package/templates/blank/src/app/(base)/environments/create/page.tsx +28 -28
- package/templates/blank/src/app/(base)/environments/environment-form.tsx +3 -2
- package/templates/blank/src/app/(base)/environments/environment-helpers.ts +4 -1
- package/templates/blank/src/app/(base)/layout.tsx +10 -10
- package/templates/blank/src/app/(base)/locator-groups/locator-group-form.tsx +5 -3
- package/templates/blank/src/app/(base)/locator-groups/locator-group-table-columns.tsx +77 -77
- package/templates/blank/src/app/(base)/locator-groups/locator-group-table.tsx +28 -28
- package/templates/blank/src/app/(base)/locator-groups/modify/[id]/page.tsx +46 -46
- package/templates/blank/src/app/(base)/locator-groups/page.tsx +9 -19
- package/templates/blank/src/app/(base)/locators/create/create-locator-workspace-helpers.test.ts +3 -6
- package/templates/blank/src/app/(base)/locators/create/create-locator-workspace-response.ts +22 -5
- package/templates/blank/src/app/(base)/locators/create/create-locator-workspace-state.ts +5 -1
- package/templates/blank/src/app/(base)/locators/create/use-locator-workspace.ts +7 -2
- package/templates/blank/src/app/(base)/locators/locator-file-sync.ts +1 -5
- package/templates/blank/src/app/(base)/locators/locator-helpers.ts +2 -12
- package/templates/blank/src/app/(base)/locators/locator-table-columns.tsx +59 -60
- package/templates/blank/src/app/(base)/modules/module-form.tsx +3 -1
- package/templates/blank/src/app/(base)/reports/overview-chart.tsx +49 -49
- package/templates/blank/src/app/(base)/reports/test-cases/test-cases-metric-table-columns.tsx +114 -115
- package/templates/blank/src/app/(base)/reports/test-cases/test-cases-metric-table.tsx +27 -27
- package/templates/blank/src/app/(base)/reports/test-suites/test-suites-metric-table-columns.tsx +80 -79
- package/templates/blank/src/app/(base)/reports/test-suites/test-suites-metric-table.tsx +29 -27
- package/templates/blank/src/app/(base)/settings/settings-sync-panel-helpers.test.tsx +4 -6
- package/templates/blank/src/app/(base)/settings/settings-sync-panel.tsx +22 -23
- package/templates/blank/src/app/(base)/tags/tag-form.test.tsx +2 -10
- package/templates/blank/src/app/(base)/tags/tag-form.tsx +5 -3
- package/templates/blank/src/app/(base)/tags/tag-table-columns.tsx +63 -63
- package/templates/blank/src/app/(base)/tags/tag-table.tsx +29 -29
- package/templates/blank/src/app/(base)/template-step-groups/create/page.tsx +28 -28
- package/templates/blank/src/app/(base)/template-step-groups/template-step-group-form.tsx +3 -1
- package/templates/blank/src/app/(base)/template-step-groups/template-step-group-helpers.ts +4 -1
- package/templates/blank/src/app/(base)/template-steps/paramChip.tsx +6 -10
- package/templates/blank/src/app/(base)/template-steps/template-step-form-helpers.ts +4 -2
- package/templates/blank/src/app/(base)/template-steps/template-step-helpers.test.ts +19 -1
- package/templates/blank/src/app/(base)/template-steps/template-step-helpers.ts +1 -5
- package/templates/blank/src/app/(base)/template-steps/template-step-row-guards.ts +1 -5
- package/templates/blank/src/app/(base)/template-steps/template-step-types.ts +1 -5
- package/templates/blank/src/app/(base)/template-test-cases/create-template-test-case-page-data.test.ts +4 -1
- package/templates/blank/src/app/(base)/template-test-cases/create-template-test-case-page-data.ts +1 -2
- package/templates/blank/src/app/(base)/template-test-cases/modify/[id]/page.tsx +1 -0
- package/templates/blank/src/app/(base)/template-test-cases/template-test-case-flow.test.tsx +0 -1
- package/templates/blank/src/app/(base)/template-test-cases/template-test-case-form.tsx +3 -1
- package/templates/blank/src/app/(base)/template-test-cases/template-test-case-table-columns.tsx +76 -76
- package/templates/blank/src/app/(base)/template-test-cases/template-test-case-table.tsx +32 -32
- package/templates/blank/src/app/(base)/test-cases/create/page.tsx +1 -5
- package/templates/blank/src/app/(base)/test-cases/create-from-template/create-from-template-selection-helpers.ts +1 -4
- package/templates/blank/src/app/(base)/test-cases/create-from-template/page.test.tsx +2 -2
- package/templates/blank/src/app/(base)/test-cases/inline-tag-creation-dialog.tsx +1 -7
- package/templates/blank/src/app/(base)/test-cases/inline-test-suite-creation-dialog.tsx +1 -7
- package/templates/blank/src/app/(base)/test-cases/modify/[id]/page.tsx +1 -5
- package/templates/blank/src/app/(base)/test-cases/test-case-form.tsx +63 -78
- package/templates/blank/src/app/(base)/test-cases/test-case-route-helpers.test.ts +2 -7
- package/templates/blank/src/app/(base)/test-suites/editable-test-suite-helpers.ts +1 -6
- package/templates/blank/src/app/(base)/test-suites/test-suite-form.test.tsx +2 -10
- package/templates/blank/src/app/(dashboard-components)/data-card-grid.tsx +10 -10
- package/templates/blank/src/app/api/test-runs/[runId]/download/route.ts +1 -4
- package/templates/blank/src/app/api/test-runs/[runId]/trace/[testCaseId]/route.test.ts +18 -9
- package/templates/blank/src/assets/icons/empty-tube.tsx +23 -23
- package/templates/blank/src/assets/icons/tube-plus.tsx +29 -29
- package/templates/blank/src/components/data-visualization/info-card.tsx +56 -70
- package/templates/blank/src/components/data-visualization/info-grid.tsx +22 -22
- package/templates/blank/src/components/diagram/add-node-prompt-node.tsx +1 -1
- package/templates/blank/src/components/diagram/dynamic-parameters-helpers.ts +4 -3
- package/templates/blank/src/components/diagram/dynamic-parameters.test.tsx +4 -1
- package/templates/blank/src/components/diagram/dynamic-parameters.tsx +0 -1
- package/templates/blank/src/components/diagram/flow-diagram-block-dialog.test.tsx +26 -0
- package/templates/blank/src/components/diagram/flow-diagram-block-dialog.tsx +3 -1
- package/templates/blank/src/components/diagram/flow-diagram-connection-guards.ts +24 -6
- package/templates/blank/src/components/diagram/flow-diagram-helpers.test.ts +27 -0
- package/templates/blank/src/components/diagram/flow-diagram-node-search.tsx +73 -66
- package/templates/blank/src/components/diagram/flow-diagram-toolbar.tsx +35 -3
- package/templates/blank/src/components/diagram/flow-diagram-view.tsx +1 -7
- package/templates/blank/src/components/diagram/flow-diagram.test.tsx +225 -0
- package/templates/blank/src/components/diagram/flow-node-data-helpers.ts +1 -1
- package/templates/blank/src/components/diagram/node-form-fields-content.tsx +9 -2
- package/templates/blank/src/components/diagram/node-form-helpers.test.ts +3 -1
- package/templates/blank/src/components/diagram/node-form-helpers.ts +1 -4
- package/templates/blank/src/components/diagram/node-form-template-step-selection.ts +1 -4
- package/templates/blank/src/components/diagram/node-form.test.tsx +25 -0
- package/templates/blank/src/components/diagram/node-form.tsx +2 -12
- package/templates/blank/src/components/diagram/options-header-node.test.tsx +4 -1
- package/templates/blank/src/components/diagram/options-header-node.tsx +140 -130
- package/templates/blank/src/components/diagram/use-flow-diagram-search.ts +2 -0
- package/templates/blank/src/components/diagram/use-flow-diagram.ts +93 -1
- package/templates/blank/src/components/form/error-message.tsx +7 -7
- package/templates/blank/src/components/loading-skeleton/form/button-skeleton.tsx +8 -8
- package/templates/blank/src/components/loading-skeleton/form/text-input-skeleton.tsx +8 -8
- package/templates/blank/src/components/loading-skeleton/visualization/table-skeleton.tsx +14 -14
- package/templates/blank/src/components/navigation/entity-search-command.tsx +3 -9
- package/templates/blank/src/components/navigation/nav-link.tsx +60 -60
- package/templates/blank/src/components/test-case/test-case-form-helpers.test.ts +1 -5
- package/templates/blank/src/components/test-case/test-case-form-helpers.ts +1 -5
- package/templates/blank/src/components/test-case/test-case-picker-helpers.ts +8 -7
- package/templates/blank/src/components/test-case/test-case-picker.tsx +2 -6
- package/templates/blank/src/components/test-run/log-viewer.test.tsx +25 -0
- package/templates/blank/src/components/test-run/log-viewer.tsx +2 -2
- package/templates/blank/src/components/test-run/test-run-details-guards.ts +10 -1
- package/templates/blank/src/components/test-run/test-run-details.test.tsx +9 -19
- package/templates/blank/src/components/test-run/use-log-viewer.ts +2 -8
- package/templates/blank/src/components/test-run/use-test-run-header.ts +1 -4
- package/templates/blank/src/components/test-suite/test-suite-picker.tsx +1 -1
- package/templates/blank/src/components/theme/theme-provider.tsx +7 -1
- package/templates/blank/src/components/typography/page-header-subtitle.tsx +7 -7
- package/templates/blank/src/components/typography/page-header.tsx +7 -7
- package/templates/blank/src/components/ui/chart.tsx +2 -8
- package/templates/blank/src/components/ui/command.tsx +2 -5
- package/templates/blank/src/components/ui/data-table-column-header.tsx +3 -3
- package/templates/blank/src/components/ui/data-table.test.tsx +1 -8
- package/templates/blank/src/components/ui/dialog.tsx +1 -4
- package/templates/blank/src/components/ui/select.tsx +2 -2
- package/templates/blank/src/components/ui/separator.tsx +5 -1
- package/templates/blank/src/components/ui/skeleton.tsx +7 -7
- package/templates/blank/src/components/ui/table.tsx +1 -1
- package/templates/blank/src/components/ui/toaster.tsx +26 -26
- package/templates/blank/src/components/ui/tooltip.tsx +1 -1
- package/templates/blank/src/constants/form-opts/locator-group-form-opts.ts +1 -1
- package/templates/blank/src/lib/appraise-test-case-metadata.test.ts +78 -0
- package/templates/blank/src/lib/appraise-test-case-metadata.ts +220 -0
- package/templates/blank/src/lib/automation/automation-path-roots.test.ts +14 -0
- package/templates/blank/src/lib/automation/automation-path-roots.ts +10 -2
- package/templates/blank/src/lib/database-sync.ts +166 -15
- package/templates/blank/src/lib/executor/local-executor-adapter.ts +6 -2
- package/templates/blank/src/lib/feature-file-generator.ts +54 -10
- package/templates/blank/src/lib/gherkin-parser.test.ts +52 -0
- package/templates/blank/src/lib/gherkin-parser.ts +39 -1
- package/templates/blank/src/lib/locator-group-file-utils.ts +5 -1
- package/templates/blank/src/lib/locator-picker/session-manager.ts +1 -2
- package/templates/blank/src/lib/metrics/metric-calculator.test.ts +105 -6
- package/templates/blank/src/lib/metrics/metric-calculator.ts +39 -40
- package/templates/blank/src/lib/sync/projected-feature-utils.ts +5 -1
- package/templates/blank/src/lib/sync/sync-executor.ts +1 -4
- package/templates/blank/src/lib/sync/sync-pending-counts.test.ts +316 -7
- package/templates/blank/src/lib/sync/sync-pending-counts.ts +189 -26
- package/templates/blank/src/lib/template-automation-paths.ts +1 -1
- package/templates/blank/src/lib/template-sync-utils.d.ts +14 -7
- package/templates/blank/src/lib/test-case-utils.ts +6 -6
- package/templates/blank/src/lib/test-run/log-formatter.ts +82 -83
- package/templates/blank/src/lib/test-run/report-parser.ts +352 -352
- package/templates/blank/src/lib/transformers/gherkin-converter.ts +42 -42
- package/templates/blank/src/lib/transformers/key-to-icon-transformer.tsx +95 -95
- package/templates/blank/src/lib/utils/node-param-validation.ts +81 -81
- package/templates/blank/src/lib/utils/template-step-file-generator.ts +5 -3
- package/templates/blank/src/lib/utils/template-step-file-manager-intelligent.ts +11 -1
- package/templates/blank/src/services/dashboard/dashboard-service.test.ts +28 -1
- package/templates/blank/src/services/dashboard/dashboard-service.ts +2 -0
- package/templates/blank/src/services/locator/locator-service.test.ts +1 -3
- package/templates/blank/src/services/locator/locator-service.ts +3 -1
- package/templates/blank/src/services/locator/locator-sync-utils.test.ts +1 -4
- package/templates/blank/src/services/module/module-service.ts +1 -4
- package/templates/blank/src/services/report/report-service.test.ts +70 -6
- package/templates/blank/src/services/report/report-service.ts +52 -9
- package/templates/blank/src/services/shared/errors.ts +2 -4
- package/templates/blank/src/services/template-step/template-step-service.ts +3 -1
- package/templates/blank/src/services/template-step-group/template-step-group-service.ts +3 -1
- package/templates/blank/src/services/test-case/test-case-service.ts +0 -5
- package/templates/blank/src/services/test-run/test-run-service.test.ts +13 -6
- package/templates/blank/src/services/test-run/test-run-service.ts +53 -8
- package/templates/blank/src/services/test-suite/test-suite-service.test.ts +1 -5
- package/templates/blank/src/services/test-suite/test-suite-service.ts +2 -4
- package/templates/blank/src/types/form/actionHandler.ts +1 -5
- package/templates/blank/tsconfig.json +8 -8
- package/templates/starter/.editorconfig +11 -0
- package/templates/starter/.env.example +2 -2
- package/templates/starter/.gitattributes +21 -0
- package/templates/starter/.gitconfig.appraise +14 -0
- package/templates/starter/.prettierrc +13 -0
- package/templates/starter/.vscode/settings.json +2 -0
- package/templates/starter/README.md +12 -12
- package/templates/starter/automation/steps/actions/click.step.ts +56 -58
- package/templates/starter/automation/steps/actions/hover.step.ts +25 -27
- package/templates/starter/automation/steps/actions/input.step.ts +85 -108
- package/templates/starter/automation/steps/actions/navigation.step.ts +67 -70
- package/templates/starter/automation/steps/actions/random_data.step.ts +149 -143
- package/templates/starter/automation/steps/actions/store.step.ts +69 -1
- package/templates/starter/automation/steps/actions/wait.step.ts +84 -1
- package/templates/starter/automation/steps/validations/active_state_assertion.step.ts +28 -30
- package/templates/starter/automation/steps/validations/navigation_assertion.step.ts +20 -22
- package/templates/starter/automation/steps/validations/text_assertion.step.ts +67 -107
- package/templates/starter/automation/steps/validations/visibility_assertion.step.ts +24 -26
- package/templates/starter/components.json +24 -24
- package/templates/starter/cucumber.mjs +27 -16
- package/templates/starter/e2e/README.md +56 -0
- package/templates/starter/e2e/apply-migrations.mjs +76 -0
- package/templates/starter/e2e/appraise-smoke.spec.ts +78 -0
- package/templates/starter/e2e/authoring.spec.ts +53 -0
- package/templates/starter/e2e/crud-configuration.spec.ts +138 -0
- package/templates/starter/e2e/crud-tests.spec.ts +76 -0
- package/templates/starter/e2e/helpers/forms.ts +186 -0
- package/templates/starter/e2e/helpers/navigation.ts +27 -0
- package/templates/starter/e2e/helpers/table.ts +45 -0
- package/templates/starter/e2e/helpers/test-data.ts +559 -0
- package/templates/starter/e2e/helpers/ui.ts +41 -0
- package/templates/starter/e2e/navigation.spec.ts +101 -0
- package/templates/starter/e2e/runs-and-reports.spec.ts +82 -0
- package/templates/starter/e2e/settings-sync.spec.ts +39 -0
- package/templates/starter/e2e/start-server.mjs +61 -0
- package/templates/starter/eslint.config.mjs +4 -4
- package/templates/starter/gitignore +0 -3
- package/templates/starter/next-env.d.ts +6 -6
- package/templates/starter/package-lock.json +60 -104
- package/templates/starter/package.json +11 -10
- package/templates/starter/packages/cucumber-runtime/package.json +14 -13
- package/templates/starter/packages/cucumber-runtime/src/cache.util.ts +93 -93
- package/templates/starter/packages/cucumber-runtime/src/cli.ts +77 -68
- package/templates/starter/packages/cucumber-runtime/src/environment.util.ts +21 -21
- package/templates/starter/packages/cucumber-runtime/src/executor.ts +32 -32
- package/templates/starter/packages/cucumber-runtime/src/index.ts +17 -17
- package/templates/starter/packages/cucumber-runtime/src/locator.util.ts +234 -234
- package/templates/starter/packages/cucumber-runtime/src/parameter-types.ts +7 -7
- package/templates/starter/packages/cucumber-runtime/src/paths.ts +22 -5
- package/templates/starter/packages/cucumber-runtime/src/random-data.util.ts +35 -35
- package/templates/starter/packages/cucumber-runtime/src/types.ts +13 -13
- package/templates/starter/packages/cucumber-runtime/src/world.ts +44 -44
- package/templates/starter/packages/cucumber-runtime/tsconfig.json +11 -11
- package/templates/starter/packages/locator-picker-companion/dist/cli.js +1 -1
- package/templates/starter/packages/locator-picker-companion/dist/index.d.ts +3 -3
- package/templates/starter/packages/locator-picker-companion/dist/index.js +3 -3
- package/templates/starter/packages/locator-picker-companion/dist/injected-picker-script.js +13 -3
- package/templates/starter/packages/locator-picker-companion/dist/selector-generator.d.ts +6 -3
- package/templates/starter/packages/locator-picker-companion/dist/selector-generator.js +233 -229
- package/templates/starter/packages/locator-picker-companion/package.json +2 -1
- package/templates/starter/packages/locator-picker-companion/src/cli.ts +1 -7
- package/templates/starter/packages/locator-picker-companion/src/injected-picker-script.ts +26 -5
- package/templates/starter/packages/locator-picker-companion/src/launcher.ts +1 -3
- package/templates/starter/packages/locator-picker-companion/src/session-file.ts +4 -15
- package/templates/starter/packages/locator-picker-companion/src/types.ts +1 -8
- package/templates/starter/playwright.config.ts +46 -0
- package/templates/starter/postcss.config.mjs +8 -8
- package/templates/starter/prisma/dev.db +0 -0
- package/templates/starter/prisma/migrations/20251104113456_add_type_for_template_step_groups/migration.sql +16 -16
- package/templates/starter/prisma/migrations/20251104170946_add_tags_to_test_suite_and_test_case/migration.sql +27 -27
- package/templates/starter/prisma/migrations/20251112190024_add_cascade_delete_to_test_run_test_case/migration.sql +17 -17
- package/templates/starter/prisma/migrations/20251113181100_add_test_run_log/migration.sql +12 -12
- package/templates/starter/prisma/migrations/20251119191838_add_tag_type/migration.sql +28 -28
- package/templates/starter/prisma/migrations/20251121164059_add_conflict_resolution/migration.sql +12 -12
- package/templates/starter/prisma/migrations/20251223183400_add_report_model_to_db_schema/migration.sql +10 -10
- package/templates/starter/prisma/migrations/20251223183637_add_report_test_case_entity_for_storing_test_results_for_individual_test_cases/migration.sql +10 -10
- package/templates/starter/prisma/migrations/20251224083549_add_comprehensive_report_storage/migration.sql +108 -108
- package/templates/starter/prisma/migrations/20251229194422_migrate_duration_to_string/migration.sql +55 -55
- package/templates/starter/prisma/migrations/20251230124637_add_unique_constraint_to_test_run_name/migration.sql +27 -27
- package/templates/starter/prisma/migrations/20260115094436_add_dashboard_metrics/migration.sql +59 -59
- package/templates/starter/prisma/migrations/20260127172022_add_cascade_delete_to_step_parameters/migration.sql +34 -34
- package/templates/starter/prisma/migrations/20260313093000_add_report_step_screenshot_path/migration.sql +1 -1
- package/templates/starter/scripts/configure-git-line-endings.mjs +91 -0
- package/templates/starter/scripts/install-template-step.ts +5 -1
- package/templates/starter/scripts/lib/step-matcher.test.ts +3 -3
- package/templates/starter/scripts/lib/step-matcher.ts +5 -1
- package/templates/starter/scripts/lib/template-step-installer.test.ts +4 -2
- package/templates/starter/scripts/lib/template-step-installer.ts +16 -4
- package/templates/starter/scripts/lib/template-step-registry.test.ts +1 -1
- package/templates/starter/scripts/lib/template-step-registry.ts +4 -1
- package/templates/starter/scripts/run-fallow-commit.mjs +4 -6
- package/templates/starter/scripts/setup-env.ts +0 -0
- package/templates/starter/scripts/sync-all.ts +7 -6
- package/templates/starter/scripts/sync-appraise-base-template.ts +84 -77
- package/templates/starter/scripts/sync-environments.ts +47 -44
- package/templates/starter/scripts/sync-locator-groups.ts +67 -76
- package/templates/starter/scripts/sync-locators.ts +50 -53
- package/templates/starter/scripts/sync-modules.ts +42 -42
- package/templates/starter/scripts/sync-tags.ts +51 -51
- package/templates/starter/scripts/sync-template-step-groups.ts +34 -32
- package/templates/starter/scripts/sync-template-steps.ts +97 -97
- package/templates/starter/scripts/sync-test-cases.ts +125 -84
- package/templates/starter/scripts/sync-test-suites.ts +85 -80
- package/templates/starter/src/actions/server-action-boundary.test.ts +1 -7
- package/templates/starter/src/actions/settings/sync-actions.ts +3 -1
- package/templates/starter/src/actions/tags/tag-actions.ts +1 -7
- package/templates/starter/src/actions/template-test-case/template-test-case-actions.ts +3 -1
- package/templates/starter/src/app/(base)/environments/create/page.tsx +28 -28
- package/templates/starter/src/app/(base)/environments/environment-form.tsx +3 -2
- package/templates/starter/src/app/(base)/environments/environment-helpers.ts +4 -1
- package/templates/starter/src/app/(base)/layout.tsx +10 -10
- package/templates/starter/src/app/(base)/locator-groups/locator-group-form.tsx +5 -3
- package/templates/starter/src/app/(base)/locator-groups/locator-group-table-columns.tsx +77 -77
- package/templates/starter/src/app/(base)/locator-groups/locator-group-table.tsx +28 -28
- package/templates/starter/src/app/(base)/locator-groups/modify/[id]/page.tsx +46 -46
- package/templates/starter/src/app/(base)/locator-groups/page.tsx +9 -19
- package/templates/starter/src/app/(base)/locators/create/create-locator-workspace-helpers.test.ts +3 -6
- package/templates/starter/src/app/(base)/locators/create/create-locator-workspace-response.ts +22 -5
- package/templates/starter/src/app/(base)/locators/create/create-locator-workspace-state.ts +5 -1
- package/templates/starter/src/app/(base)/locators/create/use-locator-workspace.ts +7 -2
- package/templates/starter/src/app/(base)/locators/locator-file-sync.ts +1 -5
- package/templates/starter/src/app/(base)/locators/locator-helpers.ts +2 -12
- package/templates/starter/src/app/(base)/locators/locator-table-columns.tsx +59 -60
- package/templates/starter/src/app/(base)/modules/module-form.tsx +3 -1
- package/templates/starter/src/app/(base)/reports/overview-chart.tsx +49 -49
- package/templates/starter/src/app/(base)/reports/test-cases/test-cases-metric-table-columns.tsx +114 -115
- package/templates/starter/src/app/(base)/reports/test-cases/test-cases-metric-table.tsx +27 -27
- package/templates/starter/src/app/(base)/reports/test-suites/test-suites-metric-table-columns.tsx +80 -79
- package/templates/starter/src/app/(base)/reports/test-suites/test-suites-metric-table.tsx +29 -27
- package/templates/starter/src/app/(base)/settings/settings-sync-panel-helpers.test.tsx +4 -6
- package/templates/starter/src/app/(base)/settings/settings-sync-panel.tsx +22 -23
- package/templates/starter/src/app/(base)/tags/tag-form.test.tsx +2 -10
- package/templates/starter/src/app/(base)/tags/tag-form.tsx +5 -3
- package/templates/starter/src/app/(base)/tags/tag-table-columns.tsx +63 -63
- package/templates/starter/src/app/(base)/tags/tag-table.tsx +29 -29
- package/templates/starter/src/app/(base)/template-step-groups/create/page.tsx +28 -28
- package/templates/starter/src/app/(base)/template-step-groups/template-step-group-form.tsx +3 -1
- package/templates/starter/src/app/(base)/template-step-groups/template-step-group-helpers.ts +4 -1
- package/templates/starter/src/app/(base)/template-steps/paramChip.tsx +6 -10
- package/templates/starter/src/app/(base)/template-steps/template-step-form-helpers.ts +4 -2
- package/templates/starter/src/app/(base)/template-steps/template-step-helpers.test.ts +19 -1
- package/templates/starter/src/app/(base)/template-steps/template-step-helpers.ts +1 -5
- package/templates/starter/src/app/(base)/template-steps/template-step-row-guards.ts +1 -5
- package/templates/starter/src/app/(base)/template-steps/template-step-types.ts +1 -5
- package/templates/starter/src/app/(base)/template-test-cases/create-template-test-case-page-data.test.ts +4 -1
- package/templates/starter/src/app/(base)/template-test-cases/create-template-test-case-page-data.ts +1 -2
- package/templates/starter/src/app/(base)/template-test-cases/modify/[id]/page.tsx +1 -0
- package/templates/starter/src/app/(base)/template-test-cases/template-test-case-flow.test.tsx +0 -1
- package/templates/starter/src/app/(base)/template-test-cases/template-test-case-form.tsx +3 -1
- package/templates/starter/src/app/(base)/template-test-cases/template-test-case-table-columns.tsx +76 -76
- package/templates/starter/src/app/(base)/template-test-cases/template-test-case-table.tsx +32 -32
- package/templates/starter/src/app/(base)/test-cases/create/page.tsx +1 -5
- package/templates/starter/src/app/(base)/test-cases/create-from-template/create-from-template-selection-helpers.ts +1 -4
- package/templates/starter/src/app/(base)/test-cases/create-from-template/page.test.tsx +2 -2
- package/templates/starter/src/app/(base)/test-cases/inline-tag-creation-dialog.tsx +1 -7
- package/templates/starter/src/app/(base)/test-cases/inline-test-suite-creation-dialog.tsx +1 -7
- package/templates/starter/src/app/(base)/test-cases/modify/[id]/page.tsx +1 -5
- package/templates/starter/src/app/(base)/test-cases/test-case-form.tsx +63 -78
- package/templates/starter/src/app/(base)/test-cases/test-case-route-helpers.test.ts +2 -7
- package/templates/starter/src/app/(base)/test-suites/editable-test-suite-helpers.ts +1 -6
- package/templates/starter/src/app/(base)/test-suites/test-suite-form.test.tsx +2 -10
- package/templates/starter/src/app/(dashboard-components)/data-card-grid.tsx +10 -10
- package/templates/starter/src/app/api/test-runs/[runId]/download/route.ts +1 -4
- package/templates/starter/src/app/api/test-runs/[runId]/trace/[testCaseId]/route.test.ts +18 -9
- package/templates/starter/src/assets/icons/empty-tube.tsx +23 -23
- package/templates/starter/src/assets/icons/tube-plus.tsx +29 -29
- package/templates/starter/src/components/data-visualization/info-card.tsx +56 -70
- package/templates/starter/src/components/data-visualization/info-grid.tsx +22 -22
- package/templates/starter/src/components/diagram/add-node-prompt-node.tsx +1 -1
- package/templates/starter/src/components/diagram/dynamic-parameters-helpers.ts +4 -3
- package/templates/starter/src/components/diagram/dynamic-parameters.test.tsx +4 -1
- package/templates/starter/src/components/diagram/dynamic-parameters.tsx +0 -1
- package/templates/starter/src/components/diagram/flow-diagram-block-dialog.test.tsx +26 -0
- package/templates/starter/src/components/diagram/flow-diagram-block-dialog.tsx +3 -1
- package/templates/starter/src/components/diagram/flow-diagram-connection-guards.ts +24 -6
- package/templates/starter/src/components/diagram/flow-diagram-helpers.test.ts +27 -0
- package/templates/starter/src/components/diagram/flow-diagram-node-search.tsx +73 -66
- package/templates/starter/src/components/diagram/flow-diagram-toolbar.tsx +35 -3
- package/templates/starter/src/components/diagram/flow-diagram-view.tsx +1 -7
- package/templates/starter/src/components/diagram/flow-diagram.test.tsx +225 -0
- package/templates/starter/src/components/diagram/flow-node-data-helpers.ts +1 -1
- package/templates/starter/src/components/diagram/node-form-fields-content.tsx +9 -2
- package/templates/starter/src/components/diagram/node-form-helpers.test.ts +3 -1
- package/templates/starter/src/components/diagram/node-form-helpers.ts +1 -4
- package/templates/starter/src/components/diagram/node-form-template-step-selection.ts +1 -4
- package/templates/starter/src/components/diagram/node-form.test.tsx +25 -0
- package/templates/starter/src/components/diagram/node-form.tsx +2 -12
- package/templates/starter/src/components/diagram/options-header-node.test.tsx +4 -1
- package/templates/starter/src/components/diagram/options-header-node.tsx +140 -130
- package/templates/starter/src/components/diagram/use-flow-diagram-search.ts +2 -0
- package/templates/starter/src/components/diagram/use-flow-diagram.ts +93 -1
- package/templates/starter/src/components/form/error-message.tsx +7 -7
- package/templates/starter/src/components/loading-skeleton/form/button-skeleton.tsx +8 -8
- package/templates/starter/src/components/loading-skeleton/form/text-input-skeleton.tsx +8 -8
- package/templates/starter/src/components/loading-skeleton/visualization/table-skeleton.tsx +14 -14
- package/templates/starter/src/components/navigation/entity-search-command.tsx +3 -9
- package/templates/starter/src/components/navigation/nav-link.tsx +60 -60
- package/templates/starter/src/components/test-case/test-case-form-helpers.test.ts +1 -5
- package/templates/starter/src/components/test-case/test-case-form-helpers.ts +1 -5
- package/templates/starter/src/components/test-case/test-case-picker-helpers.ts +8 -7
- package/templates/starter/src/components/test-case/test-case-picker.tsx +2 -6
- package/templates/starter/src/components/test-run/log-viewer.test.tsx +25 -0
- package/templates/starter/src/components/test-run/log-viewer.tsx +2 -2
- package/templates/starter/src/components/test-run/test-run-details-guards.ts +10 -1
- package/templates/starter/src/components/test-run/test-run-details.test.tsx +9 -19
- package/templates/starter/src/components/test-run/use-log-viewer.ts +2 -8
- package/templates/starter/src/components/test-run/use-test-run-header.ts +1 -4
- package/templates/starter/src/components/test-suite/test-suite-picker.tsx +1 -1
- package/templates/starter/src/components/theme/theme-provider.tsx +7 -1
- package/templates/starter/src/components/typography/page-header-subtitle.tsx +7 -7
- package/templates/starter/src/components/typography/page-header.tsx +7 -7
- package/templates/starter/src/components/ui/chart.tsx +2 -8
- package/templates/starter/src/components/ui/command.tsx +2 -5
- package/templates/starter/src/components/ui/data-table-column-header.tsx +3 -3
- package/templates/starter/src/components/ui/data-table.test.tsx +1 -8
- package/templates/starter/src/components/ui/dialog.tsx +1 -4
- package/templates/starter/src/components/ui/select.tsx +2 -2
- package/templates/starter/src/components/ui/separator.tsx +5 -1
- package/templates/starter/src/components/ui/skeleton.tsx +7 -7
- package/templates/starter/src/components/ui/table.tsx +1 -1
- package/templates/starter/src/components/ui/toaster.tsx +26 -26
- package/templates/starter/src/components/ui/tooltip.tsx +1 -1
- package/templates/starter/src/constants/form-opts/locator-group-form-opts.ts +1 -1
- package/templates/starter/src/lib/appraise-test-case-metadata.test.ts +78 -0
- package/templates/starter/src/lib/appraise-test-case-metadata.ts +220 -0
- package/templates/starter/src/lib/automation/automation-path-roots.test.ts +14 -0
- package/templates/starter/src/lib/automation/automation-path-roots.ts +10 -2
- package/templates/starter/src/lib/database-sync.ts +166 -15
- package/templates/starter/src/lib/executor/local-executor-adapter.ts +6 -2
- package/templates/starter/src/lib/feature-file-generator.ts +54 -10
- package/templates/starter/src/lib/gherkin-parser.test.ts +52 -0
- package/templates/starter/src/lib/gherkin-parser.ts +39 -1
- package/templates/starter/src/lib/locator-group-file-utils.ts +5 -1
- package/templates/starter/src/lib/locator-picker/session-manager.ts +1 -2
- package/templates/starter/src/lib/metrics/metric-calculator.test.ts +105 -6
- package/templates/starter/src/lib/metrics/metric-calculator.ts +39 -40
- package/templates/starter/src/lib/sync/projected-feature-utils.ts +5 -1
- package/templates/starter/src/lib/sync/sync-executor.ts +1 -4
- package/templates/starter/src/lib/sync/sync-pending-counts.test.ts +316 -7
- package/templates/starter/src/lib/sync/sync-pending-counts.ts +189 -26
- package/templates/starter/src/lib/template-automation-paths.ts +1 -1
- package/templates/starter/src/lib/template-sync-utils.d.ts +14 -7
- package/templates/starter/src/lib/test-case-utils.ts +6 -6
- package/templates/starter/src/lib/test-run/log-formatter.ts +82 -83
- package/templates/starter/src/lib/test-run/report-parser.ts +352 -352
- package/templates/starter/src/lib/transformers/gherkin-converter.ts +42 -42
- package/templates/starter/src/lib/transformers/key-to-icon-transformer.tsx +95 -95
- package/templates/starter/src/lib/utils/node-param-validation.ts +81 -81
- package/templates/starter/src/lib/utils/template-step-file-generator.ts +5 -3
- package/templates/starter/src/lib/utils/template-step-file-manager-intelligent.ts +11 -1
- package/templates/starter/src/services/dashboard/dashboard-service.test.ts +28 -1
- package/templates/starter/src/services/dashboard/dashboard-service.ts +2 -0
- package/templates/starter/src/services/locator/locator-service.test.ts +1 -3
- package/templates/starter/src/services/locator/locator-service.ts +3 -1
- package/templates/starter/src/services/locator/locator-sync-utils.test.ts +1 -4
- package/templates/starter/src/services/module/module-service.ts +1 -4
- package/templates/starter/src/services/report/report-service.test.ts +70 -6
- package/templates/starter/src/services/report/report-service.ts +52 -9
- package/templates/starter/src/services/shared/errors.ts +2 -4
- package/templates/starter/src/services/template-step/template-step-service.ts +3 -1
- package/templates/starter/src/services/template-step-group/template-step-group-service.ts +3 -1
- package/templates/starter/src/services/test-case/test-case-service.ts +0 -5
- package/templates/starter/src/services/test-run/test-run-service.test.ts +13 -6
- package/templates/starter/src/services/test-run/test-run-service.ts +53 -8
- package/templates/starter/src/services/test-suite/test-suite-service.test.ts +1 -5
- package/templates/starter/src/services/test-suite/test-suite-service.ts +2 -4
- package/templates/starter/src/types/form/actionHandler.ts +1 -5
- package/templates/starter/tsconfig.json +8 -8
- package/dist/cli.e2e.test.d.ts +0 -2
- package/dist/cli.e2e.test.d.ts.map +0 -1
- package/dist/cli.e2e.test.js +0 -73
- package/dist/cli.e2e.test.js.map +0 -1
- package/dist/config.test.d.ts +0 -2
- package/dist/config.test.d.ts.map +0 -1
- package/dist/config.test.js +0 -65
- package/dist/config.test.js.map +0 -1
- package/dist/copy-template.test.d.ts +0 -2
- package/dist/copy-template.test.d.ts.map +0 -1
- package/dist/copy-template.test.js +0 -71
- package/dist/copy-template.test.js.map +0 -1
- package/dist/download-repo.test.d.ts +0 -2
- package/dist/download-repo.test.d.ts.map +0 -1
- package/dist/download-repo.test.js +0 -14
- package/dist/download-repo.test.js.map +0 -1
- package/dist/install.test.d.ts +0 -2
- package/dist/install.test.d.ts.map +0 -1
- package/dist/install.test.js +0 -119
- package/dist/install.test.js.map +0 -1
- package/dist/prompts.test.d.ts +0 -2
- package/dist/prompts.test.d.ts.map +0 -1
- package/dist/prompts.test.js +0 -58
- package/dist/prompts.test.js.map +0 -1
- package/templates/default/next-env.d.ts +0 -6
- package/templates/default/packages/locator-picker-companion/dist/cli.d.ts +0 -1
- package/templates/default/packages/locator-picker-companion/dist/cli.js +0 -302
- package/templates/default/packages/locator-picker-companion/dist/index.d.ts +0 -3
- package/templates/default/packages/locator-picker-companion/dist/index.js +0 -3
- package/templates/default/packages/locator-picker-companion/dist/injected-picker-script.d.ts +0 -1
- package/templates/default/packages/locator-picker-companion/dist/injected-picker-script.js +0 -615
- package/templates/default/packages/locator-picker-companion/dist/launcher.d.ts +0 -11
- package/templates/default/packages/locator-picker-companion/dist/launcher.js +0 -59
- package/templates/default/packages/locator-picker-companion/dist/selector-generator.d.ts +0 -3
- package/templates/default/packages/locator-picker-companion/dist/selector-generator.js +0 -257
- package/templates/default/packages/locator-picker-companion/dist/session-file.d.ts +0 -22
- package/templates/default/packages/locator-picker-companion/dist/session-file.js +0 -150
- package/templates/default/packages/locator-picker-companion/dist/types.d.ts +0 -31
- package/templates/default/packages/locator-picker-companion/dist/types.js +0 -1
- package/templates/default/prisma/dev.db +0 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { test, expect } from '@playwright/test'
|
|
2
|
+
|
|
3
|
+
import { disconnectPrisma, findTestRunById, resetE2eData, seedCoreData, seededIds } from './helpers/test-data'
|
|
4
|
+
import { expectPageHeading } from './helpers/ui'
|
|
5
|
+
|
|
6
|
+
test.describe('Runs and reports @runs', () => {
|
|
7
|
+
test.beforeEach(async () => {
|
|
8
|
+
await resetE2eData()
|
|
9
|
+
await seedCoreData()
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
test.afterAll(async () => {
|
|
13
|
+
await disconnectPrisma()
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
test('test runs list shows seeded variants and recent failed filter', async ({ page }) => {
|
|
17
|
+
await page.goto('/test-runs')
|
|
18
|
+
await expectPageHeading(page, 'Test Runs')
|
|
19
|
+
await expect(page.getByText('E2E Completed Run', { exact: true }).first()).toBeVisible()
|
|
20
|
+
await expect(page.getByText('E2E Failed Run', { exact: true }).first()).toBeVisible()
|
|
21
|
+
await expect(page.getByText('E2E Queued Run', { exact: true }).first()).toBeVisible()
|
|
22
|
+
await expect(page.getByText('E2E Running Run', { exact: true }).first()).toBeVisible()
|
|
23
|
+
|
|
24
|
+
await page.goto('/test-runs?filter=recentFailed')
|
|
25
|
+
await expect(page.getByText('E2E Failed Run', { exact: true }).first()).toBeVisible()
|
|
26
|
+
await expect(page.getByText('E2E Completed Run', { exact: true }).first()).toBeHidden()
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
test('test run detail shows status logs and report navigation', async ({ page }) => {
|
|
30
|
+
await page.goto(`/test-runs/${seededIds.testRun}`)
|
|
31
|
+
await expectPageHeading(page, 'Test Run Details')
|
|
32
|
+
await expect(page.getByText('E2E Completed Run')).toBeVisible()
|
|
33
|
+
await expect(page.getByText('Finished', { exact: true }).first()).toBeVisible()
|
|
34
|
+
await expect(page.getByText('E2E seeded run started')).toBeVisible()
|
|
35
|
+
await expect(page.getByText('E2E seeded login works')).toBeVisible()
|
|
36
|
+
|
|
37
|
+
await page.getByRole('link', { name: /View Report/ }).click()
|
|
38
|
+
await expectPageHeading(page, /Test Run Report:/)
|
|
39
|
+
await expect(page.getByText('Total Tests')).toBeVisible()
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
test('create test run form loads selections without starting execution', async ({ page }) => {
|
|
43
|
+
await page.goto('/test-runs/create')
|
|
44
|
+
await expectPageHeading(page, 'Create Test Run')
|
|
45
|
+
await page.getByLabel('Name').fill('E2E Draft Run')
|
|
46
|
+
await page.getByLabel('Environment').click()
|
|
47
|
+
await page.getByRole('option', { name: 'E2E Local' }).click()
|
|
48
|
+
await page.getByRole('combobox', { name: 'Test tags' }).click()
|
|
49
|
+
await page.getByRole('option', { name: 'E2E Smoke' }).click()
|
|
50
|
+
await expect(page.getByRole('button', { name: 'Start' })).toBeVisible()
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
test('reports list and metric drill-down pages render seeded data', async ({ page }) => {
|
|
54
|
+
await page.goto('/reports')
|
|
55
|
+
await expectPageHeading(page, 'Reports')
|
|
56
|
+
await expect(page.getByText('E2E Completed Run', { exact: true }).first()).toBeVisible()
|
|
57
|
+
|
|
58
|
+
await page.goto('/reports/test-cases?filter=repeatedlyFailing')
|
|
59
|
+
await expectPageHeading(page, 'Failing Test Cases Report')
|
|
60
|
+
await expect(page.getByText('E2E seeded login works', { exact: true }).first()).toBeVisible()
|
|
61
|
+
|
|
62
|
+
await page.goto('/reports/test-cases?filter=flaky')
|
|
63
|
+
await expect(page.getByText('E2E seeded login works', { exact: true }).first()).toBeVisible()
|
|
64
|
+
|
|
65
|
+
await page.goto('/reports/test-suites?filter=notExecutedRecently')
|
|
66
|
+
await expectPageHeading(page, 'Test Suites Report')
|
|
67
|
+
await expect(page.getByText('E2E Auth Suite', { exact: true }).first()).toBeVisible()
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
test('cancel run updates seeded running run status', async ({ page }) => {
|
|
71
|
+
await page.goto(`/test-runs/${seededIds.runningTestRun}`)
|
|
72
|
+
await expectPageHeading(page, 'Test Run Details')
|
|
73
|
+
await page.getByRole('button', { name: /Cancel Run/i }).click()
|
|
74
|
+
|
|
75
|
+
await expect
|
|
76
|
+
.poll(async () => {
|
|
77
|
+
const run = await findTestRunById(seededIds.runningTestRun)
|
|
78
|
+
return run?.status
|
|
79
|
+
})
|
|
80
|
+
.toMatch(/CANCELLED|CANCELLING/)
|
|
81
|
+
})
|
|
82
|
+
})
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { test, expect } from '@playwright/test'
|
|
2
|
+
|
|
3
|
+
import { disconnectPrisma, resetE2eData, seedCoreData } from './helpers/test-data'
|
|
4
|
+
|
|
5
|
+
const syncScriptLabels = [
|
|
6
|
+
'Sync Modules',
|
|
7
|
+
'Sync Environments',
|
|
8
|
+
'Sync Tags',
|
|
9
|
+
'Sync Template Step Groups',
|
|
10
|
+
'Sync Template Steps',
|
|
11
|
+
'Sync Locator Groups',
|
|
12
|
+
'Sync Locators',
|
|
13
|
+
'Sync Test Suites',
|
|
14
|
+
'Sync Test Cases',
|
|
15
|
+
] as const
|
|
16
|
+
import { expectPageHeading } from './helpers/ui'
|
|
17
|
+
|
|
18
|
+
test.describe('Settings sync @sync', () => {
|
|
19
|
+
test.beforeEach(async () => {
|
|
20
|
+
await resetE2eData()
|
|
21
|
+
await seedCoreData()
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
test.afterAll(async () => {
|
|
25
|
+
await disconnectPrisma()
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
for (const label of syncScriptLabels) {
|
|
29
|
+
test(`sync script ${label} completes`, async ({ page }) => {
|
|
30
|
+
test.setTimeout(120_000)
|
|
31
|
+
|
|
32
|
+
await page.goto('/settings')
|
|
33
|
+
await expectPageHeading(page, 'Settings')
|
|
34
|
+
await page.getByRole('button', { name: label, exact: true }).click()
|
|
35
|
+
await expect(page.getByText(/Sync completed|Sync failed/).first()).toBeVisible({ timeout: 90_000 })
|
|
36
|
+
await expect(page.getByText(/fatal|uncaught/i)).toHaveCount(0)
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
})
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { rmSync } from 'node:fs'
|
|
2
|
+
import { isAbsolute, resolve } from 'node:path'
|
|
3
|
+
import { spawn, spawnSync } from 'node:child_process'
|
|
4
|
+
|
|
5
|
+
const port = process.argv[2] ?? '3200'
|
|
6
|
+
const databaseUrl = process.env.DATABASE_URL ?? 'file:./e2e.db'
|
|
7
|
+
|
|
8
|
+
function sqlitePathFromDatabaseUrl(value) {
|
|
9
|
+
if (!value.startsWith('file:')) {
|
|
10
|
+
return null
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const sqlitePath = value.replace(/^file:/, '')
|
|
14
|
+
return isAbsolute(sqlitePath) ? sqlitePath : resolve(process.cwd(), 'prisma', sqlitePath)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function run(command, args) {
|
|
18
|
+
const result = spawnSync(command, args, {
|
|
19
|
+
cwd: process.cwd(),
|
|
20
|
+
stdio: 'inherit',
|
|
21
|
+
shell: false,
|
|
22
|
+
env: {
|
|
23
|
+
...process.env,
|
|
24
|
+
DATABASE_URL: databaseUrl,
|
|
25
|
+
},
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
if (result.status !== 0) {
|
|
29
|
+
process.exit(result.status ?? 1)
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const sqlitePath = sqlitePathFromDatabaseUrl(databaseUrl)
|
|
34
|
+
if (sqlitePath) {
|
|
35
|
+
rmSync(sqlitePath, { force: true })
|
|
36
|
+
rmSync(`${sqlitePath}-journal`, { force: true })
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
run(process.execPath, ['e2e/apply-migrations.mjs'])
|
|
40
|
+
|
|
41
|
+
const server = spawn('npx', ['next', 'start', '-p', port], {
|
|
42
|
+
cwd: process.cwd(),
|
|
43
|
+
stdio: 'inherit',
|
|
44
|
+
shell: process.platform === 'win32',
|
|
45
|
+
env: {
|
|
46
|
+
...process.env,
|
|
47
|
+
DATABASE_URL: databaseUrl,
|
|
48
|
+
ENVIRONMENT: 'local',
|
|
49
|
+
NEXT_TELEMETRY_DISABLED: '1',
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
server.on('exit', code => {
|
|
54
|
+
process.exit(code ?? 0)
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
for (const signal of ['SIGINT', 'SIGTERM']) {
|
|
58
|
+
process.on(signal, () => {
|
|
59
|
+
server.kill(signal)
|
|
60
|
+
})
|
|
61
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import nextCoreWebVitals from 'eslint-config-next/core-web-vitals'
|
|
2
|
-
import nextTypescript from 'eslint-config-next/typescript'
|
|
1
|
+
import nextCoreWebVitals from 'eslint-config-next/core-web-vitals'
|
|
2
|
+
import nextTypescript from 'eslint-config-next/typescript'
|
|
3
3
|
|
|
4
4
|
const eslintConfig = [
|
|
5
5
|
...nextCoreWebVitals,
|
|
@@ -15,6 +15,6 @@ const eslintConfig = [
|
|
|
15
15
|
'packages/create-appraisejs/templates/**/*',
|
|
16
16
|
],
|
|
17
17
|
},
|
|
18
|
-
]
|
|
18
|
+
]
|
|
19
19
|
|
|
20
|
-
export default eslintConfig
|
|
20
|
+
export default eslintConfig
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/// <reference types="next" />
|
|
2
|
-
/// <reference types="next/image-types/global" />
|
|
3
|
-
import "./.next/
|
|
4
|
-
|
|
5
|
-
// NOTE: This file should not be edited
|
|
6
|
-
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
|
1
|
+
/// <reference types="next" />
|
|
2
|
+
/// <reference types="next/image-types/global" />
|
|
3
|
+
import "./.next/types/routes.d.ts";
|
|
4
|
+
|
|
5
|
+
// NOTE: This file should not be edited
|
|
6
|
+
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appraise",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appraise",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.4.0",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@babel/parser": "^7.27.0",
|
|
12
12
|
"@babel/types": "^7.27.0",
|
|
@@ -35,6 +35,8 @@
|
|
|
35
35
|
"@uiw/react-codemirror": "^4.25.4",
|
|
36
36
|
"@xyflow/react": "^12.4.4",
|
|
37
37
|
"archiver": "^7.0.1",
|
|
38
|
+
"chai": "^6.2.2",
|
|
39
|
+
"chai-as-promised": "^8.0.2",
|
|
38
40
|
"class-variance-authority": "^0.7.1",
|
|
39
41
|
"clsx": "^2.1.1",
|
|
40
42
|
"cmdk": "^1.1.1",
|
|
@@ -55,6 +57,7 @@
|
|
|
55
57
|
"devDependencies": {
|
|
56
58
|
"@babel/traverse": "^7.28.5",
|
|
57
59
|
"@cucumber/cucumber": "^12.8.3",
|
|
60
|
+
"@playwright/test": "^1.58.0",
|
|
58
61
|
"@testing-library/dom": "^10.4.1",
|
|
59
62
|
"@testing-library/jest-dom": "^6.9.1",
|
|
60
63
|
"@testing-library/react": "^16.3.2",
|
|
@@ -3012,9 +3015,6 @@
|
|
|
3012
3015
|
"cpu": [
|
|
3013
3016
|
"arm64"
|
|
3014
3017
|
],
|
|
3015
|
-
"libc": [
|
|
3016
|
-
"glibc"
|
|
3017
|
-
],
|
|
3018
3018
|
"license": "MIT",
|
|
3019
3019
|
"optional": true,
|
|
3020
3020
|
"os": [
|
|
@@ -3031,9 +3031,6 @@
|
|
|
3031
3031
|
"cpu": [
|
|
3032
3032
|
"arm64"
|
|
3033
3033
|
],
|
|
3034
|
-
"libc": [
|
|
3035
|
-
"musl"
|
|
3036
|
-
],
|
|
3037
3034
|
"license": "MIT",
|
|
3038
3035
|
"optional": true,
|
|
3039
3036
|
"os": [
|
|
@@ -3050,9 +3047,6 @@
|
|
|
3050
3047
|
"cpu": [
|
|
3051
3048
|
"x64"
|
|
3052
3049
|
],
|
|
3053
|
-
"libc": [
|
|
3054
|
-
"glibc"
|
|
3055
|
-
],
|
|
3056
3050
|
"license": "MIT",
|
|
3057
3051
|
"optional": true,
|
|
3058
3052
|
"os": [
|
|
@@ -3069,9 +3063,6 @@
|
|
|
3069
3063
|
"cpu": [
|
|
3070
3064
|
"x64"
|
|
3071
3065
|
],
|
|
3072
|
-
"libc": [
|
|
3073
|
-
"musl"
|
|
3074
|
-
],
|
|
3075
3066
|
"license": "MIT",
|
|
3076
3067
|
"optional": true,
|
|
3077
3068
|
"os": [
|
|
@@ -3288,9 +3279,6 @@
|
|
|
3288
3279
|
"arm64"
|
|
3289
3280
|
],
|
|
3290
3281
|
"dev": true,
|
|
3291
|
-
"libc": [
|
|
3292
|
-
"glibc"
|
|
3293
|
-
],
|
|
3294
3282
|
"license": "MIT",
|
|
3295
3283
|
"optional": true,
|
|
3296
3284
|
"os": [
|
|
@@ -3308,9 +3296,6 @@
|
|
|
3308
3296
|
"arm64"
|
|
3309
3297
|
],
|
|
3310
3298
|
"dev": true,
|
|
3311
|
-
"libc": [
|
|
3312
|
-
"musl"
|
|
3313
|
-
],
|
|
3314
3299
|
"license": "MIT",
|
|
3315
3300
|
"optional": true,
|
|
3316
3301
|
"os": [
|
|
@@ -3328,9 +3313,6 @@
|
|
|
3328
3313
|
"ppc64"
|
|
3329
3314
|
],
|
|
3330
3315
|
"dev": true,
|
|
3331
|
-
"libc": [
|
|
3332
|
-
"glibc"
|
|
3333
|
-
],
|
|
3334
3316
|
"license": "MIT",
|
|
3335
3317
|
"optional": true,
|
|
3336
3318
|
"os": [
|
|
@@ -3348,9 +3330,6 @@
|
|
|
3348
3330
|
"riscv64"
|
|
3349
3331
|
],
|
|
3350
3332
|
"dev": true,
|
|
3351
|
-
"libc": [
|
|
3352
|
-
"glibc"
|
|
3353
|
-
],
|
|
3354
3333
|
"license": "MIT",
|
|
3355
3334
|
"optional": true,
|
|
3356
3335
|
"os": [
|
|
@@ -3368,9 +3347,6 @@
|
|
|
3368
3347
|
"riscv64"
|
|
3369
3348
|
],
|
|
3370
3349
|
"dev": true,
|
|
3371
|
-
"libc": [
|
|
3372
|
-
"musl"
|
|
3373
|
-
],
|
|
3374
3350
|
"license": "MIT",
|
|
3375
3351
|
"optional": true,
|
|
3376
3352
|
"os": [
|
|
@@ -3388,9 +3364,6 @@
|
|
|
3388
3364
|
"s390x"
|
|
3389
3365
|
],
|
|
3390
3366
|
"dev": true,
|
|
3391
|
-
"libc": [
|
|
3392
|
-
"glibc"
|
|
3393
|
-
],
|
|
3394
3367
|
"license": "MIT",
|
|
3395
3368
|
"optional": true,
|
|
3396
3369
|
"os": [
|
|
@@ -3408,9 +3381,6 @@
|
|
|
3408
3381
|
"x64"
|
|
3409
3382
|
],
|
|
3410
3383
|
"dev": true,
|
|
3411
|
-
"libc": [
|
|
3412
|
-
"glibc"
|
|
3413
|
-
],
|
|
3414
3384
|
"license": "MIT",
|
|
3415
3385
|
"optional": true,
|
|
3416
3386
|
"os": [
|
|
@@ -3428,9 +3398,6 @@
|
|
|
3428
3398
|
"x64"
|
|
3429
3399
|
],
|
|
3430
3400
|
"dev": true,
|
|
3431
|
-
"libc": [
|
|
3432
|
-
"musl"
|
|
3433
|
-
],
|
|
3434
3401
|
"license": "MIT",
|
|
3435
3402
|
"optional": true,
|
|
3436
3403
|
"os": [
|
|
@@ -3666,9 +3633,6 @@
|
|
|
3666
3633
|
"arm64"
|
|
3667
3634
|
],
|
|
3668
3635
|
"dev": true,
|
|
3669
|
-
"libc": [
|
|
3670
|
-
"glibc"
|
|
3671
|
-
],
|
|
3672
3636
|
"license": "MIT",
|
|
3673
3637
|
"optional": true,
|
|
3674
3638
|
"os": [
|
|
@@ -3683,9 +3647,6 @@
|
|
|
3683
3647
|
"arm64"
|
|
3684
3648
|
],
|
|
3685
3649
|
"dev": true,
|
|
3686
|
-
"libc": [
|
|
3687
|
-
"musl"
|
|
3688
|
-
],
|
|
3689
3650
|
"license": "MIT",
|
|
3690
3651
|
"optional": true,
|
|
3691
3652
|
"os": [
|
|
@@ -3700,9 +3661,6 @@
|
|
|
3700
3661
|
"ppc64"
|
|
3701
3662
|
],
|
|
3702
3663
|
"dev": true,
|
|
3703
|
-
"libc": [
|
|
3704
|
-
"glibc"
|
|
3705
|
-
],
|
|
3706
3664
|
"license": "MIT",
|
|
3707
3665
|
"optional": true,
|
|
3708
3666
|
"os": [
|
|
@@ -3717,9 +3675,6 @@
|
|
|
3717
3675
|
"riscv64"
|
|
3718
3676
|
],
|
|
3719
3677
|
"dev": true,
|
|
3720
|
-
"libc": [
|
|
3721
|
-
"glibc"
|
|
3722
|
-
],
|
|
3723
3678
|
"license": "MIT",
|
|
3724
3679
|
"optional": true,
|
|
3725
3680
|
"os": [
|
|
@@ -3734,9 +3689,6 @@
|
|
|
3734
3689
|
"riscv64"
|
|
3735
3690
|
],
|
|
3736
3691
|
"dev": true,
|
|
3737
|
-
"libc": [
|
|
3738
|
-
"musl"
|
|
3739
|
-
],
|
|
3740
3692
|
"license": "MIT",
|
|
3741
3693
|
"optional": true,
|
|
3742
3694
|
"os": [
|
|
@@ -3751,9 +3703,6 @@
|
|
|
3751
3703
|
"s390x"
|
|
3752
3704
|
],
|
|
3753
3705
|
"dev": true,
|
|
3754
|
-
"libc": [
|
|
3755
|
-
"glibc"
|
|
3756
|
-
],
|
|
3757
3706
|
"license": "MIT",
|
|
3758
3707
|
"optional": true,
|
|
3759
3708
|
"os": [
|
|
@@ -3768,9 +3717,6 @@
|
|
|
3768
3717
|
"x64"
|
|
3769
3718
|
],
|
|
3770
3719
|
"dev": true,
|
|
3771
|
-
"libc": [
|
|
3772
|
-
"glibc"
|
|
3773
|
-
],
|
|
3774
3720
|
"license": "MIT",
|
|
3775
3721
|
"optional": true,
|
|
3776
3722
|
"os": [
|
|
@@ -3785,9 +3731,6 @@
|
|
|
3785
3731
|
"x64"
|
|
3786
3732
|
],
|
|
3787
3733
|
"dev": true,
|
|
3788
|
-
"libc": [
|
|
3789
|
-
"musl"
|
|
3790
|
-
],
|
|
3791
3734
|
"license": "MIT",
|
|
3792
3735
|
"optional": true,
|
|
3793
3736
|
"os": [
|
|
@@ -3994,9 +3937,6 @@
|
|
|
3994
3937
|
"arm64"
|
|
3995
3938
|
],
|
|
3996
3939
|
"dev": true,
|
|
3997
|
-
"libc": [
|
|
3998
|
-
"glibc"
|
|
3999
|
-
],
|
|
4000
3940
|
"license": "MIT",
|
|
4001
3941
|
"optional": true,
|
|
4002
3942
|
"os": [
|
|
@@ -4014,9 +3954,6 @@
|
|
|
4014
3954
|
"arm64"
|
|
4015
3955
|
],
|
|
4016
3956
|
"dev": true,
|
|
4017
|
-
"libc": [
|
|
4018
|
-
"musl"
|
|
4019
|
-
],
|
|
4020
3957
|
"license": "MIT",
|
|
4021
3958
|
"optional": true,
|
|
4022
3959
|
"os": [
|
|
@@ -4034,9 +3971,6 @@
|
|
|
4034
3971
|
"ppc64"
|
|
4035
3972
|
],
|
|
4036
3973
|
"dev": true,
|
|
4037
|
-
"libc": [
|
|
4038
|
-
"glibc"
|
|
4039
|
-
],
|
|
4040
3974
|
"license": "MIT",
|
|
4041
3975
|
"optional": true,
|
|
4042
3976
|
"os": [
|
|
@@ -4054,9 +3988,6 @@
|
|
|
4054
3988
|
"riscv64"
|
|
4055
3989
|
],
|
|
4056
3990
|
"dev": true,
|
|
4057
|
-
"libc": [
|
|
4058
|
-
"glibc"
|
|
4059
|
-
],
|
|
4060
3991
|
"license": "MIT",
|
|
4061
3992
|
"optional": true,
|
|
4062
3993
|
"os": [
|
|
@@ -4074,9 +4005,6 @@
|
|
|
4074
4005
|
"riscv64"
|
|
4075
4006
|
],
|
|
4076
4007
|
"dev": true,
|
|
4077
|
-
"libc": [
|
|
4078
|
-
"musl"
|
|
4079
|
-
],
|
|
4080
4008
|
"license": "MIT",
|
|
4081
4009
|
"optional": true,
|
|
4082
4010
|
"os": [
|
|
@@ -4094,9 +4022,6 @@
|
|
|
4094
4022
|
"s390x"
|
|
4095
4023
|
],
|
|
4096
4024
|
"dev": true,
|
|
4097
|
-
"libc": [
|
|
4098
|
-
"glibc"
|
|
4099
|
-
],
|
|
4100
4025
|
"license": "MIT",
|
|
4101
4026
|
"optional": true,
|
|
4102
4027
|
"os": [
|
|
@@ -4114,9 +4039,6 @@
|
|
|
4114
4039
|
"x64"
|
|
4115
4040
|
],
|
|
4116
4041
|
"dev": true,
|
|
4117
|
-
"libc": [
|
|
4118
|
-
"glibc"
|
|
4119
|
-
],
|
|
4120
4042
|
"license": "MIT",
|
|
4121
4043
|
"optional": true,
|
|
4122
4044
|
"os": [
|
|
@@ -4134,9 +4056,6 @@
|
|
|
4134
4056
|
"x64"
|
|
4135
4057
|
],
|
|
4136
4058
|
"dev": true,
|
|
4137
|
-
"libc": [
|
|
4138
|
-
"musl"
|
|
4139
|
-
],
|
|
4140
4059
|
"license": "MIT",
|
|
4141
4060
|
"optional": true,
|
|
4142
4061
|
"os": [
|
|
@@ -4224,6 +4143,22 @@
|
|
|
4224
4143
|
"node": ">=14"
|
|
4225
4144
|
}
|
|
4226
4145
|
},
|
|
4146
|
+
"node_modules/@playwright/test": {
|
|
4147
|
+
"version": "1.58.0",
|
|
4148
|
+
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.58.0.tgz",
|
|
4149
|
+
"integrity": "sha512-fWza+Lpbj6SkQKCrU6si4iu+fD2dD3gxNHFhUPxsfXBPhnv3rRSQVd0NtBUT9Z/RhF/boCBcuUaMUSTRTopjZg==",
|
|
4150
|
+
"dev": true,
|
|
4151
|
+
"license": "Apache-2.0",
|
|
4152
|
+
"dependencies": {
|
|
4153
|
+
"playwright": "1.58.0"
|
|
4154
|
+
},
|
|
4155
|
+
"bin": {
|
|
4156
|
+
"playwright": "cli.js"
|
|
4157
|
+
},
|
|
4158
|
+
"engines": {
|
|
4159
|
+
"node": ">=18"
|
|
4160
|
+
}
|
|
4161
|
+
},
|
|
4227
4162
|
"node_modules/@prisma/client": {
|
|
4228
4163
|
"version": "6.2.1",
|
|
4229
4164
|
"resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.2.1.tgz",
|
|
@@ -4246,14 +4181,14 @@
|
|
|
4246
4181
|
"version": "6.2.1",
|
|
4247
4182
|
"resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.2.1.tgz",
|
|
4248
4183
|
"integrity": "sha512-0KItvt39CmQxWkEw6oW+RQMD6RZ43SJWgEUnzxN8VC9ixMysa7MzZCZf22LCK5DSooiLNf8vM3LHZm/I/Ni7bQ==",
|
|
4249
|
-
"
|
|
4184
|
+
"dev": true,
|
|
4250
4185
|
"license": "Apache-2.0"
|
|
4251
4186
|
},
|
|
4252
4187
|
"node_modules/@prisma/engines": {
|
|
4253
4188
|
"version": "6.2.1",
|
|
4254
4189
|
"resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.2.1.tgz",
|
|
4255
4190
|
"integrity": "sha512-lTBNLJBCxVT9iP5I7Mn6GlwqAxTpS5qMERrhebkUhtXpGVkBNd/jHnNJBZQW4kGDCKaQg/r2vlJYkzOHnAb7ZQ==",
|
|
4256
|
-
"
|
|
4191
|
+
"dev": true,
|
|
4257
4192
|
"hasInstallScript": true,
|
|
4258
4193
|
"license": "Apache-2.0",
|
|
4259
4194
|
"dependencies": {
|
|
@@ -4267,14 +4202,14 @@
|
|
|
4267
4202
|
"version": "6.2.0-14.4123509d24aa4dede1e864b46351bf2790323b69",
|
|
4268
4203
|
"resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.2.0-14.4123509d24aa4dede1e864b46351bf2790323b69.tgz",
|
|
4269
4204
|
"integrity": "sha512-7tw1qs/9GWSX6qbZs4He09TOTg1ff3gYsB3ubaVNN0Pp1zLm9NC5C5MZShtkz7TyQjx7blhpknB7HwEhlG+PrQ==",
|
|
4270
|
-
"
|
|
4205
|
+
"dev": true,
|
|
4271
4206
|
"license": "Apache-2.0"
|
|
4272
4207
|
},
|
|
4273
4208
|
"node_modules/@prisma/fetch-engine": {
|
|
4274
4209
|
"version": "6.2.1",
|
|
4275
4210
|
"resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.2.1.tgz",
|
|
4276
4211
|
"integrity": "sha512-OO7O9d6Mrx2F9i+Gu1LW+DGXXyUFkP7OE5aj9iBfA/2jjDXEJjqa9X0ZmM9NZNo8Uo7ql6zKm6yjDcbAcRrw1A==",
|
|
4277
|
-
"
|
|
4212
|
+
"dev": true,
|
|
4278
4213
|
"license": "Apache-2.0",
|
|
4279
4214
|
"dependencies": {
|
|
4280
4215
|
"@prisma/debug": "6.2.1",
|
|
@@ -4286,7 +4221,7 @@
|
|
|
4286
4221
|
"version": "6.2.1",
|
|
4287
4222
|
"resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.2.1.tgz",
|
|
4288
4223
|
"integrity": "sha512-zp53yvroPl5m5/gXYLz7tGCNG33bhG+JYCm74ohxOq1pPnrL47VQYFfF3RbTZ7TzGWCrR3EtoiYMywUBw7UK6Q==",
|
|
4289
|
-
"
|
|
4224
|
+
"dev": true,
|
|
4290
4225
|
"license": "Apache-2.0",
|
|
4291
4226
|
"dependencies": {
|
|
4292
4227
|
"@prisma/debug": "6.2.1"
|
|
@@ -6313,7 +6248,7 @@
|
|
|
6313
6248
|
"version": "19.2.7",
|
|
6314
6249
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz",
|
|
6315
6250
|
"integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==",
|
|
6316
|
-
"
|
|
6251
|
+
"dev": true,
|
|
6317
6252
|
"license": "MIT",
|
|
6318
6253
|
"dependencies": {
|
|
6319
6254
|
"csstype": "^3.2.2"
|
|
@@ -6323,7 +6258,7 @@
|
|
|
6323
6258
|
"version": "19.2.3",
|
|
6324
6259
|
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz",
|
|
6325
6260
|
"integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==",
|
|
6326
|
-
"
|
|
6261
|
+
"dev": true,
|
|
6327
6262
|
"license": "MIT",
|
|
6328
6263
|
"peerDependencies": {
|
|
6329
6264
|
"@types/react": "^19.2.0"
|
|
@@ -6710,16 +6645,6 @@
|
|
|
6710
6645
|
"url": "https://opencollective.com/vitest"
|
|
6711
6646
|
}
|
|
6712
6647
|
},
|
|
6713
|
-
"node_modules/@vitest/expect/node_modules/chai": {
|
|
6714
|
-
"version": "6.2.2",
|
|
6715
|
-
"resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz",
|
|
6716
|
-
"integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==",
|
|
6717
|
-
"dev": true,
|
|
6718
|
-
"license": "MIT",
|
|
6719
|
-
"engines": {
|
|
6720
|
-
"node": ">=18"
|
|
6721
|
-
}
|
|
6722
|
-
},
|
|
6723
6648
|
"node_modules/@vitest/pretty-format": {
|
|
6724
6649
|
"version": "4.1.4",
|
|
6725
6650
|
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.4.tgz",
|
|
@@ -7666,6 +7591,27 @@
|
|
|
7666
7591
|
"upper-case-first": "^2.0.2"
|
|
7667
7592
|
}
|
|
7668
7593
|
},
|
|
7594
|
+
"node_modules/chai": {
|
|
7595
|
+
"version": "6.2.2",
|
|
7596
|
+
"resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz",
|
|
7597
|
+
"integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==",
|
|
7598
|
+
"license": "MIT",
|
|
7599
|
+
"engines": {
|
|
7600
|
+
"node": ">=18"
|
|
7601
|
+
}
|
|
7602
|
+
},
|
|
7603
|
+
"node_modules/chai-as-promised": {
|
|
7604
|
+
"version": "8.0.2",
|
|
7605
|
+
"resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-8.0.2.tgz",
|
|
7606
|
+
"integrity": "sha512-1GadL+sEJVLzDjcawPM4kjfnL+p/9vrxiEUonowKOAzvVg0PixJUdtuDzdkDeQhK3zfOE76GqGkZIQ7/Adcrqw==",
|
|
7607
|
+
"license": "MIT",
|
|
7608
|
+
"dependencies": {
|
|
7609
|
+
"check-error": "^2.1.1"
|
|
7610
|
+
},
|
|
7611
|
+
"peerDependencies": {
|
|
7612
|
+
"chai": ">= 2.1.2 < 7"
|
|
7613
|
+
}
|
|
7614
|
+
},
|
|
7669
7615
|
"node_modules/chalk": {
|
|
7670
7616
|
"version": "4.1.2",
|
|
7671
7617
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
|
@@ -7683,6 +7629,15 @@
|
|
|
7683
7629
|
"url": "https://github.com/chalk/chalk?sponsor=1"
|
|
7684
7630
|
}
|
|
7685
7631
|
},
|
|
7632
|
+
"node_modules/check-error": {
|
|
7633
|
+
"version": "2.1.3",
|
|
7634
|
+
"resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz",
|
|
7635
|
+
"integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==",
|
|
7636
|
+
"license": "MIT",
|
|
7637
|
+
"engines": {
|
|
7638
|
+
"node": ">= 16"
|
|
7639
|
+
}
|
|
7640
|
+
},
|
|
7686
7641
|
"node_modules/chokidar": {
|
|
7687
7642
|
"version": "3.6.0",
|
|
7688
7643
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
|
|
@@ -9867,6 +9822,7 @@
|
|
|
9867
9822
|
"version": "2.3.3",
|
|
9868
9823
|
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
|
9869
9824
|
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
|
9825
|
+
"dev": true,
|
|
9870
9826
|
"hasInstallScript": true,
|
|
9871
9827
|
"license": "MIT",
|
|
9872
9828
|
"optional": true,
|
|
@@ -13139,7 +13095,7 @@
|
|
|
13139
13095
|
"version": "6.2.1",
|
|
13140
13096
|
"resolved": "https://registry.npmjs.org/prisma/-/prisma-6.2.1.tgz",
|
|
13141
13097
|
"integrity": "sha512-hhyM0H13pQleQ+br4CkzGizS5I0oInoeTw3JfLw1BRZduBSQxPILlJLwi+46wZzj9Je7ndyQEMGw/n5cN2fknA==",
|
|
13142
|
-
"
|
|
13098
|
+
"dev": true,
|
|
13143
13099
|
"hasInstallScript": true,
|
|
13144
13100
|
"license": "Apache-2.0",
|
|
13145
13101
|
"dependencies": {
|