create-appraisejs 0.1.6 → 0.1.8-alpha
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 +45 -45
- package/dist/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/dist/copy-template.d.ts +2 -1
- package/dist/copy-template.d.ts.map +1 -1
- package/dist/copy-template.js +10 -7
- package/dist/copy-template.js.map +1 -1
- package/dist/copy-template.test.js +19 -0
- package/dist/copy-template.test.js.map +1 -1
- package/package.json +69 -67
- package/templates/default/.vscode/settings.json +5 -0
- package/templates/default/appraisejs.config.json +1 -1
- package/templates/default/components.json +24 -24
- package/templates/default/cucumber.mjs +16 -0
- package/templates/default/eslint.config.mjs +15 -15
- package/templates/default/next.config.ts +13 -7
- package/templates/default/package-lock.json +13732 -14321
- package/templates/default/package.json +11 -9
- package/templates/default/postcss.config.mjs +8 -8
- package/templates/default/prisma/migrations/20251104113456_add_type_for_template_step_groups/migration.sql +16 -16
- package/templates/default/prisma/migrations/20251104170946_add_tags_to_test_suite_and_test_case/migration.sql +27 -27
- package/templates/default/prisma/migrations/20251112190024_add_cascade_delete_to_test_run_test_case/migration.sql +17 -17
- package/templates/default/prisma/migrations/20251113181100_add_test_run_log/migration.sql +12 -12
- package/templates/default/prisma/migrations/20251119191838_add_tag_type/migration.sql +28 -28
- package/templates/default/prisma/migrations/20251121164059_add_conflict_resolution/migration.sql +12 -12
- package/templates/default/prisma/migrations/20251223183400_add_report_model_to_db_schema/migration.sql +10 -10
- package/templates/default/prisma/migrations/20251223183637_add_report_test_case_entity_for_storing_test_results_for_individual_test_cases/migration.sql +10 -10
- package/templates/default/prisma/migrations/20251224083549_add_comprehensive_report_storage/migration.sql +108 -108
- package/templates/default/prisma/migrations/20251229194422_migrate_duration_to_string/migration.sql +55 -55
- package/templates/default/prisma/migrations/20251230124637_add_unique_constraint_to_test_run_name/migration.sql +27 -27
- package/templates/default/prisma/migrations/20260115094436_add_dashboard_metrics/migration.sql +59 -59
- package/templates/default/prisma/migrations/20260127172022_add_cascade_delete_to_step_parameters/migration.sql +34 -34
- package/templates/default/prisma/schema.prisma +554 -554
- package/templates/default/scripts/regenerate-features.ts +94 -94
- package/templates/default/scripts/setup-env.ts +19 -19
- package/templates/default/scripts/sync-all.ts +341 -341
- package/templates/default/scripts/sync-appraise-base-template.ts +52 -2
- package/templates/default/scripts/sync-environments.ts +323 -323
- package/templates/default/scripts/sync-locator-groups.ts +413 -413
- package/templates/default/scripts/sync-locators.ts +402 -402
- package/templates/default/scripts/sync-modules.ts +349 -349
- package/templates/default/scripts/sync-tags.ts +292 -292
- package/templates/default/scripts/sync-template-step-groups.ts +399 -399
- package/templates/default/scripts/sync-template-steps.ts +806 -806
- package/templates/default/scripts/sync-test-cases.ts +905 -905
- package/templates/default/scripts/sync-test-suites.ts +411 -411
- package/templates/default/src/actions/conflict/conflict.action.ts +33 -33
- package/templates/default/src/actions/dashboard/dashboard-actions.ts +240 -240
- package/templates/default/src/actions/environments/environment-actions.ts +205 -205
- package/templates/default/src/actions/locator/locator-actions.ts +547 -547
- package/templates/default/src/actions/locator-groups/locator-group-actions.ts +344 -344
- package/templates/default/src/actions/modules/module-actions.ts +133 -133
- package/templates/default/src/actions/reports/report-actions.ts +613 -613
- package/templates/default/src/actions/review/review-actions.ts +147 -147
- package/templates/default/src/actions/tags/tag-actions.ts +104 -104
- package/templates/default/src/actions/template-step/template-step-actions.ts +332 -332
- package/templates/default/src/actions/template-step-group/template-step-group-actions.ts +278 -278
- package/templates/default/src/actions/template-test-case/template-test-case-actions.ts +238 -238
- package/templates/default/src/actions/test-case/test-case-actions.ts +419 -419
- package/templates/default/src/actions/test-run/test-run-actions.ts +1185 -1185
- package/templates/default/src/actions/test-suite/test-suite-actions.ts +253 -253
- package/templates/default/src/actions/user/user-actions.ts +13 -13
- package/templates/default/src/app/(base)/environments/create/page.tsx +28 -28
- package/templates/default/src/app/(base)/environments/environment-form.tsx +219 -219
- package/templates/default/src/app/(base)/environments/environment-table-columns.tsx +96 -96
- package/templates/default/src/app/(base)/environments/environment-table.tsx +24 -24
- package/templates/default/src/app/(base)/environments/modify/[id]/page.tsx +46 -46
- package/templates/default/src/app/(base)/environments/page.tsx +59 -59
- package/templates/default/src/app/(base)/layout.tsx +10 -10
- package/templates/default/src/app/(base)/locator-groups/create/page.tsx +44 -44
- package/templates/default/src/app/(base)/locator-groups/locator-group-form.tsx +215 -215
- package/templates/default/src/app/(base)/locator-groups/locator-group-table-columns.tsx +77 -77
- package/templates/default/src/app/(base)/locator-groups/locator-group-table.tsx +28 -28
- package/templates/default/src/app/(base)/locator-groups/modify/[id]/page.tsx +46 -46
- package/templates/default/src/app/(base)/locator-groups/page.tsx +61 -61
- package/templates/default/src/app/(base)/locators/create/page.tsx +38 -38
- package/templates/default/src/app/(base)/locators/locator-form.tsx +163 -163
- package/templates/default/src/app/(base)/locators/locator-table-columns.tsx +73 -90
- package/templates/default/src/app/(base)/locators/locator-table.tsx +28 -28
- package/templates/default/src/app/(base)/locators/modify/[id]/page.tsx +45 -45
- package/templates/default/src/app/(base)/locators/page.tsx +65 -65
- package/templates/default/src/app/(base)/locators/sync-locators-button.tsx +66 -66
- package/templates/default/src/app/(base)/modules/create/page.tsx +34 -34
- package/templates/default/src/app/(base)/modules/modify/[id]/page.tsx +46 -46
- package/templates/default/src/app/(base)/modules/module-form.tsx +126 -126
- package/templates/default/src/app/(base)/modules/module-table-columns.tsx +85 -85
- package/templates/default/src/app/(base)/modules/module-table.tsx +24 -24
- package/templates/default/src/app/(base)/modules/page.tsx +59 -59
- package/templates/default/src/app/(base)/reports/[id]/page.tsx +517 -517
- package/templates/default/src/app/(base)/reports/duration-chart.tsx +33 -33
- package/templates/default/src/app/(base)/reports/feature-chart.tsx +78 -78
- package/templates/default/src/app/(base)/reports/overview-chart.tsx +46 -46
- package/templates/default/src/app/(base)/reports/page.tsx +98 -98
- package/templates/default/src/app/(base)/reports/report-metric-card.tsx +16 -16
- package/templates/default/src/app/(base)/reports/report-table-columns.tsx +189 -189
- package/templates/default/src/app/(base)/reports/report-table.tsx +72 -72
- package/templates/default/src/app/(base)/reports/report-view-table-columns.tsx +131 -131
- package/templates/default/src/app/(base)/reports/report-view-table.tsx +82 -82
- package/templates/default/src/app/(base)/reports/test-cases/page.tsx +42 -42
- package/templates/default/src/app/(base)/reports/test-cases/test-cases-metric-table-columns.tsx +115 -115
- package/templates/default/src/app/(base)/reports/test-cases/test-cases-metric-table.tsx +27 -27
- package/templates/default/src/app/(base)/reports/test-suites/page.tsx +42 -42
- package/templates/default/src/app/(base)/reports/test-suites/test-suites-metric-table-columns.tsx +79 -79
- package/templates/default/src/app/(base)/reports/test-suites/test-suites-metric-table.tsx +27 -27
- package/templates/default/src/app/(base)/reports/view-logs-button.tsx +60 -60
- package/templates/default/src/app/(base)/reviews/create/page.tsx +26 -26
- package/templates/default/src/app/(base)/reviews/created-reviews-table.tsx +15 -15
- package/templates/default/src/app/(base)/reviews/modify/[id]/page.tsx +26 -26
- package/templates/default/src/app/(base)/reviews/page.tsx +26 -26
- package/templates/default/src/app/(base)/reviews/review/[id]/page.tsx +26 -26
- package/templates/default/src/app/(base)/reviews/review-form.tsx +11 -11
- package/templates/default/src/app/(base)/reviews/review-table-by-creator-columns.tsx +9 -9
- package/templates/default/src/app/(base)/reviews/review-table-by-reviewer-columns.tsx +9 -9
- package/templates/default/src/app/(base)/reviews/reviewer-reviews-table.tsx +15 -15
- package/templates/default/src/app/(base)/tags/create/page.tsx +39 -39
- package/templates/default/src/app/(base)/tags/modify/[id]/page.tsx +50 -50
- package/templates/default/src/app/(base)/tags/page.tsx +58 -58
- package/templates/default/src/app/(base)/tags/tag-form.tsx +147 -147
- package/templates/default/src/app/(base)/tags/tag-table-columns.tsx +63 -63
- package/templates/default/src/app/(base)/tags/tag-table.tsx +29 -29
- package/templates/default/src/app/(base)/template-step-groups/create/page.tsx +28 -28
- package/templates/default/src/app/(base)/template-step-groups/modify/[id]/page.tsx +45 -45
- package/templates/default/src/app/(base)/template-step-groups/page.tsx +60 -60
- package/templates/default/src/app/(base)/template-step-groups/template-step-group-form.tsx +167 -167
- package/templates/default/src/app/(base)/template-step-groups/template-step-group-table-columns.tsx +89 -89
- package/templates/default/src/app/(base)/template-step-groups/template-step-group-table.tsx +32 -32
- package/templates/default/src/app/(base)/template-steps/create/page.tsx +37 -37
- package/templates/default/src/app/(base)/template-steps/modify/[id]/page.tsx +49 -49
- package/templates/default/src/app/(base)/template-steps/page.tsx +59 -59
- package/templates/default/src/app/(base)/template-steps/paramChip.tsx +213 -213
- package/templates/default/src/app/(base)/template-steps/template-step-form.tsx +384 -384
- package/templates/default/src/app/(base)/template-steps/template-step-table-columns.tsx +158 -158
- package/templates/default/src/app/(base)/template-steps/template-step-table.tsx +24 -24
- package/templates/default/src/app/(base)/template-test-cases/create/page.tsx +56 -56
- package/templates/default/src/app/(base)/template-test-cases/modify/[id]/page.tsx +89 -89
- package/templates/default/src/app/(base)/template-test-cases/page.tsx +58 -58
- package/templates/default/src/app/(base)/template-test-cases/template-test-case-flow.tsx +84 -84
- package/templates/default/src/app/(base)/template-test-cases/template-test-case-form.tsx +262 -262
- package/templates/default/src/app/(base)/template-test-cases/template-test-case-table-columns.tsx +76 -76
- package/templates/default/src/app/(base)/template-test-cases/template-test-case-table.tsx +32 -32
- package/templates/default/src/app/(base)/test-cases/create/page.tsx +76 -76
- package/templates/default/src/app/(base)/test-cases/create-from-template/generate/[id]/page.tsx +96 -96
- package/templates/default/src/app/(base)/test-cases/create-from-template/page.tsx +38 -38
- package/templates/default/src/app/(base)/test-cases/create-from-template/template-selection-form.tsx +73 -73
- package/templates/default/src/app/(base)/test-cases/modify/[id]/page.tsx +106 -106
- package/templates/default/src/app/(base)/test-cases/page.tsx +60 -60
- package/templates/default/src/app/(base)/test-cases/test-case-flow.tsx +82 -82
- package/templates/default/src/app/(base)/test-cases/test-case-form.tsx +395 -395
- package/templates/default/src/app/(base)/test-cases/test-case-table-columns.tsx +90 -90
- package/templates/default/src/app/(base)/test-cases/test-case-table.tsx +35 -35
- package/templates/default/src/app/(base)/test-runs/[id]/page.tsx +56 -56
- package/templates/default/src/app/(base)/test-runs/create/page.tsx +47 -47
- package/templates/default/src/app/(base)/test-runs/page.tsx +60 -60
- package/templates/default/src/app/(base)/test-runs/test-run-form.tsx +508 -512
- package/templates/default/src/app/(base)/test-runs/test-run-table-columns.tsx +229 -229
- package/templates/default/src/app/(base)/test-runs/test-run-table.tsx +127 -127
- package/templates/default/src/app/(base)/test-suites/create/page.tsx +45 -45
- package/templates/default/src/app/(base)/test-suites/modify/[id]/page.tsx +55 -55
- package/templates/default/src/app/(base)/test-suites/page.tsx +82 -82
- package/templates/default/src/app/(base)/test-suites/test-suite-form.tsx +269 -269
- package/templates/default/src/app/(base)/test-suites/test-suite-table-columns.tsx +97 -97
- package/templates/default/src/app/(base)/test-suites/test-suite-table.tsx +29 -29
- package/templates/default/src/app/(dashboard-components)/app-drawer.tsx +187 -187
- package/templates/default/src/app/(dashboard-components)/data-card-grid.tsx +12 -12
- package/templates/default/src/app/(dashboard-components)/data-card.tsx +26 -26
- package/templates/default/src/app/(dashboard-components)/execution-health-panel.tsx +56 -56
- package/templates/default/src/app/(dashboard-components)/ongoing-test-runs-card.tsx +87 -87
- package/templates/default/src/app/(dashboard-components)/quick-actions-drawer.tsx +44 -44
- package/templates/default/src/app/api/test-runs/[runId]/download/route.ts +133 -133
- package/templates/default/src/app/api/test-runs/[runId]/logs/route.ts +420 -420
- package/templates/default/src/app/api/test-runs/[runId]/trace/[testCaseId]/route.ts +146 -146
- package/templates/default/src/app/globals.css +147 -147
- package/templates/default/src/app/layout.tsx +171 -171
- package/templates/default/src/app/page.tsx +64 -64
- package/templates/default/src/assets/icons/empty-tube.tsx +23 -23
- package/templates/default/src/assets/icons/tube-plus.tsx +29 -29
- package/templates/default/src/components/base-node.tsx +21 -21
- package/templates/default/src/components/chart/pie-chart.tsx +73 -73
- package/templates/default/src/components/data-extraction/locator-inspector.tsx +460 -460
- package/templates/default/src/components/data-state/empty-state.tsx +40 -40
- package/templates/default/src/components/data-visualization/info-card.tsx +70 -70
- package/templates/default/src/components/data-visualization/info-grid.tsx +22 -22
- package/templates/default/src/components/devtools/providers.tsx +19 -13
- package/templates/default/src/components/diagram/button-edge.tsx +54 -54
- package/templates/default/src/components/diagram/dynamic-parameters.tsx +438 -438
- package/templates/default/src/components/diagram/edit-header-option.tsx +36 -36
- package/templates/default/src/components/diagram/flow-diagram.tsx +470 -470
- package/templates/default/src/components/diagram/node-form.tsx +262 -262
- package/templates/default/src/components/diagram/options-header-node.tsx +57 -57
- package/templates/default/src/components/diagram/template-step-combobox.tsx +155 -155
- package/templates/default/src/components/form/error-message.tsx +7 -7
- package/templates/default/src/components/kokonutui/smooth-tab.tsx +453 -453
- package/templates/default/src/components/loading-skeleton/data-table/data-table-skeleton.tsx +30 -30
- package/templates/default/src/components/loading-skeleton/form/button-skeleton.tsx +8 -8
- package/templates/default/src/components/loading-skeleton/form/icon-button-skeleton.tsx +8 -8
- package/templates/default/src/components/loading-skeleton/form/text-input-skeleton.tsx +8 -8
- package/templates/default/src/components/loading-skeleton/visualization/table-skeleton.tsx +14 -14
- package/templates/default/src/components/logo.tsx +15 -15
- package/templates/default/src/components/navigation/command-badge.tsx +34 -34
- package/templates/default/src/components/navigation/command-chain-input.tsx +51 -51
- package/templates/default/src/components/navigation/entity-search-command.tsx +116 -116
- package/templates/default/src/components/navigation/nav-card.tsx +31 -31
- package/templates/default/src/components/navigation/nav-command.tsx +508 -508
- package/templates/default/src/components/navigation/nav-link.tsx +60 -60
- package/templates/default/src/components/navigation/nav-menu-card-deck.tsx +112 -112
- package/templates/default/src/components/node-header.tsx +159 -159
- package/templates/default/src/components/reports/test-case-logs-modal.tsx +253 -253
- package/templates/default/src/components/table/table-actions.tsx +172 -172
- package/templates/default/src/components/test-run/download-logs-button.tsx +99 -99
- package/templates/default/src/components/test-run/log-viewer.tsx +445 -445
- package/templates/default/src/components/test-run/test-run-details.tsx +611 -611
- package/templates/default/src/components/test-run/test-run-header.tsx +149 -149
- package/templates/default/src/components/test-run/view-report-button.tsx +102 -102
- package/templates/default/src/components/theme/mode-toggle.tsx +54 -54
- package/templates/default/src/components/theme/theme-provider.tsx +8 -8
- package/templates/default/src/components/typography/page-header-subtitle.tsx +7 -7
- package/templates/default/src/components/typography/page-header.tsx +7 -7
- package/templates/default/src/components/ui/alert-dialog.tsx +106 -106
- package/templates/default/src/components/ui/alert.tsx +43 -43
- package/templates/default/src/components/ui/avatar.tsx +40 -40
- package/templates/default/src/components/ui/badge.tsx +29 -29
- package/templates/default/src/components/ui/button.tsx +47 -47
- package/templates/default/src/components/ui/calendar.tsx +158 -158
- package/templates/default/src/components/ui/card.tsx +43 -43
- package/templates/default/src/components/ui/checkbox.tsx +28 -28
- package/templates/default/src/components/ui/command.tsx +135 -135
- package/templates/default/src/components/ui/data-table-column-header.tsx +61 -61
- package/templates/default/src/components/ui/data-table-pagination.tsx +87 -87
- package/templates/default/src/components/ui/data-table-view-options.tsx +50 -50
- package/templates/default/src/components/ui/data-table.tsx +267 -267
- package/templates/default/src/components/ui/dialog.tsx +97 -97
- package/templates/default/src/components/ui/dropdown-menu.tsx +182 -182
- package/templates/default/src/components/ui/input.tsx +22 -22
- package/templates/default/src/components/ui/kbd.tsx +28 -28
- package/templates/default/src/components/ui/label.tsx +19 -19
- package/templates/default/src/components/ui/loading.tsx +12 -12
- package/templates/default/src/components/ui/multi-select-with-preview.tsx +116 -116
- package/templates/default/src/components/ui/multi-select.tsx +142 -142
- package/templates/default/src/components/ui/navigation-menu.tsx +120 -120
- package/templates/default/src/components/ui/popover.tsx +33 -33
- package/templates/default/src/components/ui/progress.tsx +25 -25
- package/templates/default/src/components/ui/radio-group.tsx +44 -44
- package/templates/default/src/components/ui/scroll-area.tsx +40 -40
- package/templates/default/src/components/ui/select.tsx +151 -144
- package/templates/default/src/components/ui/separator.tsx +22 -22
- package/templates/default/src/components/ui/skeleton.tsx +7 -7
- package/templates/default/src/components/ui/table.tsx +76 -76
- package/templates/default/src/components/ui/tabs.tsx +55 -55
- package/templates/default/src/components/ui/textarea.tsx +21 -21
- package/templates/default/src/components/ui/toast.tsx +113 -113
- package/templates/default/src/components/ui/toaster.tsx +26 -26
- package/templates/default/src/components/user-prompt/delete-prompt.tsx +87 -87
- package/templates/default/src/config/db-config.ts +10 -10
- package/templates/default/src/constants/form-opts/diagram/node-form.ts +30 -30
- package/templates/default/src/constants/form-opts/environment-form-opts.ts +24 -24
- package/templates/default/src/constants/form-opts/locator-form-opts.ts +20 -20
- package/templates/default/src/constants/form-opts/locator-group-form-opts.ts +28 -28
- package/templates/default/src/constants/form-opts/module-form-opts.ts +21 -21
- package/templates/default/src/constants/form-opts/review-form-opts.ts +23 -23
- package/templates/default/src/constants/form-opts/tag-form-opts.ts +42 -42
- package/templates/default/src/constants/form-opts/template-selection-form-opts.ts +16 -16
- package/templates/default/src/constants/form-opts/template-step-group-form-opts.ts +24 -24
- package/templates/default/src/constants/form-opts/template-test-case-form-opts.ts +39 -39
- package/templates/default/src/constants/form-opts/template-test-step-form-opts.ts +36 -36
- package/templates/default/src/constants/form-opts/test-case-form-opts.ts +43 -43
- package/templates/default/src/constants/form-opts/test-run-form-opts.ts +31 -31
- package/templates/default/src/constants/form-opts/test-suite-form-opts.ts +24 -24
- package/templates/default/src/hooks/use-toast.ts +187 -187
- package/templates/default/src/lib/bidirectional-sync.ts +432 -432
- package/templates/default/src/lib/database-sync.ts +531 -531
- package/templates/default/src/lib/environment-file-utils.ts +221 -221
- package/templates/default/src/lib/feature-file-generator.ts +411 -411
- package/templates/default/src/lib/gherkin-parser.ts +259 -259
- package/templates/default/src/lib/locator-group-file-utils.ts +370 -370
- package/templates/default/src/lib/metrics/metric-calculator.ts +613 -613
- package/templates/default/src/lib/module-hierarchy-builder.ts +205 -205
- package/templates/default/src/lib/path-helpers/module-path.ts +71 -71
- package/templates/default/src/lib/test-case-utils.ts +6 -6
- package/templates/default/src/lib/test-run/log-formatter.ts +83 -83
- package/templates/default/src/lib/test-run/process-manager.ts +191 -191
- package/templates/default/src/lib/test-run/report-parser.ts +316 -316
- package/templates/default/src/lib/test-run/test-run-executor.ts +144 -144
- package/templates/default/src/lib/test-run/winston-logger.ts +95 -95
- package/templates/default/src/lib/transformers/gherkin-converter.ts +42 -42
- package/templates/default/src/lib/transformers/key-to-icon-transformer.tsx +95 -95
- package/templates/default/src/lib/transformers/template-test-case-converter.ts +160 -160
- package/templates/default/src/lib/utils/node-param-validation.ts +81 -81
- package/templates/default/src/lib/utils/template-step-file-generator.ts +167 -167
- package/templates/default/src/lib/utils/template-step-file-manager-intelligent.ts +723 -723
- package/templates/default/src/lib/utils/template-step-file-manager.ts +166 -166
- package/templates/default/src/lib/utils.ts +31 -31
- package/templates/default/src/tests/config/executor/world.ts +41 -41
- package/templates/default/src/tests/executor.ts +80 -80
- package/templates/default/src/tests/hooks/hooks.ts +99 -99
- package/templates/default/src/tests/mapping/locator-map.json +1 -1
- package/templates/default/src/tests/steps/actions/click.step.ts +62 -62
- package/templates/default/src/tests/steps/actions/navigation.step.ts +73 -72
- package/templates/default/src/tests/steps/validations/active_state_assertion.step.ts +34 -34
- package/templates/default/src/tests/steps/validations/navigation_assertion.step.ts +24 -23
- package/templates/default/src/tests/steps/validations/text_assertion.step.ts +111 -111
- package/templates/default/src/tests/steps/validations/visibility_assertion.step.ts +30 -30
- package/templates/default/src/tests/support/parameter-types.ts +12 -12
- package/templates/default/src/tests/utils/cache.util.ts +260 -260
- package/templates/default/src/tests/utils/cli.util.ts +177 -177
- package/templates/default/src/tests/utils/environment.util.ts +65 -65
- package/templates/default/src/tests/utils/locator.util.ts +248 -248
- package/templates/default/src/tests/utils/random-data.util.ts +44 -44
- package/templates/default/src/tests/utils/spawner.util.ts +617 -617
- package/templates/default/src/types/diagram/diagram.ts +34 -34
- package/templates/default/src/types/diagram/template-step.ts +11 -11
- package/templates/default/src/types/executor/browser.type.ts +1 -1
- package/templates/default/src/types/form/actionHandler.ts +6 -6
- package/templates/default/src/types/locator/locator.type.ts +11 -11
- package/templates/default/src/types/step/step.type.ts +1 -1
- package/templates/default/src/types/table/data-table.ts +6 -6
- package/templates/default/tailwind.config.ts +62 -62
- package/templates/default/.env +0 -2
- package/templates/default/next-env.d.ts +0 -6
- package/templates/default/prisma/prisma/dev.db +0 -0
- package/templates/default/src/tests/config/environments/environments.json +0 -14
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import { useState } from 'react'
|
|
4
|
-
import { Button } from '@/components/ui/button'
|
|
5
|
-
import { Eye } from 'lucide-react'
|
|
6
|
-
import { TestCaseLogsModal } from '@/components/reports/test-case-logs-modal'
|
|
7
|
-
import { ReportScenario, StepStatus } from '@prisma/client'
|
|
8
|
-
|
|
9
|
-
type ReportScenarioWithDetails = (ReportScenario & {
|
|
10
|
-
tags: Array<{ tagName: string }>
|
|
11
|
-
steps: Array<{
|
|
12
|
-
id: string
|
|
13
|
-
keyword: string
|
|
14
|
-
name: string
|
|
15
|
-
status: StepStatus
|
|
16
|
-
duration: string
|
|
17
|
-
errorMessage: string | null
|
|
18
|
-
errorTrace: string | null
|
|
19
|
-
order: number
|
|
20
|
-
}>
|
|
21
|
-
hooks: Array<{
|
|
22
|
-
id: string
|
|
23
|
-
keyword: string
|
|
24
|
-
status: StepStatus
|
|
25
|
-
duration: string
|
|
26
|
-
errorMessage: string | null
|
|
27
|
-
errorTrace: string | null
|
|
28
|
-
}>
|
|
29
|
-
}) | null
|
|
30
|
-
|
|
31
|
-
interface ViewLogsButtonProps {
|
|
32
|
-
reportScenario: ReportScenarioWithDetails
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function ViewLogsButton({ reportScenario }: ViewLogsButtonProps) {
|
|
36
|
-
const [isModalOpen, setIsModalOpen] = useState(false)
|
|
37
|
-
|
|
38
|
-
return (
|
|
39
|
-
<>
|
|
40
|
-
<Button
|
|
41
|
-
variant="outline"
|
|
42
|
-
size="sm"
|
|
43
|
-
className="flex items-center gap-2"
|
|
44
|
-
onClick={() => setIsModalOpen(true)}
|
|
45
|
-
disabled={!reportScenario}
|
|
46
|
-
>
|
|
47
|
-
<Eye className="h-4 w-4" />
|
|
48
|
-
View Logs
|
|
49
|
-
</Button>
|
|
50
|
-
{reportScenario && (
|
|
51
|
-
<TestCaseLogsModal
|
|
52
|
-
open={isModalOpen}
|
|
53
|
-
onOpenChange={setIsModalOpen}
|
|
54
|
-
reportScenario={reportScenario}
|
|
55
|
-
/>
|
|
56
|
-
)}
|
|
57
|
-
</>
|
|
58
|
-
)
|
|
59
|
-
}
|
|
60
|
-
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { useState } from 'react'
|
|
4
|
+
import { Button } from '@/components/ui/button'
|
|
5
|
+
import { Eye } from 'lucide-react'
|
|
6
|
+
import { TestCaseLogsModal } from '@/components/reports/test-case-logs-modal'
|
|
7
|
+
import { ReportScenario, StepStatus } from '@prisma/client'
|
|
8
|
+
|
|
9
|
+
type ReportScenarioWithDetails = (ReportScenario & {
|
|
10
|
+
tags: Array<{ tagName: string }>
|
|
11
|
+
steps: Array<{
|
|
12
|
+
id: string
|
|
13
|
+
keyword: string
|
|
14
|
+
name: string
|
|
15
|
+
status: StepStatus
|
|
16
|
+
duration: string
|
|
17
|
+
errorMessage: string | null
|
|
18
|
+
errorTrace: string | null
|
|
19
|
+
order: number
|
|
20
|
+
}>
|
|
21
|
+
hooks: Array<{
|
|
22
|
+
id: string
|
|
23
|
+
keyword: string
|
|
24
|
+
status: StepStatus
|
|
25
|
+
duration: string
|
|
26
|
+
errorMessage: string | null
|
|
27
|
+
errorTrace: string | null
|
|
28
|
+
}>
|
|
29
|
+
}) | null
|
|
30
|
+
|
|
31
|
+
interface ViewLogsButtonProps {
|
|
32
|
+
reportScenario: ReportScenarioWithDetails
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function ViewLogsButton({ reportScenario }: ViewLogsButtonProps) {
|
|
36
|
+
const [isModalOpen, setIsModalOpen] = useState(false)
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<>
|
|
40
|
+
<Button
|
|
41
|
+
variant="outline"
|
|
42
|
+
size="sm"
|
|
43
|
+
className="flex items-center gap-2"
|
|
44
|
+
onClick={() => setIsModalOpen(true)}
|
|
45
|
+
disabled={!reportScenario}
|
|
46
|
+
>
|
|
47
|
+
<Eye className="h-4 w-4" />
|
|
48
|
+
View Logs
|
|
49
|
+
</Button>
|
|
50
|
+
{reportScenario && (
|
|
51
|
+
<TestCaseLogsModal
|
|
52
|
+
open={isModalOpen}
|
|
53
|
+
onOpenChange={setIsModalOpen}
|
|
54
|
+
reportScenario={reportScenario}
|
|
55
|
+
/>
|
|
56
|
+
)}
|
|
57
|
+
</>
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
// Create review page temporarily commented out - will be reworked later
|
|
2
|
-
import React from 'react'
|
|
3
|
-
import { Metadata } from 'next'
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
Create review functionality temporarily disabled
|
|
7
|
-
Will be re-implemented without user dependencies
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export const metadata: Metadata = {
|
|
11
|
-
title: 'Appraise | Create Review',
|
|
12
|
-
description: 'Review creation will be implemented later',
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const CreateReview = () => {
|
|
16
|
-
return (
|
|
17
|
-
<div className="p-8">
|
|
18
|
-
<h1 className="text-2xl font-bold">Create Review</h1>
|
|
19
|
-
<p className="mt-4 text-muted-foreground">
|
|
20
|
-
Review creation will be implemented later without user authentication dependencies.
|
|
21
|
-
</p>
|
|
22
|
-
</div>
|
|
23
|
-
)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export default CreateReview
|
|
1
|
+
// Create review page temporarily commented out - will be reworked later
|
|
2
|
+
import React from 'react'
|
|
3
|
+
import { Metadata } from 'next'
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
Create review functionality temporarily disabled
|
|
7
|
+
Will be re-implemented without user dependencies
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export const metadata: Metadata = {
|
|
11
|
+
title: 'Appraise | Create Review',
|
|
12
|
+
description: 'Review creation will be implemented later',
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const CreateReview = () => {
|
|
16
|
+
return (
|
|
17
|
+
<div className="p-8">
|
|
18
|
+
<h1 className="text-2xl font-bold">Create Review</h1>
|
|
19
|
+
<p className="mt-4 text-muted-foreground">
|
|
20
|
+
Review creation will be implemented later without user authentication dependencies.
|
|
21
|
+
</p>
|
|
22
|
+
</div>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default CreateReview
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
// Created reviews table temporarily commented out - will be reworked later
|
|
2
|
-
import React from 'react'
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
Created reviews table functionality temporarily disabled
|
|
6
|
-
Will be re-implemented without user dependencies
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
export default function CreatedReviewsTable() {
|
|
10
|
-
return (
|
|
11
|
-
<div className="p-4">
|
|
12
|
-
<p className="text-muted-foreground">Created reviews table will be implemented later.</p>
|
|
13
|
-
</div>
|
|
14
|
-
)
|
|
15
|
-
}
|
|
1
|
+
// Created reviews table temporarily commented out - will be reworked later
|
|
2
|
+
import React from 'react'
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
Created reviews table functionality temporarily disabled
|
|
6
|
+
Will be re-implemented without user dependencies
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export default function CreatedReviewsTable() {
|
|
10
|
+
return (
|
|
11
|
+
<div className="p-4">
|
|
12
|
+
<p className="text-muted-foreground">Created reviews table will be implemented later.</p>
|
|
13
|
+
</div>
|
|
14
|
+
)
|
|
15
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
// Modify review page temporarily commented out - will be reworked later
|
|
2
|
-
import React from 'react'
|
|
3
|
-
import { Metadata } from 'next'
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
Modify review functionality temporarily disabled
|
|
7
|
-
Will be re-implemented without user dependencies
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export const metadata: Metadata = {
|
|
11
|
-
title: 'Appraise | Modify Review',
|
|
12
|
-
description: 'Review modification will be implemented later',
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const ModifyReview = () => {
|
|
16
|
-
return (
|
|
17
|
-
<div className="p-8">
|
|
18
|
-
<h1 className="text-2xl font-bold">Modify Review</h1>
|
|
19
|
-
<p className="mt-4 text-muted-foreground">
|
|
20
|
-
Review modification will be implemented later without user authentication dependencies.
|
|
21
|
-
</p>
|
|
22
|
-
</div>
|
|
23
|
-
)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export default ModifyReview
|
|
1
|
+
// Modify review page temporarily commented out - will be reworked later
|
|
2
|
+
import React from 'react'
|
|
3
|
+
import { Metadata } from 'next'
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
Modify review functionality temporarily disabled
|
|
7
|
+
Will be re-implemented without user dependencies
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export const metadata: Metadata = {
|
|
11
|
+
title: 'Appraise | Modify Review',
|
|
12
|
+
description: 'Review modification will be implemented later',
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const ModifyReview = () => {
|
|
16
|
+
return (
|
|
17
|
+
<div className="p-8">
|
|
18
|
+
<h1 className="text-2xl font-bold">Modify Review</h1>
|
|
19
|
+
<p className="mt-4 text-muted-foreground">
|
|
20
|
+
Review modification will be implemented later without user authentication dependencies.
|
|
21
|
+
</p>
|
|
22
|
+
</div>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default ModifyReview
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
// Reviews page temporarily commented out - will be reworked later
|
|
2
|
-
import React from 'react'
|
|
3
|
-
import { Metadata } from 'next'
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
Reviews functionality temporarily disabled
|
|
7
|
-
Will be re-implemented without user dependencies
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export const metadata: Metadata = {
|
|
11
|
-
title: 'Appraise | Reviews',
|
|
12
|
-
description: 'Review functionality will be implemented later',
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const Reviews = () => {
|
|
16
|
-
return (
|
|
17
|
-
<div className="p-8">
|
|
18
|
-
<h1 className="text-2xl font-bold">Reviews</h1>
|
|
19
|
-
<p className="mt-4 text-muted-foreground">
|
|
20
|
-
Review functionality will be implemented later without user authentication dependencies.
|
|
21
|
-
</p>
|
|
22
|
-
</div>
|
|
23
|
-
)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export default Reviews
|
|
1
|
+
// Reviews page temporarily commented out - will be reworked later
|
|
2
|
+
import React from 'react'
|
|
3
|
+
import { Metadata } from 'next'
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
Reviews functionality temporarily disabled
|
|
7
|
+
Will be re-implemented without user dependencies
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export const metadata: Metadata = {
|
|
11
|
+
title: 'Appraise | Reviews',
|
|
12
|
+
description: 'Review functionality will be implemented later',
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const Reviews = () => {
|
|
16
|
+
return (
|
|
17
|
+
<div className="p-8">
|
|
18
|
+
<h1 className="text-2xl font-bold">Reviews</h1>
|
|
19
|
+
<p className="mt-4 text-muted-foreground">
|
|
20
|
+
Review functionality will be implemented later without user authentication dependencies.
|
|
21
|
+
</p>
|
|
22
|
+
</div>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default Reviews
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
// Review view page temporarily commented out - will be reworked later
|
|
2
|
-
import React from 'react'
|
|
3
|
-
import { Metadata } from 'next'
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
Review view functionality temporarily disabled
|
|
7
|
-
Will be re-implemented without user dependencies
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export const metadata: Metadata = {
|
|
11
|
-
title: 'Appraise | Review Details',
|
|
12
|
-
description: 'Review viewing will be implemented later',
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const ReviewView = () => {
|
|
16
|
-
return (
|
|
17
|
-
<div className="p-8">
|
|
18
|
-
<h1 className="text-2xl font-bold">Review Details</h1>
|
|
19
|
-
<p className="mt-4 text-muted-foreground">
|
|
20
|
-
Review viewing will be implemented later without user authentication dependencies.
|
|
21
|
-
</p>
|
|
22
|
-
</div>
|
|
23
|
-
)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export default ReviewView
|
|
1
|
+
// Review view page temporarily commented out - will be reworked later
|
|
2
|
+
import React from 'react'
|
|
3
|
+
import { Metadata } from 'next'
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
Review view functionality temporarily disabled
|
|
7
|
+
Will be re-implemented without user dependencies
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export const metadata: Metadata = {
|
|
11
|
+
title: 'Appraise | Review Details',
|
|
12
|
+
description: 'Review viewing will be implemented later',
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const ReviewView = () => {
|
|
16
|
+
return (
|
|
17
|
+
<div className="p-8">
|
|
18
|
+
<h1 className="text-2xl font-bold">Review Details</h1>
|
|
19
|
+
<p className="mt-4 text-muted-foreground">
|
|
20
|
+
Review viewing will be implemented later without user authentication dependencies.
|
|
21
|
+
</p>
|
|
22
|
+
</div>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default ReviewView
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
// Review form temporarily commented out - will be reworked later
|
|
2
|
-
// User references need to be updated when reviews are re-implemented
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
Original review form content commented out to prevent build errors
|
|
6
|
-
This file will be restored and updated when the review system is reworked
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
export default function ReviewForm() {
|
|
10
|
-
return <div>Review form will be implemented later</div>
|
|
11
|
-
}
|
|
1
|
+
// Review form temporarily commented out - will be reworked later
|
|
2
|
+
// User references need to be updated when reviews are re-implemented
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
Original review form content commented out to prevent build errors
|
|
6
|
+
This file will be restored and updated when the review system is reworked
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export default function ReviewForm() {
|
|
10
|
+
return <div>Review form will be implemented later</div>
|
|
11
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// Review table by creator columns temporarily commented out - will be reworked later
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
Review table columns functionality temporarily disabled
|
|
5
|
-
Will be re-implemented without user dependencies
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
export const reviewTableByCreatorColumns = []
|
|
9
|
-
export default reviewTableByCreatorColumns
|
|
1
|
+
// Review table by creator columns temporarily commented out - will be reworked later
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
Review table columns functionality temporarily disabled
|
|
5
|
+
Will be re-implemented without user dependencies
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export const reviewTableByCreatorColumns = []
|
|
9
|
+
export default reviewTableByCreatorColumns
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// Review table by reviewer columns temporarily commented out - will be reworked later
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
Review table columns functionality temporarily disabled
|
|
5
|
-
Will be re-implemented without user dependencies
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
export const reviewTableByReviewerColumns = []
|
|
9
|
-
export default reviewTableByReviewerColumns
|
|
1
|
+
// Review table by reviewer columns temporarily commented out - will be reworked later
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
Review table columns functionality temporarily disabled
|
|
5
|
+
Will be re-implemented without user dependencies
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export const reviewTableByReviewerColumns = []
|
|
9
|
+
export default reviewTableByReviewerColumns
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
// Reviewer reviews table temporarily commented out - will be reworked later
|
|
2
|
-
import React from 'react'
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
Reviewer reviews table functionality temporarily disabled
|
|
6
|
-
Will be re-implemented without user dependencies
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
export default function ReviewerReviewsTable() {
|
|
10
|
-
return (
|
|
11
|
-
<div className="p-4">
|
|
12
|
-
<p className="text-muted-foreground">Reviewer reviews table will be implemented later.</p>
|
|
13
|
-
</div>
|
|
14
|
-
)
|
|
15
|
-
}
|
|
1
|
+
// Reviewer reviews table temporarily commented out - will be reworked later
|
|
2
|
+
import React from 'react'
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
Reviewer reviews table functionality temporarily disabled
|
|
6
|
+
Will be re-implemented without user dependencies
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export default function ReviewerReviewsTable() {
|
|
10
|
+
return (
|
|
11
|
+
<div className="p-4">
|
|
12
|
+
<p className="text-muted-foreground">Reviewer reviews table will be implemented later.</p>
|
|
13
|
+
</div>
|
|
14
|
+
)
|
|
15
|
+
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { createTagAction } from '@/actions/tags/tag-actions'
|
|
2
|
-
import PageHeader from '@/components/typography/page-header'
|
|
3
|
-
import HeaderSubtitle from '@/components/typography/page-header-subtitle'
|
|
4
|
-
import { Tag } from 'lucide-react'
|
|
5
|
-
import React from 'react'
|
|
6
|
-
import TagForm from '../tag-form'
|
|
7
|
-
import { Metadata } from 'next'
|
|
8
|
-
|
|
9
|
-
export const metadata: Metadata = {
|
|
10
|
-
title: 'Appraise | Create Tag',
|
|
11
|
-
description: 'Create a new tag to be used in your test cases',
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const CreateTag = () => {
|
|
15
|
-
return (
|
|
16
|
-
<>
|
|
17
|
-
<div className="mb-8">
|
|
18
|
-
<PageHeader>
|
|
19
|
-
<span className="flex items-center">
|
|
20
|
-
<Tag className="mr-2 h-8 w-8" />
|
|
21
|
-
Create Tag
|
|
22
|
-
</span>
|
|
23
|
-
</PageHeader>
|
|
24
|
-
<HeaderSubtitle>Create a new tag to be used in your test cases.</HeaderSubtitle>
|
|
25
|
-
</div>
|
|
26
|
-
<TagForm
|
|
27
|
-
successTitle="Tag created"
|
|
28
|
-
successMessage="Tag created successfully"
|
|
29
|
-
onSubmitAction={createTagAction}
|
|
30
|
-
defaultValues={{
|
|
31
|
-
name: '',
|
|
32
|
-
tagExpression: '',
|
|
33
|
-
}}
|
|
34
|
-
/>
|
|
35
|
-
</>
|
|
36
|
-
)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export default CreateTag
|
|
1
|
+
import { createTagAction } from '@/actions/tags/tag-actions'
|
|
2
|
+
import PageHeader from '@/components/typography/page-header'
|
|
3
|
+
import HeaderSubtitle from '@/components/typography/page-header-subtitle'
|
|
4
|
+
import { Tag } from 'lucide-react'
|
|
5
|
+
import React from 'react'
|
|
6
|
+
import TagForm from '../tag-form'
|
|
7
|
+
import { Metadata } from 'next'
|
|
8
|
+
|
|
9
|
+
export const metadata: Metadata = {
|
|
10
|
+
title: 'Appraise | Create Tag',
|
|
11
|
+
description: 'Create a new tag to be used in your test cases',
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const CreateTag = () => {
|
|
15
|
+
return (
|
|
16
|
+
<>
|
|
17
|
+
<div className="mb-8">
|
|
18
|
+
<PageHeader>
|
|
19
|
+
<span className="flex items-center">
|
|
20
|
+
<Tag className="mr-2 h-8 w-8" />
|
|
21
|
+
Create Tag
|
|
22
|
+
</span>
|
|
23
|
+
</PageHeader>
|
|
24
|
+
<HeaderSubtitle>Create a new tag to be used in your test cases.</HeaderSubtitle>
|
|
25
|
+
</div>
|
|
26
|
+
<TagForm
|
|
27
|
+
successTitle="Tag created"
|
|
28
|
+
successMessage="Tag created successfully"
|
|
29
|
+
onSubmitAction={createTagAction}
|
|
30
|
+
defaultValues={{
|
|
31
|
+
name: '',
|
|
32
|
+
tagExpression: '',
|
|
33
|
+
}}
|
|
34
|
+
/>
|
|
35
|
+
</>
|
|
36
|
+
)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export default CreateTag
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import PageHeader from '@/components/typography/page-header'
|
|
2
|
-
import HeaderSubtitle from '@/components/typography/page-header-subtitle'
|
|
3
|
-
import React from 'react'
|
|
4
|
-
import TagForm from '../../tag-form'
|
|
5
|
-
import { getTagByIdAction, updateTagAction } from '@/actions/tags/tag-actions'
|
|
6
|
-
import { Tag } from 'lucide-react'
|
|
7
|
-
import { Tag as TagType } from '@prisma/client'
|
|
8
|
-
import { Metadata } from 'next'
|
|
9
|
-
|
|
10
|
-
export const metadata: Metadata = {
|
|
11
|
-
title: 'Appraise | Modify Tag',
|
|
12
|
-
description: 'Modify a tag',
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const ModifyTag = async ({ params }: { params: Promise<{ id: string }> }) => {
|
|
16
|
-
const { id } = await params
|
|
17
|
-
const { data: tagToBeEditedData, error: tagToBeEditedError } = await getTagByIdAction(id)
|
|
18
|
-
|
|
19
|
-
if (tagToBeEditedError) {
|
|
20
|
-
return <div>Error: {tagToBeEditedError}</div>
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const tagData = tagToBeEditedData as TagType
|
|
24
|
-
|
|
25
|
-
return (
|
|
26
|
-
<>
|
|
27
|
-
<div className="mb-8">
|
|
28
|
-
<PageHeader>
|
|
29
|
-
<span className="flex items-center">
|
|
30
|
-
<Tag className="mr-2 h-8 w-8" />
|
|
31
|
-
Modify Tag
|
|
32
|
-
</span>
|
|
33
|
-
</PageHeader>
|
|
34
|
-
<HeaderSubtitle>Modify a tag.</HeaderSubtitle>
|
|
35
|
-
</div>
|
|
36
|
-
<TagForm
|
|
37
|
-
successTitle="Tag modified"
|
|
38
|
-
successMessage="Tag modified successfully"
|
|
39
|
-
onSubmitAction={updateTagAction}
|
|
40
|
-
defaultValues={{
|
|
41
|
-
name: tagData.name,
|
|
42
|
-
tagExpression: tagData.tagExpression,
|
|
43
|
-
}}
|
|
44
|
-
id={id}
|
|
45
|
-
/>
|
|
46
|
-
</>
|
|
47
|
-
)
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export default ModifyTag
|
|
1
|
+
import PageHeader from '@/components/typography/page-header'
|
|
2
|
+
import HeaderSubtitle from '@/components/typography/page-header-subtitle'
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import TagForm from '../../tag-form'
|
|
5
|
+
import { getTagByIdAction, updateTagAction } from '@/actions/tags/tag-actions'
|
|
6
|
+
import { Tag } from 'lucide-react'
|
|
7
|
+
import { Tag as TagType } from '@prisma/client'
|
|
8
|
+
import { Metadata } from 'next'
|
|
9
|
+
|
|
10
|
+
export const metadata: Metadata = {
|
|
11
|
+
title: 'Appraise | Modify Tag',
|
|
12
|
+
description: 'Modify a tag',
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const ModifyTag = async ({ params }: { params: Promise<{ id: string }> }) => {
|
|
16
|
+
const { id } = await params
|
|
17
|
+
const { data: tagToBeEditedData, error: tagToBeEditedError } = await getTagByIdAction(id)
|
|
18
|
+
|
|
19
|
+
if (tagToBeEditedError) {
|
|
20
|
+
return <div>Error: {tagToBeEditedError}</div>
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const tagData = tagToBeEditedData as TagType
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<>
|
|
27
|
+
<div className="mb-8">
|
|
28
|
+
<PageHeader>
|
|
29
|
+
<span className="flex items-center">
|
|
30
|
+
<Tag className="mr-2 h-8 w-8" />
|
|
31
|
+
Modify Tag
|
|
32
|
+
</span>
|
|
33
|
+
</PageHeader>
|
|
34
|
+
<HeaderSubtitle>Modify a tag.</HeaderSubtitle>
|
|
35
|
+
</div>
|
|
36
|
+
<TagForm
|
|
37
|
+
successTitle="Tag modified"
|
|
38
|
+
successMessage="Tag modified successfully"
|
|
39
|
+
onSubmitAction={updateTagAction}
|
|
40
|
+
defaultValues={{
|
|
41
|
+
name: tagData.name,
|
|
42
|
+
tagExpression: tagData.tagExpression,
|
|
43
|
+
}}
|
|
44
|
+
id={id}
|
|
45
|
+
/>
|
|
46
|
+
</>
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export default ModifyTag
|