@open-mercato/core 0.4.5-develop-2e9903a57a → 0.4.5-develop-eeccf7adf4
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/package.json +2 -2
- package/dist/modules/auth/__integration__/TC-AUTH-001.spec.js +0 -9
- package/dist/modules/auth/__integration__/TC-AUTH-001.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-002.spec.js +0 -22
- package/dist/modules/auth/__integration__/TC-AUTH-002.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-003.spec.js +0 -21
- package/dist/modules/auth/__integration__/TC-AUTH-003.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-004.spec.js +0 -15
- package/dist/modules/auth/__integration__/TC-AUTH-004.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-005.spec.js +0 -11
- package/dist/modules/auth/__integration__/TC-AUTH-005.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-006.spec.js +0 -11
- package/dist/modules/auth/__integration__/TC-AUTH-006.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-007.spec.js +0 -14
- package/dist/modules/auth/__integration__/TC-AUTH-007.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-008.spec.js +0 -26
- package/dist/modules/auth/__integration__/TC-AUTH-008.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-009.spec.js +0 -16
- package/dist/modules/auth/__integration__/TC-AUTH-009.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-010.spec.js +0 -32
- package/dist/modules/auth/__integration__/TC-AUTH-010.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-011.spec.js +0 -26
- package/dist/modules/auth/__integration__/TC-AUTH-011.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-012.spec.js +0 -30
- package/dist/modules/auth/__integration__/TC-AUTH-012.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-013.spec.js +0 -41
- package/dist/modules/auth/__integration__/TC-AUTH-013.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-014.spec.js +0 -25
- package/dist/modules/auth/__integration__/TC-AUTH-014.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-015.spec.js +0 -20
- package/dist/modules/auth/__integration__/TC-AUTH-015.spec.js.map +0 -7
- package/dist/modules/auth/__integration__/TC-AUTH-016.spec.js +0 -76
- package/dist/modules/auth/__integration__/TC-AUTH-016.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-001.spec.js +0 -20
- package/dist/modules/catalog/__integration__/TC-CAT-001.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-002.spec.js +0 -12
- package/dist/modules/catalog/__integration__/TC-CAT-002.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-003.spec.js +0 -28
- package/dist/modules/catalog/__integration__/TC-CAT-003.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-004.spec.js +0 -33
- package/dist/modules/catalog/__integration__/TC-CAT-004.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-005.spec.js +0 -30
- package/dist/modules/catalog/__integration__/TC-CAT-005.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-006.spec.js +0 -31
- package/dist/modules/catalog/__integration__/TC-CAT-006.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-007.spec.js +0 -31
- package/dist/modules/catalog/__integration__/TC-CAT-007.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-008.spec.js +0 -65
- package/dist/modules/catalog/__integration__/TC-CAT-008.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-009.spec.js +0 -31
- package/dist/modules/catalog/__integration__/TC-CAT-009.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-010.spec.js +0 -28
- package/dist/modules/catalog/__integration__/TC-CAT-010.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-011.spec.js +0 -34
- package/dist/modules/catalog/__integration__/TC-CAT-011.spec.js.map +0 -7
- package/dist/modules/catalog/__integration__/TC-CAT-012.spec.js +0 -27
- package/dist/modules/catalog/__integration__/TC-CAT-012.spec.js.map +0 -7
- package/dist/modules/core/__integration__/admin/TC-ADMIN-001.spec.js +0 -44
- package/dist/modules/core/__integration__/admin/TC-ADMIN-001.spec.js.map +0 -7
- package/dist/modules/core/__integration__/admin/TC-ADMIN-002.spec.js +0 -53
- package/dist/modules/core/__integration__/admin/TC-ADMIN-002.spec.js.map +0 -7
- package/dist/modules/core/__integration__/admin/TC-ADMIN-003.spec.js +0 -26
- package/dist/modules/core/__integration__/admin/TC-ADMIN-003.spec.js.map +0 -7
- package/dist/modules/core/__integration__/admin/TC-ADMIN-004.spec.js +0 -47
- package/dist/modules/core/__integration__/admin/TC-ADMIN-004.spec.js.map +0 -7
- package/dist/modules/core/__integration__/admin/TC-ADMIN-005.spec.js +0 -33
- package/dist/modules/core/__integration__/admin/TC-ADMIN-005.spec.js.map +0 -7
- package/dist/modules/core/__integration__/admin/TC-ADMIN-006.spec.js +0 -30
- package/dist/modules/core/__integration__/admin/TC-ADMIN-006.spec.js.map +0 -7
- package/dist/modules/core/__integration__/admin/TC-ADMIN-007.spec.js +0 -36
- package/dist/modules/core/__integration__/admin/TC-ADMIN-007.spec.js.map +0 -7
- package/dist/modules/core/__integration__/admin/TC-ADMIN-008.spec.js +0 -113
- package/dist/modules/core/__integration__/admin/TC-ADMIN-008.spec.js.map +0 -7
- package/dist/modules/core/__integration__/admin/TC-ADMIN-009.spec.js +0 -25
- package/dist/modules/core/__integration__/admin/TC-ADMIN-009.spec.js.map +0 -7
- package/dist/modules/core/__integration__/admin/TC-ADMIN-010.spec.js +0 -35
- package/dist/modules/core/__integration__/admin/TC-ADMIN-010.spec.js.map +0 -7
- package/dist/modules/core/__integration__/helpers/api.js +0 -64
- package/dist/modules/core/__integration__/helpers/api.js.map +0 -7
- package/dist/modules/core/__integration__/helpers/auth.js +0 -98
- package/dist/modules/core/__integration__/helpers/auth.js.map +0 -7
- package/dist/modules/core/__integration__/helpers/authUi.js +0 -31
- package/dist/modules/core/__integration__/helpers/authUi.js.map +0 -7
- package/dist/modules/core/__integration__/helpers/catalogFixtures.js +0 -49
- package/dist/modules/core/__integration__/helpers/catalogFixtures.js.map +0 -7
- package/dist/modules/core/__integration__/helpers/crmFixtures.js +0 -73
- package/dist/modules/core/__integration__/helpers/crmFixtures.js.map +0 -7
- package/dist/modules/core/__integration__/helpers/salesFixtures.js +0 -63
- package/dist/modules/core/__integration__/helpers/salesFixtures.js.map +0 -7
- package/dist/modules/core/__integration__/helpers/salesUi.js +0 -464
- package/dist/modules/core/__integration__/helpers/salesUi.js.map +0 -7
- package/dist/modules/core/__integration__/integration/TC-INT-001.spec.js +0 -26
- package/dist/modules/core/__integration__/integration/TC-INT-001.spec.js.map +0 -7
- package/dist/modules/core/__integration__/integration/TC-INT-002.spec.js +0 -60
- package/dist/modules/core/__integration__/integration/TC-INT-002.spec.js.map +0 -7
- package/dist/modules/core/__integration__/integration/TC-INT-003.spec.js +0 -36
- package/dist/modules/core/__integration__/integration/TC-INT-003.spec.js.map +0 -7
- package/dist/modules/core/__integration__/integration/TC-INT-004.spec.js +0 -74
- package/dist/modules/core/__integration__/integration/TC-INT-004.spec.js.map +0 -7
- package/dist/modules/core/__integration__/integration/TC-INT-005.spec.js +0 -21
- package/dist/modules/core/__integration__/integration/TC-INT-005.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-001.spec.js +0 -32
- package/dist/modules/customers/__integration__/TC-CRM-001.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-002.spec.js +0 -35
- package/dist/modules/customers/__integration__/TC-CRM-002.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-003.spec.js +0 -40
- package/dist/modules/customers/__integration__/TC-CRM-003.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-004.spec.js +0 -40
- package/dist/modules/customers/__integration__/TC-CRM-004.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-005.spec.js +0 -37
- package/dist/modules/customers/__integration__/TC-CRM-005.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-006.spec.js +0 -42
- package/dist/modules/customers/__integration__/TC-CRM-006.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-007.spec.js +0 -44
- package/dist/modules/customers/__integration__/TC-CRM-007.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-008.spec.js +0 -50
- package/dist/modules/customers/__integration__/TC-CRM-008.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-009.spec.js +0 -33
- package/dist/modules/customers/__integration__/TC-CRM-009.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-010.spec.js +0 -39
- package/dist/modules/customers/__integration__/TC-CRM-010.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-011.spec.js +0 -37
- package/dist/modules/customers/__integration__/TC-CRM-011.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-012.spec.js +0 -38
- package/dist/modules/customers/__integration__/TC-CRM-012.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-013.spec.js +0 -43
- package/dist/modules/customers/__integration__/TC-CRM-013.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-014.spec.js +0 -23
- package/dist/modules/customers/__integration__/TC-CRM-014.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-015.spec.js +0 -63
- package/dist/modules/customers/__integration__/TC-CRM-015.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-016.spec.js +0 -46
- package/dist/modules/customers/__integration__/TC-CRM-016.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-017.spec.js +0 -29
- package/dist/modules/customers/__integration__/TC-CRM-017.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-018.spec.js +0 -52
- package/dist/modules/customers/__integration__/TC-CRM-018.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-019.spec.js +0 -37
- package/dist/modules/customers/__integration__/TC-CRM-019.spec.js.map +0 -7
- package/dist/modules/customers/__integration__/TC-CRM-020.spec.js +0 -65
- package/dist/modules/customers/__integration__/TC-CRM-020.spec.js.map +0 -7
- package/dist/modules/progress/__integration__/TC-PROG-001.spec.js +0 -51
- package/dist/modules/progress/__integration__/TC-PROG-001.spec.js.map +0 -7
- package/dist/modules/resources/__integration__/TC-INT-007.spec.js +0 -88
- package/dist/modules/resources/__integration__/TC-INT-007.spec.js.map +0 -7
- package/dist/modules/resources/__integration__/helpers/resourcesFixtures.js +0 -45
- package/dist/modules/resources/__integration__/helpers/resourcesFixtures.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-001.spec.js +0 -20
- package/dist/modules/sales/__integration__/TC-SALES-001.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-002.spec.js +0 -31
- package/dist/modules/sales/__integration__/TC-SALES-002.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-003.spec.js +0 -13
- package/dist/modules/sales/__integration__/TC-SALES-003.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-004.spec.js +0 -14
- package/dist/modules/sales/__integration__/TC-SALES-004.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-005.spec.js +0 -15
- package/dist/modules/sales/__integration__/TC-SALES-005.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-006.spec.js +0 -20
- package/dist/modules/sales/__integration__/TC-SALES-006.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-007.spec.js +0 -19
- package/dist/modules/sales/__integration__/TC-SALES-007.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-008.spec.js +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-008.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-009.spec.js +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-009.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-010.spec.js +0 -16
- package/dist/modules/sales/__integration__/TC-SALES-010.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-011.spec.js +0 -20
- package/dist/modules/sales/__integration__/TC-SALES-011.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-012.spec.js +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-012.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-013.spec.js +0 -66
- package/dist/modules/sales/__integration__/TC-SALES-013.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-014.spec.js +0 -13
- package/dist/modules/sales/__integration__/TC-SALES-014.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-015.spec.js +0 -13
- package/dist/modules/sales/__integration__/TC-SALES-015.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-016.spec.js +0 -13
- package/dist/modules/sales/__integration__/TC-SALES-016.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-017.spec.js +0 -44
- package/dist/modules/sales/__integration__/TC-SALES-017.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-018.spec.js +0 -18
- package/dist/modules/sales/__integration__/TC-SALES-018.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-019.spec.js +0 -16
- package/dist/modules/sales/__integration__/TC-SALES-019.spec.js.map +0 -7
- package/dist/modules/sales/__integration__/TC-SALES-020.spec.js +0 -75
- package/dist/modules/sales/__integration__/TC-SALES-020.spec.js.map +0 -7
- package/dist/modules/staff/__integration__/TC-INT-006.spec.js +0 -64
- package/dist/modules/staff/__integration__/TC-INT-006.spec.js.map +0 -7
- package/dist/modules/translations/__integration__/TC-TRANS-001.spec.js +0 -48
- package/dist/modules/translations/__integration__/TC-TRANS-001.spec.js.map +0 -7
- package/dist/modules/translations/__integration__/TC-TRANS-002.spec.js +0 -94
- package/dist/modules/translations/__integration__/TC-TRANS-002.spec.js.map +0 -7
- package/dist/modules/translations/__integration__/TC-TRANS-003.spec.js +0 -61
- package/dist/modules/translations/__integration__/TC-TRANS-003.spec.js.map +0 -7
- package/dist/modules/translations/__integration__/TC-TRANS-004.spec.js +0 -52
- package/dist/modules/translations/__integration__/TC-TRANS-004.spec.js.map +0 -7
- package/dist/modules/translations/__integration__/TC-TRANS-005.spec.js +0 -106
- package/dist/modules/translations/__integration__/TC-TRANS-005.spec.js.map +0 -7
- package/dist/modules/translations/__integration__/TC-TRANS-006.spec.js +0 -94
- package/dist/modules/translations/__integration__/TC-TRANS-006.spec.js.map +0 -7
- package/dist/modules/translations/__integration__/TC-TRANS-007.spec.js +0 -62
- package/dist/modules/translations/__integration__/TC-TRANS-007.spec.js.map +0 -7
- package/dist/modules/translations/__integration__/TC-TRANS-008.spec.js +0 -168
- package/dist/modules/translations/__integration__/TC-TRANS-008.spec.js.map +0 -7
- package/dist/modules/translations/__integration__/helpers/translationFixtures.js +0 -63
- package/dist/modules/translations/__integration__/helpers/translationFixtures.js.map +0 -7
- package/dist/modules/workflows/__integration__/TC-WF-001.spec.js +0 -73
- package/dist/modules/workflows/__integration__/TC-WF-001.spec.js.map +0 -7
- package/src/__tests__/module-decoupling.test.ts +0 -356
- package/src/modules/api_keys/api/__tests__/keys.route.test.ts +0 -244
- package/src/modules/attachments/api/__tests__/attachments.api.test.ts +0 -240
- package/src/modules/attachments/components/__tests__/AttachmentContentPreview.test.tsx +0 -45
- package/src/modules/attachments/data/__tests__/entities-ocr.test.ts +0 -15
- package/src/modules/attachments/lib/__tests__/ocr-config.test.ts +0 -27
- package/src/modules/attachments/lib/__tests__/textExtraction.test.ts +0 -64
- package/src/modules/audit_logs/api/__tests__/access.route.test.ts +0 -118
- package/src/modules/audit_logs/api/__tests__/redo.route.test.ts +0 -131
- package/src/modules/audit_logs/api/__tests__/undo.route.test.ts +0 -103
- package/src/modules/audit_logs/services/__tests__/actionLogService.test.ts +0 -26
- package/src/modules/auth/__integration__/TC-AUTH-001.spec.ts +0 -13
- package/src/modules/auth/__integration__/TC-AUTH-002.spec.ts +0 -30
- package/src/modules/auth/__integration__/TC-AUTH-003.spec.ts +0 -28
- package/src/modules/auth/__integration__/TC-AUTH-004.spec.ts +0 -21
- package/src/modules/auth/__integration__/TC-AUTH-005.spec.ts +0 -17
- package/src/modules/auth/__integration__/TC-AUTH-006.spec.ts +0 -17
- package/src/modules/auth/__integration__/TC-AUTH-007.spec.ts +0 -19
- package/src/modules/auth/__integration__/TC-AUTH-008.spec.ts +0 -31
- package/src/modules/auth/__integration__/TC-AUTH-009.spec.ts +0 -22
- package/src/modules/auth/__integration__/TC-AUTH-010.spec.ts +0 -39
- package/src/modules/auth/__integration__/TC-AUTH-011.spec.ts +0 -35
- package/src/modules/auth/__integration__/TC-AUTH-012.spec.ts +0 -36
- package/src/modules/auth/__integration__/TC-AUTH-013.spec.ts +0 -48
- package/src/modules/auth/__integration__/TC-AUTH-014.spec.ts +0 -31
- package/src/modules/auth/__integration__/TC-AUTH-015.spec.ts +0 -28
- package/src/modules/auth/__integration__/TC-AUTH-016.spec.ts +0 -109
- package/src/modules/auth/__tests__/cli-rotate-encryption.test.ts +0 -97
- package/src/modules/auth/__tests__/cli-setup-acl.test.ts +0 -148
- package/src/modules/auth/api/__tests__/feature-check.test.ts +0 -65
- package/src/modules/auth/api/__tests__/login.test.ts +0 -47
- package/src/modules/auth/commands/__tests__/roles.custom-fields.test.ts +0 -126
- package/src/modules/auth/commands/__tests__/users.custom-fields.test.ts +0 -147
- package/src/modules/auth/lib/__tests__/rateLimitCheck.test.ts +0 -224
- package/src/modules/auth/services/__tests__/authService.test.ts +0 -32
- package/src/modules/auth/services/__tests__/rbacService.test.ts +0 -814
- package/src/modules/business_rules/api/__tests__/execute.route.test.ts +0 -311
- package/src/modules/business_rules/api/__tests__/logs-detail.route.test.ts +0 -181
- package/src/modules/business_rules/api/__tests__/logs.route.test.ts +0 -261
- package/src/modules/business_rules/api/__tests__/rules-detail.route.test.ts +0 -115
- package/src/modules/business_rules/api/__tests__/rules.route.test.ts +0 -746
- package/src/modules/business_rules/api/__tests__/sets-detail.route.test.ts +0 -169
- package/src/modules/business_rules/api/__tests__/sets-members.route.test.ts +0 -367
- package/src/modules/business_rules/api/__tests__/sets.route.test.ts +0 -361
- package/src/modules/business_rules/api/__tests__/test-helpers.ts +0 -42
- package/src/modules/business_rules/components/utils/__tests__/formHelpers.test.ts +0 -69
- package/src/modules/business_rules/data/__tests__/validators.test.ts +0 -637
- package/src/modules/business_rules/lib/__tests__/action-executor.test.ts +0 -728
- package/src/modules/business_rules/lib/__tests__/expression-evaluator.test.ts +0 -592
- package/src/modules/business_rules/lib/__tests__/rule-engine.test.ts +0 -805
- package/src/modules/business_rules/lib/__tests__/rule-evaluator.test.ts +0 -436
- package/src/modules/catalog/__integration__/TC-CAT-001.spec.ts +0 -32
- package/src/modules/catalog/__integration__/TC-CAT-002.spec.ts +0 -19
- package/src/modules/catalog/__integration__/TC-CAT-003.spec.ts +0 -39
- package/src/modules/catalog/__integration__/TC-CAT-004.spec.ts +0 -41
- package/src/modules/catalog/__integration__/TC-CAT-005.spec.ts +0 -37
- package/src/modules/catalog/__integration__/TC-CAT-006.spec.ts +0 -40
- package/src/modules/catalog/__integration__/TC-CAT-007.spec.ts +0 -37
- package/src/modules/catalog/__integration__/TC-CAT-008.spec.ts +0 -76
- package/src/modules/catalog/__integration__/TC-CAT-009.spec.ts +0 -39
- package/src/modules/catalog/__integration__/TC-CAT-010.spec.ts +0 -36
- package/src/modules/catalog/__integration__/TC-CAT-011.spec.ts +0 -44
- package/src/modules/catalog/__integration__/TC-CAT-012.spec.ts +0 -35
- package/src/modules/catalog/api/__tests__/offers.route.test.ts +0 -161
- package/src/modules/catalog/api/__tests__/prices.route.test.ts +0 -39
- package/src/modules/catalog/api/__tests__/products.route.test.ts +0 -91
- package/src/modules/catalog/api/__tests__/utils.test.ts +0 -36
- package/src/modules/catalog/api/__tests__/variants.route.test.ts +0 -44
- package/src/modules/catalog/backend/catalog/products/__tests__/ProductsDataTable.test.tsx +0 -172
- package/src/modules/catalog/commands/__tests__/products.delete.test.ts +0 -146
- package/src/modules/catalog/commands/__tests__/products.update.test.ts +0 -142
- package/src/modules/catalog/commands/__tests__/registration.test.ts +0 -54
- package/src/modules/catalog/commands/__tests__/shared.test.ts +0 -129
- package/src/modules/catalog/components/__tests__/catalogComponentsRender.test.tsx +0 -373
- package/src/modules/catalog/components/products/__tests__/ProductImageCell.test.tsx +0 -51
- package/src/modules/catalog/components/products/__tests__/productForm.test.ts +0 -32
- package/src/modules/catalog/lib/__tests__/pricing.test.ts +0 -150
- package/src/modules/catalog/services/__tests__/catalogPricingService.test.ts +0 -21
- package/src/modules/configs/components/__tests__/CachePanel.test.tsx +0 -134
- package/src/modules/configs/components/__tests__/SystemStatusPanel.test.tsx +0 -93
- package/src/modules/configs/lib/__tests__/system-status.test.ts +0 -55
- package/src/modules/configs/lib/__tests__/upgrade-actions.test.ts +0 -135
- package/src/modules/core/__integration__/admin/TC-ADMIN-001.spec.ts +0 -70
- package/src/modules/core/__integration__/admin/TC-ADMIN-002.spec.ts +0 -83
- package/src/modules/core/__integration__/admin/TC-ADMIN-003.spec.ts +0 -50
- package/src/modules/core/__integration__/admin/TC-ADMIN-004.spec.ts +0 -77
- package/src/modules/core/__integration__/admin/TC-ADMIN-005.spec.ts +0 -49
- package/src/modules/core/__integration__/admin/TC-ADMIN-006.spec.ts +0 -59
- package/src/modules/core/__integration__/admin/TC-ADMIN-007.spec.ts +0 -68
- package/src/modules/core/__integration__/admin/TC-ADMIN-008.spec.ts +0 -127
- package/src/modules/core/__integration__/admin/TC-ADMIN-009.spec.ts +0 -48
- package/src/modules/core/__integration__/admin/TC-ADMIN-010.spec.ts +0 -57
- package/src/modules/core/__integration__/helpers/api.ts +0 -84
- package/src/modules/core/__integration__/helpers/auth.ts +0 -110
- package/src/modules/core/__integration__/helpers/authUi.ts +0 -33
- package/src/modules/core/__integration__/helpers/catalogFixtures.ts +0 -73
- package/src/modules/core/__integration__/helpers/crmFixtures.ts +0 -101
- package/src/modules/core/__integration__/helpers/salesFixtures.ts +0 -89
- package/src/modules/core/__integration__/helpers/salesUi.ts +0 -528
- package/src/modules/core/__integration__/integration/TC-INT-001.spec.ts +0 -34
- package/src/modules/core/__integration__/integration/TC-INT-002.spec.ts +0 -74
- package/src/modules/core/__integration__/integration/TC-INT-003.spec.ts +0 -43
- package/src/modules/core/__integration__/integration/TC-INT-004.spec.ts +0 -82
- package/src/modules/core/__integration__/integration/TC-INT-005.spec.ts +0 -29
- package/src/modules/currencies/backend/exchange-rates/__tests__/formatDateTimeLocal.test.ts +0 -78
- package/src/modules/currencies/data/__tests__/validators.test.ts +0 -100
- package/src/modules/currencies/services/__tests__/exchangeRateService.test.ts +0 -666
- package/src/modules/currencies/services/__tests__/rateFetchingService.basic.test.ts +0 -398
- package/src/modules/currencies/services/__tests__/rateFetchingService.errors.test.ts +0 -296
- package/src/modules/currencies/services/__tests__/rateFetchingService.providers.test.ts +0 -350
- package/src/modules/currencies/services/__tests__/rateFetchingService.setup.ts +0 -188
- package/src/modules/customers/__integration__/TC-CRM-001.spec.ts +0 -42
- package/src/modules/customers/__integration__/TC-CRM-002.spec.ts +0 -47
- package/src/modules/customers/__integration__/TC-CRM-003.spec.ts +0 -55
- package/src/modules/customers/__integration__/TC-CRM-004.spec.ts +0 -57
- package/src/modules/customers/__integration__/TC-CRM-005.spec.ts +0 -50
- package/src/modules/customers/__integration__/TC-CRM-006.spec.ts +0 -60
- package/src/modules/customers/__integration__/TC-CRM-007.spec.ts +0 -57
- package/src/modules/customers/__integration__/TC-CRM-008.spec.ts +0 -62
- package/src/modules/customers/__integration__/TC-CRM-009.spec.ts +0 -46
- package/src/modules/customers/__integration__/TC-CRM-010.spec.ts +0 -49
- package/src/modules/customers/__integration__/TC-CRM-011.spec.ts +0 -47
- package/src/modules/customers/__integration__/TC-CRM-012.spec.ts +0 -49
- package/src/modules/customers/__integration__/TC-CRM-013.spec.ts +0 -61
- package/src/modules/customers/__integration__/TC-CRM-014.spec.ts +0 -31
- package/src/modules/customers/__integration__/TC-CRM-015.spec.ts +0 -89
- package/src/modules/customers/__integration__/TC-CRM-016.spec.ts +0 -55
- package/src/modules/customers/__integration__/TC-CRM-017.spec.ts +0 -37
- package/src/modules/customers/__integration__/TC-CRM-018.spec.ts +0 -62
- package/src/modules/customers/__integration__/TC-CRM-019.spec.ts +0 -44
- package/src/modules/customers/__integration__/TC-CRM-020.spec.ts +0 -73
- package/src/modules/customers/api/__tests__/utils.test.ts +0 -61
- package/src/modules/customers/api/dashboard/widgets/new-deals/__tests__/route.test.ts +0 -54
- package/src/modules/customers/commands/__tests__/shared.test.ts +0 -263
- package/src/modules/customers/commands/__tests__/undo.custom-fields.test.ts +0 -1184
- package/src/modules/customers/components/detail/__tests__/ActivityForm.validation.test.ts +0 -37
- package/src/modules/customers/components/detail/__tests__/DealForm.validation.test.ts +0 -45
- package/src/modules/customers/components/detail/__tests__/InlineEditors.test.tsx +0 -166
- package/src/modules/customers/components/detail/__tests__/TaskForm.submit.test.ts +0 -21
- package/src/modules/customers/components/detail/hooks/__tests__/useCustomerDictionary.test.ts +0 -97
- package/src/modules/customers/lib/__tests__/customFieldRouting.test.ts +0 -107
- package/src/modules/customers/utils/__tests__/addressFormat.test.ts +0 -105
- package/src/modules/customers/utils/__tests__/phoneDuplicates.test.ts +0 -98
- package/src/modules/dashboards/__tests__/widgets.test.ts +0 -70
- package/src/modules/dashboards/lib/__tests__/aggregations.test.ts +0 -328
- package/src/modules/dashboards/lib/__tests__/formatters.test.ts +0 -128
- package/src/modules/directory/backend/directory/organizations/__tests__/create-submit.test.ts +0 -46
- package/src/modules/directory/backend/directory/organizations/__tests__/edit-submit.test.ts +0 -49
- package/src/modules/directory/components/__tests__/OrganizationSelect.test.tsx +0 -71
- package/src/modules/directory/components/__tests__/TenantSelect.test.tsx +0 -75
- package/src/modules/entities/__tests__/cli-decrypt-database.test.ts +0 -534
- package/src/modules/entities/__tests__/cli-rotate-encryption.test.ts +0 -123
- package/src/modules/entities/api/__tests__/encryption.api.test.ts +0 -57
- package/src/modules/entities/api/__tests__/records.get.custom-entity.test.ts +0 -43
- package/src/modules/entities/api/__tests__/records.validation.test.ts +0 -53
- package/src/modules/entities/backend/entities/user/__tests__/create-entity-submit.test.ts +0 -47
- package/src/modules/entities/backend/entities/user/__tests__/records-submit.test.ts +0 -104
- package/src/modules/feature_toggles/commands/__tests__/global.test.ts +0 -325
- package/src/modules/feature_toggles/commands/__tests__/overrides.test.ts +0 -186
- package/src/modules/feature_toggles/lib/__tests__/feature-flag-check.test.ts +0 -365
- package/src/modules/feature_toggles/lib/__tests__/queries.test.ts +0 -130
- package/src/modules/inbox_ops/api/emails/[id]/reprocess/__tests__/route.test.ts +0 -194
- package/src/modules/inbox_ops/api/proposals/[id]/__tests__/route.test.ts +0 -124
- package/src/modules/inbox_ops/api/proposals/[id]/accept-all/__tests__/route.test.ts +0 -154
- package/src/modules/inbox_ops/api/proposals/[id]/actions/[actionId]/__tests__/route.test.ts +0 -200
- package/src/modules/inbox_ops/api/proposals/[id]/actions/[actionId]/accept/__tests__/route.test.ts +0 -261
- package/src/modules/inbox_ops/api/proposals/[id]/actions/[actionId]/reject/__tests__/route.test.ts +0 -201
- package/src/modules/inbox_ops/api/proposals/[id]/reject/__tests__/route.test.ts +0 -123
- package/src/modules/inbox_ops/api/proposals/[id]/replies/[replyId]/send/__tests__/route.test.ts +0 -232
- package/src/modules/inbox_ops/api/proposals/[id]/translate/__tests__/route.test.ts +0 -173
- package/src/modules/inbox_ops/api/proposals/__tests__/route.test.ts +0 -185
- package/src/modules/inbox_ops/api/webhook/__tests__/inbound.test.ts +0 -317
- package/src/modules/inbox_ops/data/__tests__/validators.test.ts +0 -463
- package/src/modules/inbox_ops/lib/__tests__/catalogLookup.test.ts +0 -143
- package/src/modules/inbox_ops/lib/__tests__/contactMatcher.test.ts +0 -158
- package/src/modules/inbox_ops/lib/__tests__/emailParser.test.ts +0 -191
- package/src/modules/inbox_ops/lib/__tests__/executionEngine.test.ts +0 -1419
- package/src/modules/inbox_ops/lib/__tests__/extractionPrompt.test.ts +0 -151
- package/src/modules/inbox_ops/lib/__tests__/priceValidator.test.ts +0 -259
- package/src/modules/inbox_ops/lib/__tests__/translationProvider.test.ts +0 -99
- package/src/modules/inbox_ops/subscribers/__tests__/extractionWorker.test.ts +0 -803
- package/src/modules/notifications/__tests__/deliver-notification.test.ts +0 -285
- package/src/modules/notifications/__tests__/deliveryStrategies.test.ts +0 -19
- package/src/modules/notifications/__tests__/notificationService.test.ts +0 -248
- package/src/modules/planner/__tests__/availabilityMerge.test.ts +0 -99
- package/src/modules/planner/__tests__/plannerAvailabilityService.test.ts +0 -89
- package/src/modules/planner/data/__tests__/validators.test.ts +0 -78
- package/src/modules/progress/__integration__/TC-PROG-001.spec.ts +0 -67
- package/src/modules/progress/__tests__/progressService.test.ts +0 -377
- package/src/modules/query_index/__tests__/hybrid-engine.test.ts +0 -365
- package/src/modules/query_index/__tests__/indexer.test.ts +0 -175
- package/src/modules/resources/__integration__/TC-INT-007.spec.ts +0 -110
- package/src/modules/resources/__integration__/helpers/resourcesFixtures.ts +0 -50
- package/src/modules/resources/data/__tests__/validators.test.ts +0 -65
- package/src/modules/sales/__integration__/TC-SALES-001.spec.ts +0 -26
- package/src/modules/sales/__integration__/TC-SALES-002.spec.ts +0 -38
- package/src/modules/sales/__integration__/TC-SALES-003.spec.ts +0 -18
- package/src/modules/sales/__integration__/TC-SALES-004.spec.ts +0 -19
- package/src/modules/sales/__integration__/TC-SALES-005.spec.ts +0 -21
- package/src/modules/sales/__integration__/TC-SALES-006.spec.ts +0 -26
- package/src/modules/sales/__integration__/TC-SALES-007.spec.ts +0 -23
- package/src/modules/sales/__integration__/TC-SALES-008.spec.ts +0 -11
- package/src/modules/sales/__integration__/TC-SALES-009.spec.ts +0 -12
- package/src/modules/sales/__integration__/TC-SALES-010.spec.ts +0 -20
- package/src/modules/sales/__integration__/TC-SALES-011.spec.ts +0 -26
- package/src/modules/sales/__integration__/TC-SALES-012.spec.ts +0 -12
- package/src/modules/sales/__integration__/TC-SALES-013.spec.ts +0 -73
- package/src/modules/sales/__integration__/TC-SALES-014.spec.ts +0 -17
- package/src/modules/sales/__integration__/TC-SALES-015.spec.ts +0 -17
- package/src/modules/sales/__integration__/TC-SALES-016.spec.ts +0 -17
- package/src/modules/sales/__integration__/TC-SALES-017.spec.ts +0 -60
- package/src/modules/sales/__integration__/TC-SALES-018.spec.ts +0 -25
- package/src/modules/sales/__integration__/TC-SALES-019.spec.ts +0 -22
- package/src/modules/sales/__integration__/TC-SALES-020.spec.ts +0 -107
- package/src/modules/sales/api/__tests__/channels.route.test.ts +0 -50
- package/src/modules/sales/api/__tests__/document-history.test.ts +0 -146
- package/src/modules/sales/api/__tests__/documents.factory.test.ts +0 -98
- package/src/modules/sales/api/__tests__/documents.routes.test.ts +0 -149
- package/src/modules/sales/api/__tests__/quotes.acceptance.test.ts +0 -209
- package/src/modules/sales/api/__tests__/timeline.test.tsx +0 -165
- package/src/modules/sales/api/dashboard/widgets/new-orders/__tests__/route.test.ts +0 -112
- package/src/modules/sales/api/dashboard/widgets/new-quotes/__tests__/route.test.ts +0 -116
- package/src/modules/sales/commands/__tests__/documents.cache.test.ts +0 -126
- package/src/modules/sales/commands/__tests__/documents.undo.test.ts +0 -170
- package/src/modules/sales/commands/__tests__/registration.test.ts +0 -141
- package/src/modules/sales/components/__tests__/salesComponentsRender.test.tsx +0 -456
- package/src/modules/sales/lib/__tests__/calculations.test.ts +0 -210
- package/src/modules/sales/services/__tests__/salesCalculationService.test.ts +0 -181
- package/src/modules/sales/services/__tests__/taxCalculationService.test.ts +0 -79
- package/src/modules/sales/widgets/dashboard/new-orders/__tests__/config.test.ts +0 -47
- package/src/modules/sales/widgets/dashboard/new-quotes/__tests__/config.test.ts +0 -47
- package/src/modules/staff/__integration__/TC-INT-006.spec.ts +0 -71
- package/src/modules/staff/data/__tests__/validators.test.ts +0 -60
- package/src/modules/translations/__integration__/TC-TRANS-001.spec.ts +0 -57
- package/src/modules/translations/__integration__/TC-TRANS-002.spec.ts +0 -114
- package/src/modules/translations/__integration__/TC-TRANS-003.spec.ts +0 -71
- package/src/modules/translations/__integration__/TC-TRANS-004.spec.ts +0 -66
- package/src/modules/translations/__integration__/TC-TRANS-005.spec.ts +0 -135
- package/src/modules/translations/__integration__/TC-TRANS-006.spec.ts +0 -113
- package/src/modules/translations/__integration__/TC-TRANS-007.spec.ts +0 -80
- package/src/modules/translations/__integration__/TC-TRANS-008.spec.ts +0 -209
- package/src/modules/translations/__integration__/helpers/translationFixtures.ts +0 -95
- package/src/modules/translations/api/__tests__/locales.test.ts +0 -67
- package/src/modules/translations/data/__tests__/validators.test.ts +0 -143
- package/src/modules/translations/lib/__tests__/extract-record-id.test.ts +0 -75
- package/src/modules/translations/lib/__tests__/helpers.test.ts +0 -215
- package/src/modules/translations/lib/__tests__/locale.test.ts +0 -115
- package/src/modules/translations/lib/__tests__/resolve-field-list.test.ts +0 -176
- package/src/modules/translations/lib/__tests__/translatable-fields.test.ts +0 -79
- package/src/modules/translations/widgets/__tests__/injection-table.test.ts +0 -83
- package/src/modules/workflows/__integration__/TC-WF-001.spec.ts +0 -114
- package/src/modules/workflows/api/__tests__/definitions.route.test.ts +0 -762
- package/src/modules/workflows/api/__tests__/instances.route.test.ts +0 -869
- package/src/modules/workflows/data/__tests__/validators.test.ts +0 -707
- package/src/modules/workflows/lib/__tests__/activity-executor.test.ts +0 -1230
- package/src/modules/workflows/lib/__tests__/call-api.test.ts +0 -421
- package/src/modules/workflows/lib/__tests__/compensation.test.ts +0 -713
- package/src/modules/workflows/lib/__tests__/event-logger.test.ts +0 -615
- package/src/modules/workflows/lib/__tests__/integration.test.ts +0 -693
- package/src/modules/workflows/lib/__tests__/signals.test.ts +0 -566
- package/src/modules/workflows/lib/__tests__/step-handler.test.ts +0 -670
- package/src/modules/workflows/lib/__tests__/sub-workflow.test.ts +0 -934
- package/src/modules/workflows/lib/__tests__/transition-handler.test.ts +0 -925
- package/src/modules/workflows/lib/__tests__/workflow-executor.test.ts +0 -684
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-002.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { addCustomLine, createSalesDocument } from '@open-mercato/core/modules/core/__integration__/helpers/salesUi';\n\n/**\n * TC-SALES-002: Quote To Order Conversion\n * Source: .ai/qa/scenarios/TC-SALES-002-quote-to-order-conversion.md\n */\ntest.describe('TC-SALES-002: Quote To Order Conversion', () => {\n test('should convert quote into order from actions menu', async ({ page }) => {\n await login(page, 'admin');\n await createSalesDocument(page, { kind: 'quote' });\n await addCustomLine(page, {\n name: `QA TC-SALES-002 ${Date.now()}`,\n quantity: 1,\n unitPriceGross: 25,\n });\n\n await page.getByRole('button', { name: /^Actions$/i }).click();\n const convertMenuItem = page.getByRole('menuitem', { name: /Convert to order/i });\n const convertButton = page.getByRole('button', { name: /Convert to order/i });\n if (await convertMenuItem.count()) {\n await convertMenuItem.first().click();\n } else if (await convertButton.count()) {\n await convertButton.first().click();\n } else {\n test.skip(true, 'Convert to order action is not exposed in this environment state.');\n }\n\n const confirmButton = page.getByRole('button', { name: /Convert|Create order|Continue/i }).last();\n if (await confirmButton.isVisible().catch(() => false)) {\n await confirmButton.click();\n }\n\n await expect(page).toHaveURL(/\\/backend\\/sales\\/documents\\/[0-9a-f-]{36}\\?kind=order$/i);\n await expect(page.getByText('Sales order', { exact: true })).toBeVisible();\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,eAAe,2BAA2B;AAMnD,KAAK,SAAS,2CAA2C,MAAM;AAC7D,OAAK,qDAAqD,OAAO,EAAE,KAAK,MAAM;AAC5E,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,oBAAoB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,UAAM,cAAc,MAAM;AAAA,MACxB,MAAM,mBAAmB,KAAK,IAAI,CAAC;AAAA,MACnC,UAAU;AAAA,MACV,gBAAgB;AAAA,IAClB,CAAC;AAED,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,aAAa,CAAC,EAAE,MAAM;AAC7D,UAAM,kBAAkB,KAAK,UAAU,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChF,UAAM,gBAAgB,KAAK,UAAU,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5E,QAAI,MAAM,gBAAgB,MAAM,GAAG;AACjC,YAAM,gBAAgB,MAAM,EAAE,MAAM;AAAA,IACtC,WAAW,MAAM,cAAc,MAAM,GAAG;AACtC,YAAM,cAAc,MAAM,EAAE,MAAM;AAAA,IACpC,OAAO;AACL,WAAK,KAAK,MAAM,mEAAmE;AAAA,IACrF;AAEA,UAAM,gBAAgB,KAAK,UAAU,UAAU,EAAE,MAAM,iCAAiC,CAAC,EAAE,KAAK;AAChG,QAAI,MAAM,cAAc,UAAU,EAAE,MAAM,MAAM,KAAK,GAAG;AACtD,YAAM,cAAc,MAAM;AAAA,IAC5B;AAEA,UAAM,OAAO,IAAI,EAAE,UAAU,0DAA0D;AACvF,UAAM,OAAO,KAAK,UAAU,eAAe,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,YAAY;AAAA,EAC3E,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
import { createSalesDocument } from "@open-mercato/core/modules/core/__integration__/helpers/salesUi";
|
|
4
|
-
test.describe("TC-SALES-003: Order Creation", () => {
|
|
5
|
-
test("should create a sales order from UI create form", async ({ page }) => {
|
|
6
|
-
await login(page, "admin");
|
|
7
|
-
const orderId = await createSalesDocument(page, { kind: "order" });
|
|
8
|
-
expect(orderId).toMatch(/[0-9a-f-]{36}/i);
|
|
9
|
-
await expect(page.getByText("Sales order", { exact: true })).toBeVisible();
|
|
10
|
-
await expect(page.getByRole("button", { name: /ORDER-/i })).toBeVisible();
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
//# sourceMappingURL=TC-SALES-003.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-003.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { createSalesDocument } from '@open-mercato/core/modules/core/__integration__/helpers/salesUi';\n\n/**\n * TC-SALES-003: Order Creation\n * Source: .ai/qa/scenarios/TC-SALES-003-order-creation.md\n */\ntest.describe('TC-SALES-003: Order Creation', () => {\n test('should create a sales order from UI create form', async ({ page }) => {\n await login(page, 'admin');\n const orderId = await createSalesDocument(page, { kind: 'order' });\n\n expect(orderId).toMatch(/[0-9a-f-]{36}/i);\n await expect(page.getByText('Sales order', { exact: true })).toBeVisible();\n await expect(page.getByRole('button', { name: /ORDER-/i })).toBeVisible();\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,2BAA2B;AAMpC,KAAK,SAAS,gCAAgC,MAAM;AAClD,OAAK,mDAAmD,OAAO,EAAE,KAAK,MAAM;AAC1E,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,UAAU,MAAM,oBAAoB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEjE,WAAO,OAAO,EAAE,QAAQ,gBAAgB;AACxC,UAAM,OAAO,KAAK,UAAU,eAAe,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,YAAY;AACzE,UAAM,OAAO,KAAK,UAAU,UAAU,EAAE,MAAM,UAAU,CAAC,CAAC,EAAE,YAAY;AAAA,EAC1E,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
import { addCustomLine, createSalesDocument, updateLineQuantity } from "@open-mercato/core/modules/core/__integration__/helpers/salesUi";
|
|
4
|
-
test.describe("TC-SALES-004: Order Line Management", () => {
|
|
5
|
-
test("should create and update order line in UI", async ({ page }) => {
|
|
6
|
-
const lineName = `QA TC-SALES-004 ${Date.now()}`;
|
|
7
|
-
await login(page, "admin");
|
|
8
|
-
await createSalesDocument(page, { kind: "order" });
|
|
9
|
-
await addCustomLine(page, { name: lineName, quantity: 2, unitPriceGross: 13 });
|
|
10
|
-
await updateLineQuantity(page, lineName, 5);
|
|
11
|
-
await expect(page.getByRole("row", { name: new RegExp(`${lineName}.*\\b5\\b`, "i") })).toBeVisible();
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
//# sourceMappingURL=TC-SALES-004.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-004.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { addCustomLine, createSalesDocument, updateLineQuantity } from '@open-mercato/core/modules/core/__integration__/helpers/salesUi';\n\n/**\n * TC-SALES-004: Order Line Management\n * Source: .ai/qa/scenarios/TC-SALES-004-order-line-management.md\n */\ntest.describe('TC-SALES-004: Order Line Management', () => {\n test('should create and update order line in UI', async ({ page }) => {\n const lineName = `QA TC-SALES-004 ${Date.now()}`;\n\n await login(page, 'admin');\n await createSalesDocument(page, { kind: 'order' });\n await addCustomLine(page, { name: lineName, quantity: 2, unitPriceGross: 13 });\n await updateLineQuantity(page, lineName, 5);\n await expect(page.getByRole('row', { name: new RegExp(`${lineName}.*\\\\b5\\\\b`, 'i') })).toBeVisible();\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,eAAe,qBAAqB,0BAA0B;AAMvE,KAAK,SAAS,uCAAuC,MAAM;AACzD,OAAK,6CAA6C,OAAO,EAAE,KAAK,MAAM;AACpE,UAAM,WAAW,mBAAmB,KAAK,IAAI,CAAC;AAE9C,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,oBAAoB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,UAAM,cAAc,MAAM,EAAE,MAAM,UAAU,UAAU,GAAG,gBAAgB,GAAG,CAAC;AAC7E,UAAM,mBAAmB,MAAM,UAAU,CAAC;AAC1C,UAAM,OAAO,KAAK,UAAU,OAAO,EAAE,MAAM,IAAI,OAAO,GAAG,QAAQ,aAAa,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY;AAAA,EACrG,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
import { addAdjustment, addCustomLine, createSalesDocument } from "@open-mercato/core/modules/core/__integration__/helpers/salesUi";
|
|
4
|
-
test.describe("TC-SALES-005: Order Discount Adjustment", () => {
|
|
5
|
-
test("should add discount adjustment on order from UI", async ({ page }) => {
|
|
6
|
-
const adjustmentLabel = `QA Discount ${Date.now()}`;
|
|
7
|
-
await login(page, "admin");
|
|
8
|
-
await createSalesDocument(page, { kind: "order" });
|
|
9
|
-
await addCustomLine(page, { name: `QA Item ${Date.now()}`, quantity: 1, unitPriceGross: 50 });
|
|
10
|
-
await addAdjustment(page, { label: adjustmentLabel, kindLabel: "Discount", netAmount: 5 });
|
|
11
|
-
await expect(page.getByRole("row", { name: new RegExp(adjustmentLabel, "i") })).toBeVisible();
|
|
12
|
-
await expect(page.getByText("Discount", { exact: true })).toBeVisible();
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=TC-SALES-005.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-005.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { addAdjustment, addCustomLine, createSalesDocument } from '@open-mercato/core/modules/core/__integration__/helpers/salesUi';\n\n/**\n * TC-SALES-005: Order Discount Adjustment\n * Source: .ai/qa/scenarios/TC-SALES-005-order-discount-adjustment.md\n */\ntest.describe('TC-SALES-005: Order Discount Adjustment', () => {\n test('should add discount adjustment on order from UI', async ({ page }) => {\n const adjustmentLabel = `QA Discount ${Date.now()}`;\n\n await login(page, 'admin');\n await createSalesDocument(page, { kind: 'order' });\n await addCustomLine(page, { name: `QA Item ${Date.now()}`, quantity: 1, unitPriceGross: 50 });\n await addAdjustment(page, { label: adjustmentLabel, kindLabel: 'Discount', netAmount: 5 });\n\n await expect(page.getByRole('row', { name: new RegExp(adjustmentLabel, 'i') })).toBeVisible();\n await expect(page.getByText('Discount', { exact: true })).toBeVisible();\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,eAAe,eAAe,2BAA2B;AAMlE,KAAK,SAAS,2CAA2C,MAAM;AAC7D,OAAK,mDAAmD,OAAO,EAAE,KAAK,MAAM;AAC1E,UAAM,kBAAkB,eAAe,KAAK,IAAI,CAAC;AAEjD,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,oBAAoB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,UAAM,cAAc,MAAM,EAAE,MAAM,WAAW,KAAK,IAAI,CAAC,IAAI,UAAU,GAAG,gBAAgB,GAAG,CAAC;AAC5F,UAAM,cAAc,MAAM,EAAE,OAAO,iBAAiB,WAAW,YAAY,WAAW,EAAE,CAAC;AAEzF,UAAM,OAAO,KAAK,UAAU,OAAO,EAAE,MAAM,IAAI,OAAO,iBAAiB,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY;AAC5F,UAAM,OAAO,KAAK,UAAU,YAAY,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,YAAY;AAAA,EACxE,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
import { addCustomLine, createSalesDocument } from "@open-mercato/core/modules/core/__integration__/helpers/salesUi";
|
|
4
|
-
test.describe("TC-SALES-006: Order Tax Calculation", () => {
|
|
5
|
-
test("should display tax-aware net/gross amounts on order line in UI", async ({ page }) => {
|
|
6
|
-
const lineName = `QA TC-SALES-006 ${Date.now()}`;
|
|
7
|
-
await login(page, "admin");
|
|
8
|
-
await createSalesDocument(page, { kind: "order" });
|
|
9
|
-
await addCustomLine(page, {
|
|
10
|
-
name: lineName,
|
|
11
|
-
quantity: 1,
|
|
12
|
-
unitPriceGross: 123,
|
|
13
|
-
taxClassName: "23% VAT \u2022 VAT-23 \u2022 23%"
|
|
14
|
-
});
|
|
15
|
-
const row = page.getByRole("row", { name: new RegExp(lineName, "i") });
|
|
16
|
-
await expect(row).toContainText("$123.00 gross");
|
|
17
|
-
await expect(row).toContainText("$123.00 net");
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
//# sourceMappingURL=TC-SALES-006.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-006.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { addCustomLine, createSalesDocument } from '@open-mercato/core/modules/core/__integration__/helpers/salesUi';\n\n/**\n * TC-SALES-006: Order Tax Calculation\n * Source: .ai/qa/scenarios/TC-SALES-006-order-tax-calculation.md\n */\ntest.describe('TC-SALES-006: Order Tax Calculation', () => {\n test('should display tax-aware net/gross amounts on order line in UI', async ({ page }) => {\n const lineName = `QA TC-SALES-006 ${Date.now()}`;\n\n await login(page, 'admin');\n await createSalesDocument(page, { kind: 'order' });\n await addCustomLine(page, {\n name: lineName,\n quantity: 1,\n unitPriceGross: 123,\n taxClassName: '23% VAT \u2022 VAT-23 \u2022 23%',\n });\n\n const row = page.getByRole('row', { name: new RegExp(lineName, 'i') });\n await expect(row).toContainText('$123.00 gross');\n await expect(row).toContainText('$123.00 net');\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,eAAe,2BAA2B;AAMnD,KAAK,SAAS,uCAAuC,MAAM;AACzD,OAAK,kEAAkE,OAAO,EAAE,KAAK,MAAM;AACzF,UAAM,WAAW,mBAAmB,KAAK,IAAI,CAAC;AAE9C,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,oBAAoB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,UAAM,cAAc,MAAM;AAAA,MACxB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB,CAAC;AAED,UAAM,MAAM,KAAK,UAAU,OAAO,EAAE,MAAM,IAAI,OAAO,UAAU,GAAG,EAAE,CAAC;AACrE,UAAM,OAAO,GAAG,EAAE,cAAc,eAAe;AAC/C,UAAM,OAAO,GAAG,EAAE,cAAc,aAAa;AAAA,EAC/C,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
import { addCustomLine, addShipment, createSalesDocument } from "@open-mercato/core/modules/core/__integration__/helpers/salesUi";
|
|
4
|
-
test.describe("TC-SALES-007: Shipment Recording", () => {
|
|
5
|
-
test("should create shipment from order UI", async ({ page }) => {
|
|
6
|
-
await login(page, "admin");
|
|
7
|
-
await createSalesDocument(page, { kind: "order" });
|
|
8
|
-
await addCustomLine(page, {
|
|
9
|
-
name: `QA TC-SALES-007 ${Date.now()}`,
|
|
10
|
-
quantity: 1,
|
|
11
|
-
unitPriceGross: 42
|
|
12
|
-
});
|
|
13
|
-
const shipmentResult = await addShipment(page);
|
|
14
|
-
expect(shipmentResult.added, "Shipment should be saved successfully").toBeTruthy();
|
|
15
|
-
await page.getByRole("button", { name: /^Shipments$/i }).click();
|
|
16
|
-
await expect(page.getByText(new RegExp(`Shipment\\s+${shipmentResult.shipmentNumber}`, "i")).first()).toBeVisible();
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
//# sourceMappingURL=TC-SALES-007.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-007.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { addCustomLine, addShipment, createSalesDocument } from '@open-mercato/core/modules/core/__integration__/helpers/salesUi';\n\n/**\n * TC-SALES-007: Shipment Recording\n * Source: .ai/qa/scenarios/TC-SALES-007-shipment-recording.md\n */\ntest.describe('TC-SALES-007: Shipment Recording', () => {\n test('should create shipment from order UI', async ({ page }) => {\n await login(page, 'admin');\n await createSalesDocument(page, { kind: 'order' });\n await addCustomLine(page, {\n name: `QA TC-SALES-007 ${Date.now()}`,\n quantity: 1,\n unitPriceGross: 42,\n });\n const shipmentResult = await addShipment(page);\n expect(shipmentResult.added, 'Shipment should be saved successfully').toBeTruthy();\n await page.getByRole('button', { name: /^Shipments$/i }).click();\n await expect(page.getByText(new RegExp(`Shipment\\\\s+${shipmentResult.shipmentNumber}`, 'i')).first()).toBeVisible();\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,eAAe,aAAa,2BAA2B;AAMhE,KAAK,SAAS,oCAAoC,MAAM;AACtD,OAAK,wCAAwC,OAAO,EAAE,KAAK,MAAM;AAC/D,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,oBAAoB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,UAAM,cAAc,MAAM;AAAA,MACxB,MAAM,mBAAmB,KAAK,IAAI,CAAC;AAAA,MACnC,UAAU;AAAA,MACV,gBAAgB;AAAA,IAClB,CAAC;AACD,UAAM,iBAAiB,MAAM,YAAY,IAAI;AAC7C,WAAO,eAAe,OAAO,uCAAuC,EAAE,WAAW;AACjF,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,eAAe,CAAC,EAAE,MAAM;AAC/D,UAAM,OAAO,KAAK,UAAU,IAAI,OAAO,eAAe,eAAe,cAAc,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY;AAAA,EACpH,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { test } from "@playwright/test";
|
|
2
|
-
test.describe("TC-SALES-008: Invoice Creation Full", () => {
|
|
3
|
-
test("is not executable in current module", async () => {
|
|
4
|
-
test.skip(true, "No /api/sales/invoices route available in current module.");
|
|
5
|
-
});
|
|
6
|
-
});
|
|
7
|
-
//# sourceMappingURL=TC-SALES-008.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-008.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { test } from '@playwright/test';\n\n/**\n * TC-SALES-008: Invoice Creation Full\n * Source: .ai/qa/scenarios/TC-SALES-008-invoice-creation-full.md\n */\ntest.describe('TC-SALES-008: Invoice Creation Full', () => {\n test('is not executable in current module', async () => {\n test.skip(true, 'No /api/sales/invoices route available in current module.');\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,YAAY;AAMrB,KAAK,SAAS,uCAAuC,MAAM;AACzD,OAAK,uCAAuC,YAAY;AACtD,SAAK,KAAK,MAAM,2DAA2D;AAAA,EAC7E,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { test } from "@playwright/test";
|
|
2
|
-
test.describe("TC-SALES-009: Invoice Creation Partial", () => {
|
|
3
|
-
test("is not executable in current module", async () => {
|
|
4
|
-
test.skip(true, "No /api/sales/invoices route available in current module.");
|
|
5
|
-
});
|
|
6
|
-
});
|
|
7
|
-
//# sourceMappingURL=TC-SALES-009.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-009.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { test } from '@playwright/test';\n\n/**\n * TC-SALES-009: Invoice Creation Partial\n * Source: .ai/qa/scenarios/TC-SALES-009-invoice-creation-partial.md\n */\ntest.describe('TC-SALES-009: Invoice Creation Partial', () => {\n test('is not executable in current module', async () => {\n test.skip(true, 'No /api/sales/invoices route available in current module.');\n });\n});\n\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,YAAY;AAMrB,KAAK,SAAS,0CAA0C,MAAM;AAC5D,OAAK,uCAAuC,YAAY;AACtD,SAAK,KAAK,MAAM,2DAA2D;AAAA,EAC7E,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
import { addCustomLine, addPayment, createSalesDocument } from "@open-mercato/core/modules/core/__integration__/helpers/salesUi";
|
|
4
|
-
test.describe("TC-SALES-010: Payment Recording", () => {
|
|
5
|
-
test("should record payment from order payments UI", async ({ page }) => {
|
|
6
|
-
const amount = 42.37;
|
|
7
|
-
await login(page, "admin");
|
|
8
|
-
await createSalesDocument(page, { kind: "order" });
|
|
9
|
-
await addCustomLine(page, { name: `QA TC-SALES-010 ${Date.now()}`, quantity: 1, unitPriceGross: 42 });
|
|
10
|
-
const paymentResult = await addPayment(page, amount);
|
|
11
|
-
expect(paymentResult.added, "Payment should be saved successfully").toBeTruthy();
|
|
12
|
-
await page.getByRole("button", { name: /^Payments$/i }).click();
|
|
13
|
-
await expect(page.getByText(/Last operation:\s*Create payment/i).first()).toBeVisible();
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=TC-SALES-010.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-010.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { addCustomLine, addPayment, createSalesDocument } from '@open-mercato/core/modules/core/__integration__/helpers/salesUi';\n\n/**\n * TC-SALES-010: Payment Recording\n * Source: .ai/qa/scenarios/TC-SALES-010-payment-recording.md\n */\ntest.describe('TC-SALES-010: Payment Recording', () => {\n test('should record payment from order payments UI', async ({ page }) => {\n const amount = 42.37;\n await login(page, 'admin');\n await createSalesDocument(page, { kind: 'order' });\n await addCustomLine(page, { name: `QA TC-SALES-010 ${Date.now()}`, quantity: 1, unitPriceGross: 42 });\n const paymentResult = await addPayment(page, amount);\n expect(paymentResult.added, 'Payment should be saved successfully').toBeTruthy();\n await page.getByRole('button', { name: /^Payments$/i }).click();\n await expect(page.getByText(/Last operation:\\s*Create payment/i).first()).toBeVisible();\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,eAAe,YAAY,2BAA2B;AAM/D,KAAK,SAAS,mCAAmC,MAAM;AACrD,OAAK,gDAAgD,OAAO,EAAE,KAAK,MAAM;AACvE,UAAM,SAAS;AACf,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,oBAAoB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,UAAM,cAAc,MAAM,EAAE,MAAM,mBAAmB,KAAK,IAAI,CAAC,IAAI,UAAU,GAAG,gBAAgB,GAAG,CAAC;AACpG,UAAM,gBAAgB,MAAM,WAAW,MAAM,MAAM;AACnD,WAAO,cAAc,OAAO,sCAAsC,EAAE,WAAW;AAC/E,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,cAAc,CAAC,EAAE,MAAM;AAC9D,UAAM,OAAO,KAAK,UAAU,mCAAmC,EAAE,MAAM,CAAC,EAAE,YAAY;AAAA,EACxF,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
import { addCustomLine, createSalesDocument } from "@open-mercato/core/modules/core/__integration__/helpers/salesUi";
|
|
4
|
-
test.describe("TC-SALES-011: Payment Allocation", () => {
|
|
5
|
-
test("should expose allocation controls in payment UI when available", async ({ page }) => {
|
|
6
|
-
await login(page, "admin");
|
|
7
|
-
await createSalesDocument(page, { kind: "order" });
|
|
8
|
-
await addCustomLine(page, { name: `QA TC-SALES-011 ${Date.now()}`, quantity: 1, unitPriceGross: 60 });
|
|
9
|
-
await page.getByRole("button", { name: /^Payments$/i }).click();
|
|
10
|
-
await page.getByRole("button", { name: /Add payment/i }).click();
|
|
11
|
-
const dialog = page.getByRole("dialog", { name: /Add payment/i });
|
|
12
|
-
await expect(dialog).toBeVisible();
|
|
13
|
-
const allocationText = dialog.getByText(/allocation|allocate/i);
|
|
14
|
-
if (await allocationText.count() === 0) {
|
|
15
|
-
test.skip(true, "Payment allocation controls are not available in current UI.");
|
|
16
|
-
}
|
|
17
|
-
await expect(allocationText.first()).toBeVisible();
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
//# sourceMappingURL=TC-SALES-011.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-011.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { addCustomLine, createSalesDocument } from '@open-mercato/core/modules/core/__integration__/helpers/salesUi';\n\n/**\n * TC-SALES-011: Payment Allocation\n * Source: .ai/qa/scenarios/TC-SALES-011-payment-allocation.md\n */\ntest.describe('TC-SALES-011: Payment Allocation', () => {\n test('should expose allocation controls in payment UI when available', async ({ page }) => {\n await login(page, 'admin');\n await createSalesDocument(page, { kind: 'order' });\n await addCustomLine(page, { name: `QA TC-SALES-011 ${Date.now()}`, quantity: 1, unitPriceGross: 60 });\n\n await page.getByRole('button', { name: /^Payments$/i }).click();\n await page.getByRole('button', { name: /Add payment/i }).click();\n const dialog = page.getByRole('dialog', { name: /Add payment/i });\n await expect(dialog).toBeVisible();\n\n const allocationText = dialog.getByText(/allocation|allocate/i);\n if ((await allocationText.count()) === 0) {\n test.skip(true, 'Payment allocation controls are not available in current UI.');\n }\n await expect(allocationText.first()).toBeVisible();\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,eAAe,2BAA2B;AAMnD,KAAK,SAAS,oCAAoC,MAAM;AACtD,OAAK,kEAAkE,OAAO,EAAE,KAAK,MAAM;AACzF,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,oBAAoB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,UAAM,cAAc,MAAM,EAAE,MAAM,mBAAmB,KAAK,IAAI,CAAC,IAAI,UAAU,GAAG,gBAAgB,GAAG,CAAC;AAEpG,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,cAAc,CAAC,EAAE,MAAM;AAC9D,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,eAAe,CAAC,EAAE,MAAM;AAC/D,UAAM,SAAS,KAAK,UAAU,UAAU,EAAE,MAAM,eAAe,CAAC;AAChE,UAAM,OAAO,MAAM,EAAE,YAAY;AAEjC,UAAM,iBAAiB,OAAO,UAAU,sBAAsB;AAC9D,QAAK,MAAM,eAAe,MAAM,MAAO,GAAG;AACxC,WAAK,KAAK,MAAM,8DAA8D;AAAA,IAChF;AACA,UAAM,OAAO,eAAe,MAAM,CAAC,EAAE,YAAY;AAAA,EACnD,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { test } from "@playwright/test";
|
|
2
|
-
test.describe("TC-SALES-012: Credit Memo Creation", () => {
|
|
3
|
-
test("is not executable in current module", async () => {
|
|
4
|
-
test.skip(true, "No /api/sales/credit-memos route available in current module.");
|
|
5
|
-
});
|
|
6
|
-
});
|
|
7
|
-
//# sourceMappingURL=TC-SALES-012.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-012.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { test } from '@playwright/test';\n\n/**\n * TC-SALES-012: Credit Memo Creation\n * Source: .ai/qa/scenarios/TC-SALES-012-credit-memo-creation.md\n */\ntest.describe('TC-SALES-012: Credit Memo Creation', () => {\n test('is not executable in current module', async () => {\n test.skip(true, 'No /api/sales/credit-memos route available in current module.');\n });\n});\n\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,YAAY;AAMrB,KAAK,SAAS,sCAAsC,MAAM;AACxD,OAAK,uCAAuC,YAAY;AACtD,SAAK,KAAK,MAAM,+DAA+D;AAAA,EACjF,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
import { apiRequest, getAuthToken } from "@open-mercato/core/modules/core/__integration__/helpers/api";
|
|
4
|
-
function readId(payload) {
|
|
5
|
-
if (!payload || typeof payload !== "object") return null;
|
|
6
|
-
const record = payload;
|
|
7
|
-
for (const key of ["id", "entityId", "channelId"]) {
|
|
8
|
-
const value = record[key];
|
|
9
|
-
if (typeof value === "string" && value.length > 0) return value;
|
|
10
|
-
}
|
|
11
|
-
for (const nested of Object.values(record)) {
|
|
12
|
-
if (nested && typeof nested === "object" && !Array.isArray(nested)) {
|
|
13
|
-
const candidate = readId(nested);
|
|
14
|
-
if (candidate) return candidate;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
test.describe("TC-SALES-013: Sales Channel Config", () => {
|
|
20
|
-
test("should create and update a sales channel in UI", async ({ page, request }) => {
|
|
21
|
-
const base = Date.now();
|
|
22
|
-
const name = `QA Channel ${base}`;
|
|
23
|
-
const updatedName = `QA Channel Updated ${base}`;
|
|
24
|
-
const code = `qa-channel-${base}`;
|
|
25
|
-
let token = null;
|
|
26
|
-
let channelId = null;
|
|
27
|
-
try {
|
|
28
|
-
token = await getAuthToken(request);
|
|
29
|
-
await login(page, "admin");
|
|
30
|
-
await page.goto("/backend/sales/channels");
|
|
31
|
-
await page.getByRole("link", { name: /Add channel/i }).click();
|
|
32
|
-
const createForm = page.locator("form").first();
|
|
33
|
-
await createForm.getByRole("textbox").nth(0).fill(name);
|
|
34
|
-
await createForm.getByRole("textbox").nth(1).fill(code);
|
|
35
|
-
const createResponsePromise = page.waitForResponse(
|
|
36
|
-
(response) => response.request().method() === "POST" && /\/api\/sales\/channels(?:\?|$)/.test(response.url()),
|
|
37
|
-
{ timeout: 1e4 }
|
|
38
|
-
);
|
|
39
|
-
await createForm.getByRole("button", { name: /Create channel|Create/i }).first().click();
|
|
40
|
-
const createResponse = await createResponsePromise;
|
|
41
|
-
expect(createResponse.ok(), `Channel create failed with ${createResponse.status()}`).toBeTruthy();
|
|
42
|
-
const createBody = await createResponse.json().catch(() => null);
|
|
43
|
-
channelId = readId(createBody);
|
|
44
|
-
expect(channelId, "Channel id should be present in create response").toBeTruthy();
|
|
45
|
-
await page.goto(`/backend/sales/channels/${channelId}/edit`);
|
|
46
|
-
await expect(page).toHaveURL(/\/backend\/sales\/channels\/[0-9a-f-]{36}\/edit$/i);
|
|
47
|
-
const editForm = page.locator("form").first();
|
|
48
|
-
await editForm.getByRole("textbox").nth(0).fill(updatedName);
|
|
49
|
-
const updateResponsePromise = page.waitForResponse(
|
|
50
|
-
(response) => response.request().method() === "PUT" && /\/api\/sales\/channels(?:\?|$)/.test(response.url()),
|
|
51
|
-
{ timeout: 1e4 }
|
|
52
|
-
);
|
|
53
|
-
await editForm.getByRole("button", { name: /Save changes|Update|Save/i }).first().click();
|
|
54
|
-
const updateResponse = await updateResponsePromise;
|
|
55
|
-
expect(updateResponse.ok(), `Channel update failed with ${updateResponse.status()}`).toBeTruthy();
|
|
56
|
-
await page.goto(`/backend/sales/channels/${channelId}/edit`);
|
|
57
|
-
await expect(editForm.getByRole("textbox").nth(0)).toHaveValue(updatedName);
|
|
58
|
-
} finally {
|
|
59
|
-
if (token && channelId) {
|
|
60
|
-
await apiRequest(request, "DELETE", `/api/sales/channels?id=${encodeURIComponent(channelId)}`, { token }).catch(() => {
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
//# sourceMappingURL=TC-SALES-013.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-013.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { apiRequest, getAuthToken } from '@open-mercato/core/modules/core/__integration__/helpers/api';\n\nfunction readId(payload: unknown): string | null {\n if (!payload || typeof payload !== 'object') return null;\n const record = payload as Record<string, unknown>;\n for (const key of ['id', 'entityId', 'channelId']) {\n const value = record[key];\n if (typeof value === 'string' && value.length > 0) return value;\n }\n for (const nested of Object.values(record)) {\n if (nested && typeof nested === 'object' && !Array.isArray(nested)) {\n const candidate = readId(nested);\n if (candidate) return candidate;\n }\n }\n return null;\n}\n\n/**\n * TC-SALES-013: Sales Channel Config\n * Source: .ai/qa/scenarios/TC-SALES-013-sales-channel-config.md\n */\ntest.describe('TC-SALES-013: Sales Channel Config', () => {\n test('should create and update a sales channel in UI', async ({ page, request }) => {\n const base = Date.now();\n const name = `QA Channel ${base}`;\n const updatedName = `QA Channel Updated ${base}`;\n const code = `qa-channel-${base}`;\n let token: string | null = null;\n let channelId: string | null = null;\n\n try {\n token = await getAuthToken(request);\n await login(page, 'admin');\n await page.goto('/backend/sales/channels');\n await page.getByRole('link', { name: /Add channel/i }).click();\n\n const createForm = page.locator('form').first();\n await createForm.getByRole('textbox').nth(0).fill(name);\n await createForm.getByRole('textbox').nth(1).fill(code);\n const createResponsePromise = page.waitForResponse(\n (response) => response.request().method() === 'POST' && /\\/api\\/sales\\/channels(?:\\?|$)/.test(response.url()),\n { timeout: 10_000 },\n );\n await createForm.getByRole('button', { name: /Create channel|Create/i }).first().click();\n const createResponse = await createResponsePromise;\n expect(createResponse.ok(), `Channel create failed with ${createResponse.status()}`).toBeTruthy();\n const createBody = (await createResponse.json().catch(() => null)) as unknown;\n channelId = readId(createBody);\n expect(channelId, 'Channel id should be present in create response').toBeTruthy();\n\n await page.goto(`/backend/sales/channels/${channelId}/edit`);\n await expect(page).toHaveURL(/\\/backend\\/sales\\/channels\\/[0-9a-f-]{36}\\/edit$/i);\n const editForm = page.locator('form').first();\n await editForm.getByRole('textbox').nth(0).fill(updatedName);\n const updateResponsePromise = page.waitForResponse(\n (response) => response.request().method() === 'PUT' && /\\/api\\/sales\\/channels(?:\\?|$)/.test(response.url()),\n { timeout: 10_000 },\n );\n await editForm.getByRole('button', { name: /Save changes|Update|Save/i }).first().click();\n const updateResponse = await updateResponsePromise;\n expect(updateResponse.ok(), `Channel update failed with ${updateResponse.status()}`).toBeTruthy();\n await page.goto(`/backend/sales/channels/${channelId}/edit`);\n await expect(editForm.getByRole('textbox').nth(0)).toHaveValue(updatedName);\n } finally {\n if (token && channelId) {\n await apiRequest(request, 'DELETE', `/api/sales/channels?id=${encodeURIComponent(channelId)}`, { token }).catch(() => {});\n }\n }\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,YAAY,oBAAoB;AAEzC,SAAS,OAAO,SAAiC;AAC/C,MAAI,CAAC,WAAW,OAAO,YAAY,SAAU,QAAO;AACpD,QAAM,SAAS;AACf,aAAW,OAAO,CAAC,MAAM,YAAY,WAAW,GAAG;AACjD,UAAM,QAAQ,OAAO,GAAG;AACxB,QAAI,OAAO,UAAU,YAAY,MAAM,SAAS,EAAG,QAAO;AAAA,EAC5D;AACA,aAAW,UAAU,OAAO,OAAO,MAAM,GAAG;AAC1C,QAAI,UAAU,OAAO,WAAW,YAAY,CAAC,MAAM,QAAQ,MAAM,GAAG;AAClE,YAAM,YAAY,OAAO,MAAM;AAC/B,UAAI,UAAW,QAAO;AAAA,IACxB;AAAA,EACF;AACA,SAAO;AACT;AAMA,KAAK,SAAS,sCAAsC,MAAM;AACxD,OAAK,kDAAkD,OAAO,EAAE,MAAM,QAAQ,MAAM;AAClF,UAAM,OAAO,KAAK,IAAI;AACtB,UAAM,OAAO,cAAc,IAAI;AAC/B,UAAM,cAAc,sBAAsB,IAAI;AAC9C,UAAM,OAAO,cAAc,IAAI;AAC/B,QAAI,QAAuB;AAC3B,QAAI,YAA2B;AAE/B,QAAI;AACF,cAAQ,MAAM,aAAa,OAAO;AAClC,YAAM,MAAM,MAAM,OAAO;AACzB,YAAM,KAAK,KAAK,yBAAyB;AACzC,YAAM,KAAK,UAAU,QAAQ,EAAE,MAAM,eAAe,CAAC,EAAE,MAAM;AAE7D,YAAM,aAAa,KAAK,QAAQ,MAAM,EAAE,MAAM;AAC9C,YAAM,WAAW,UAAU,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI;AACtD,YAAM,WAAW,UAAU,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI;AACtD,YAAM,wBAAwB,KAAK;AAAA,QACjC,CAAC,aAAa,SAAS,QAAQ,EAAE,OAAO,MAAM,UAAU,iCAAiC,KAAK,SAAS,IAAI,CAAC;AAAA,QAC5G,EAAE,SAAS,IAAO;AAAA,MACpB;AACA,YAAM,WAAW,UAAU,UAAU,EAAE,MAAM,yBAAyB,CAAC,EAAE,MAAM,EAAE,MAAM;AACvF,YAAM,iBAAiB,MAAM;AAC7B,aAAO,eAAe,GAAG,GAAG,8BAA8B,eAAe,OAAO,CAAC,EAAE,EAAE,WAAW;AAChG,YAAM,aAAc,MAAM,eAAe,KAAK,EAAE,MAAM,MAAM,IAAI;AAChE,kBAAY,OAAO,UAAU;AAC7B,aAAO,WAAW,iDAAiD,EAAE,WAAW;AAEhF,YAAM,KAAK,KAAK,2BAA2B,SAAS,OAAO;AAC3D,YAAM,OAAO,IAAI,EAAE,UAAU,mDAAmD;AAChF,YAAM,WAAW,KAAK,QAAQ,MAAM,EAAE,MAAM;AAC5C,YAAM,SAAS,UAAU,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,WAAW;AAC3D,YAAM,wBAAwB,KAAK;AAAA,QACjC,CAAC,aAAa,SAAS,QAAQ,EAAE,OAAO,MAAM,SAAS,iCAAiC,KAAK,SAAS,IAAI,CAAC;AAAA,QAC3G,EAAE,SAAS,IAAO;AAAA,MACpB;AACA,YAAM,SAAS,UAAU,UAAU,EAAE,MAAM,4BAA4B,CAAC,EAAE,MAAM,EAAE,MAAM;AACxF,YAAM,iBAAiB,MAAM;AAC7B,aAAO,eAAe,GAAG,GAAG,8BAA8B,eAAe,OAAO,CAAC,EAAE,EAAE,WAAW;AAChG,YAAM,KAAK,KAAK,2BAA2B,SAAS,OAAO;AAC3D,YAAM,OAAO,SAAS,UAAU,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,YAAY,WAAW;AAAA,IAC5E,UAAE;AACA,UAAI,SAAS,WAAW;AACtB,cAAM,WAAW,SAAS,UAAU,0BAA0B,mBAAmB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,MAAM;AAAA,QAAC,CAAC;AAAA,MAC1H;AAAA,IACF;AAAA,EACF,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
test.describe("TC-SALES-014: Shipping Method Config", () => {
|
|
4
|
-
test("should open shipping method creation dialog in UI", async ({ page }) => {
|
|
5
|
-
await login(page, "admin");
|
|
6
|
-
await page.goto("/backend/config/sales");
|
|
7
|
-
await page.getByRole("button", { name: /Add shipping method/i }).click();
|
|
8
|
-
const dialog = page.getByRole("dialog", { name: /Add shipping method/i });
|
|
9
|
-
await expect(dialog).toBeVisible();
|
|
10
|
-
await expect(dialog.getByText(/Shipping/i)).toBeVisible();
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
//# sourceMappingURL=TC-SALES-014.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-014.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\n\n/**\n * TC-SALES-014: Shipping Method Config\n * Source: .ai/qa/scenarios/TC-SALES-014-shipping-method-config.md\n */\ntest.describe('TC-SALES-014: Shipping Method Config', () => {\n test('should open shipping method creation dialog in UI', async ({ page }) => {\n await login(page, 'admin');\n await page.goto('/backend/config/sales');\n await page.getByRole('button', { name: /Add shipping method/i }).click();\n const dialog = page.getByRole('dialog', { name: /Add shipping method/i });\n await expect(dialog).toBeVisible();\n await expect(dialog.getByText(/Shipping/i)).toBeVisible();\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AAMtB,KAAK,SAAS,wCAAwC,MAAM;AAC1D,OAAK,qDAAqD,OAAO,EAAE,KAAK,MAAM;AAC5E,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,KAAK,KAAK,uBAAuB;AACvC,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,uBAAuB,CAAC,EAAE,MAAM;AACvE,UAAM,SAAS,KAAK,UAAU,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxE,UAAM,OAAO,MAAM,EAAE,YAAY;AACjC,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,EAAE,YAAY;AAAA,EAC1D,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
test.describe("TC-SALES-015: Payment Method Config", () => {
|
|
4
|
-
test("should open payment method creation dialog in UI", async ({ page }) => {
|
|
5
|
-
await login(page, "admin");
|
|
6
|
-
await page.goto("/backend/config/sales");
|
|
7
|
-
await page.getByRole("button", { name: /Add payment method/i }).click();
|
|
8
|
-
const dialog = page.getByRole("dialog", { name: /Add payment method/i });
|
|
9
|
-
await expect(dialog).toBeVisible();
|
|
10
|
-
await expect(dialog.getByText(/Payment/i)).toBeVisible();
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
//# sourceMappingURL=TC-SALES-015.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-015.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\n\n/**\n * TC-SALES-015: Payment Method Config\n * Source: .ai/qa/scenarios/TC-SALES-015-payment-method-config.md\n */\ntest.describe('TC-SALES-015: Payment Method Config', () => {\n test('should open payment method creation dialog in UI', async ({ page }) => {\n await login(page, 'admin');\n await page.goto('/backend/config/sales');\n await page.getByRole('button', { name: /Add payment method/i }).click();\n const dialog = page.getByRole('dialog', { name: /Add payment method/i });\n await expect(dialog).toBeVisible();\n await expect(dialog.getByText(/Payment/i)).toBeVisible();\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AAMtB,KAAK,SAAS,uCAAuC,MAAM;AACzD,OAAK,oDAAoD,OAAO,EAAE,KAAK,MAAM;AAC3E,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,KAAK,KAAK,uBAAuB;AACvC,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,sBAAsB,CAAC,EAAE,MAAM;AACtE,UAAM,SAAS,KAAK,UAAU,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvE,UAAM,OAAO,MAAM,EAAE,YAAY;AACjC,UAAM,OAAO,OAAO,UAAU,UAAU,CAAC,EAAE,YAAY;AAAA,EACzD,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
test.describe("TC-SALES-016: Tax Rate Configuration", () => {
|
|
4
|
-
test("should open tax rate creation dialog in UI", async ({ page }) => {
|
|
5
|
-
await login(page, "admin");
|
|
6
|
-
await page.goto("/backend/config/sales");
|
|
7
|
-
await page.getByRole("button", { name: /Add tax rate/i }).click();
|
|
8
|
-
const dialog = page.getByRole("dialog", { name: /Add tax rate/i });
|
|
9
|
-
await expect(dialog).toBeVisible();
|
|
10
|
-
await expect(dialog.getByText(/Tax rate/i)).toBeVisible();
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
//# sourceMappingURL=TC-SALES-016.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-016.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\n\n/**\n * TC-SALES-016: Tax Rate Configuration\n * Source: .ai/qa/scenarios/TC-SALES-016-tax-rate-configuration.md\n */\ntest.describe('TC-SALES-016: Tax Rate Configuration', () => {\n test('should open tax rate creation dialog in UI', async ({ page }) => {\n await login(page, 'admin');\n await page.goto('/backend/config/sales');\n await page.getByRole('button', { name: /Add tax rate/i }).click();\n const dialog = page.getByRole('dialog', { name: /Add tax rate/i });\n await expect(dialog).toBeVisible();\n await expect(dialog.getByText(/Tax rate/i)).toBeVisible();\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AAMtB,KAAK,SAAS,wCAAwC,MAAM;AAC1D,OAAK,8CAA8C,OAAO,EAAE,KAAK,MAAM;AACrE,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,KAAK,KAAK,uBAAuB;AACvC,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,gBAAgB,CAAC,EAAE,MAAM;AAChE,UAAM,SAAS,KAAK,UAAU,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjE,UAAM,OAAO,MAAM,EAAE,YAAY;AACjC,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,EAAE,YAAY;AAAA,EAC1D,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
import { addCustomLine, createSalesDocument, readGrandTotalGross } from "@open-mercato/core/modules/core/__integration__/helpers/salesUi";
|
|
4
|
-
test.describe("TC-SALES-017: Multi-Adjustment Totals Recalculation", () => {
|
|
5
|
-
async function submitAdjustment(page, params) {
|
|
6
|
-
await page.getByRole("button", { name: /^Adjustments$/i }).click();
|
|
7
|
-
await page.getByRole("button", { name: /Add adjustment/i }).first().click();
|
|
8
|
-
const dialog = page.getByRole("dialog", { name: /Add adjustment/i });
|
|
9
|
-
await expect(dialog).toBeVisible();
|
|
10
|
-
for (let attempt = 0; attempt < 3; attempt += 1) {
|
|
11
|
-
await dialog.getByRole("combobox").first().selectOption({ label: params.kind }).catch(() => {
|
|
12
|
-
});
|
|
13
|
-
await dialog.getByRole("textbox", { name: /e\.g\. Shipping fee/i }).fill(params.label).catch(async () => {
|
|
14
|
-
await dialog.locator('input[placeholder="e.g. Shipping fee"]').first().fill(params.label);
|
|
15
|
-
});
|
|
16
|
-
const amountInputs = dialog.locator('input[placeholder="0.00"]:not([disabled])');
|
|
17
|
-
if (await amountInputs.count() > 0) {
|
|
18
|
-
await amountInputs.first().fill(String(params.amount));
|
|
19
|
-
}
|
|
20
|
-
if (await amountInputs.count() > 1) {
|
|
21
|
-
await amountInputs.nth(1).fill(String(params.amount));
|
|
22
|
-
}
|
|
23
|
-
await dialog.getByRole("button", { name: /Add adjustment/i }).click();
|
|
24
|
-
const closed = await dialog.waitFor({ state: "hidden", timeout: 2500 }).then(() => true).catch(() => false);
|
|
25
|
-
if (closed) return;
|
|
26
|
-
const hasRequiredValidation = await dialog.getByText(/This field is required/i).first().isVisible().catch(() => false);
|
|
27
|
-
if (!hasRequiredValidation) break;
|
|
28
|
-
}
|
|
29
|
-
await expect(dialog).toBeHidden({ timeout: 8e3 });
|
|
30
|
-
}
|
|
31
|
-
test("should recalculate grand total after multiple adjustments", async ({ page }) => {
|
|
32
|
-
await login(page, "admin");
|
|
33
|
-
await createSalesDocument(page, { kind: "order" });
|
|
34
|
-
await addCustomLine(page, { name: `QA TC-SALES-017 Item ${Date.now()}`, quantity: 1, unitPriceGross: 100 });
|
|
35
|
-
const initialGross = await readGrandTotalGross(page);
|
|
36
|
-
await submitAdjustment(page, { label: `QA Fee ${Date.now()}`, kind: "Surcharge", amount: 15 });
|
|
37
|
-
const grossAfterFee = await readGrandTotalGross(page);
|
|
38
|
-
expect(grossAfterFee).toBeGreaterThan(initialGross);
|
|
39
|
-
await submitAdjustment(page, { label: `QA Discount ${Date.now()}`, kind: "Discount", amount: 10 });
|
|
40
|
-
const grossAfterDiscount = await readGrandTotalGross(page);
|
|
41
|
-
expect(grossAfterDiscount).toBeLessThan(grossAfterFee);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
//# sourceMappingURL=TC-SALES-017.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-017.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { addCustomLine, createSalesDocument, readGrandTotalGross } from '@open-mercato/core/modules/core/__integration__/helpers/salesUi';\n\n/**\n * TC-SALES-017: Multi-Adjustment Totals Recalculation\n * Source: .ai/qa/scenarios/TC-SALES-017-multi-adjustment-totals.md\n */\ntest.describe('TC-SALES-017: Multi-Adjustment Totals Recalculation', () => {\n async function submitAdjustment(page: import('@playwright/test').Page, params: {\n label: string;\n kind: 'Discount' | 'Surcharge';\n amount: number;\n }): Promise<void> {\n await page.getByRole('button', { name: /^Adjustments$/i }).click();\n await page.getByRole('button', { name: /Add adjustment/i }).first().click();\n\n const dialog = page.getByRole('dialog', { name: /Add adjustment/i });\n await expect(dialog).toBeVisible();\n\n for (let attempt = 0; attempt < 3; attempt += 1) {\n await dialog.getByRole('combobox').first().selectOption({ label: params.kind }).catch(() => {});\n await dialog.getByRole('textbox', { name: /e\\.g\\. Shipping fee/i }).fill(params.label).catch(async () => {\n await dialog.locator('input[placeholder=\"e.g. Shipping fee\"]').first().fill(params.label);\n });\n\n const amountInputs = dialog.locator('input[placeholder=\"0.00\"]:not([disabled])');\n if ((await amountInputs.count()) > 0) {\n await amountInputs.first().fill(String(params.amount));\n }\n if ((await amountInputs.count()) > 1) {\n await amountInputs.nth(1).fill(String(params.amount));\n }\n\n await dialog.getByRole('button', { name: /Add adjustment/i }).click();\n const closed = await dialog.waitFor({ state: 'hidden', timeout: 2_500 }).then(() => true).catch(() => false);\n if (closed) return;\n\n const hasRequiredValidation = await dialog.getByText(/This field is required/i).first().isVisible().catch(() => false);\n if (!hasRequiredValidation) break;\n }\n await expect(dialog).toBeHidden({ timeout: 8_000 });\n }\n\n test('should recalculate grand total after multiple adjustments', async ({ page }) => {\n await login(page, 'admin');\n await createSalesDocument(page, { kind: 'order' });\n await addCustomLine(page, { name: `QA TC-SALES-017 Item ${Date.now()}`, quantity: 1, unitPriceGross: 100 });\n\n const initialGross = await readGrandTotalGross(page);\n\n await submitAdjustment(page, { label: `QA Fee ${Date.now()}`, kind: 'Surcharge', amount: 15 });\n const grossAfterFee = await readGrandTotalGross(page);\n expect(grossAfterFee).toBeGreaterThan(initialGross);\n\n await submitAdjustment(page, { label: `QA Discount ${Date.now()}`, kind: 'Discount', amount: 10 });\n const grossAfterDiscount = await readGrandTotalGross(page);\n expect(grossAfterDiscount).toBeLessThan(grossAfterFee);\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,eAAe,qBAAqB,2BAA2B;AAMxE,KAAK,SAAS,uDAAuD,MAAM;AACzE,iBAAe,iBAAiB,MAAuC,QAIrD;AAChB,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,iBAAiB,CAAC,EAAE,MAAM;AACjE,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM;AAE1E,UAAM,SAAS,KAAK,UAAU,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,UAAM,OAAO,MAAM,EAAE,YAAY;AAEjC,aAAS,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG;AAC/C,YAAM,OAAO,UAAU,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,OAAO,KAAK,CAAC,EAAE,MAAM,MAAM;AAAA,MAAC,CAAC;AAC9F,YAAM,OAAO,UAAU,WAAW,EAAE,MAAM,uBAAuB,CAAC,EAAE,KAAK,OAAO,KAAK,EAAE,MAAM,YAAY;AACvG,cAAM,OAAO,QAAQ,wCAAwC,EAAE,MAAM,EAAE,KAAK,OAAO,KAAK;AAAA,MAC1F,CAAC;AAED,YAAM,eAAe,OAAO,QAAQ,2CAA2C;AAC/E,UAAK,MAAM,aAAa,MAAM,IAAK,GAAG;AACpC,cAAM,aAAa,MAAM,EAAE,KAAK,OAAO,OAAO,MAAM,CAAC;AAAA,MACvD;AACA,UAAK,MAAM,aAAa,MAAM,IAAK,GAAG;AACpC,cAAM,aAAa,IAAI,CAAC,EAAE,KAAK,OAAO,OAAO,MAAM,CAAC;AAAA,MACtD;AAEA,YAAM,OAAO,UAAU,UAAU,EAAE,MAAM,kBAAkB,CAAC,EAAE,MAAM;AACpE,YAAM,SAAS,MAAM,OAAO,QAAQ,EAAE,OAAO,UAAU,SAAS,KAAM,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,MAAM,MAAM,KAAK;AAC3G,UAAI,OAAQ;AAEZ,YAAM,wBAAwB,MAAM,OAAO,UAAU,yBAAyB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,MAAM,KAAK;AACrH,UAAI,CAAC,sBAAuB;AAAA,IAC9B;AACA,UAAM,OAAO,MAAM,EAAE,WAAW,EAAE,SAAS,IAAM,CAAC;AAAA,EACpD;AAEA,OAAK,6DAA6D,OAAO,EAAE,KAAK,MAAM;AACpF,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,oBAAoB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,UAAM,cAAc,MAAM,EAAE,MAAM,wBAAwB,KAAK,IAAI,CAAC,IAAI,UAAU,GAAG,gBAAgB,IAAI,CAAC;AAE1G,UAAM,eAAe,MAAM,oBAAoB,IAAI;AAEnD,UAAM,iBAAiB,MAAM,EAAE,OAAO,UAAU,KAAK,IAAI,CAAC,IAAI,MAAM,aAAa,QAAQ,GAAG,CAAC;AAC7F,UAAM,gBAAgB,MAAM,oBAAoB,IAAI;AACpD,WAAO,aAAa,EAAE,gBAAgB,YAAY;AAElD,UAAM,iBAAiB,MAAM,EAAE,OAAO,eAAe,KAAK,IAAI,CAAC,IAAI,MAAM,YAAY,QAAQ,GAAG,CAAC;AACjG,UAAM,qBAAqB,MAAM,oBAAoB,IAAI;AACzD,WAAO,kBAAkB,EAAE,aAAa,aAAa;AAAA,EACvD,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
import { addCustomLine, addShipment, createSalesDocument, readGrandTotalGross } from "@open-mercato/core/modules/core/__integration__/helpers/salesUi";
|
|
4
|
-
test.describe("TC-SALES-018: Shipment Cost Impact on Totals", () => {
|
|
5
|
-
test("should change totals after recording shipment with tracking", async ({ page }) => {
|
|
6
|
-
await login(page, "admin");
|
|
7
|
-
await createSalesDocument(page, { kind: "order" });
|
|
8
|
-
await addCustomLine(page, { name: `QA TC-SALES-018 Item ${Date.now()}`, quantity: 1, unitPriceGross: 80 });
|
|
9
|
-
const grossBeforeShipment = await readGrandTotalGross(page);
|
|
10
|
-
const shipmentResult = await addShipment(page);
|
|
11
|
-
expect(shipmentResult.added, "Shipment should be saved successfully").toBeTruthy();
|
|
12
|
-
const grossAfterShipment = await readGrandTotalGross(page);
|
|
13
|
-
expect(grossAfterShipment).toBeGreaterThan(grossBeforeShipment);
|
|
14
|
-
await page.getByRole("button", { name: /^Shipments$/i }).click();
|
|
15
|
-
await expect(page.getByText(new RegExp(`Shipment\\s+${shipmentResult.shipmentNumber}`, "i")).first()).toBeVisible();
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
//# sourceMappingURL=TC-SALES-018.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-018.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { addCustomLine, addShipment, createSalesDocument, readGrandTotalGross } from '@open-mercato/core/modules/core/__integration__/helpers/salesUi';\n\n/**\n * TC-SALES-018: Shipment Cost Impact on Totals\n * Source: .ai/qa/scenarios/TC-SALES-018-shipment-cost-total-impact.md\n */\ntest.describe('TC-SALES-018: Shipment Cost Impact on Totals', () => {\n test('should change totals after recording shipment with tracking', async ({ page }) => {\n await login(page, 'admin');\n await createSalesDocument(page, { kind: 'order' });\n await addCustomLine(page, { name: `QA TC-SALES-018 Item ${Date.now()}`, quantity: 1, unitPriceGross: 80 });\n\n const grossBeforeShipment = await readGrandTotalGross(page);\n const shipmentResult = await addShipment(page);\n expect(shipmentResult.added, 'Shipment should be saved successfully').toBeTruthy();\n\n const grossAfterShipment = await readGrandTotalGross(page);\n expect(grossAfterShipment).toBeGreaterThan(grossBeforeShipment);\n\n await page.getByRole('button', { name: /^Shipments$/i }).click();\n await expect(page.getByText(new RegExp(`Shipment\\\\s+${shipmentResult.shipmentNumber}`, 'i')).first()).toBeVisible();\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,eAAe,aAAa,qBAAqB,2BAA2B;AAMrF,KAAK,SAAS,gDAAgD,MAAM;AAClE,OAAK,+DAA+D,OAAO,EAAE,KAAK,MAAM;AACtF,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,oBAAoB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,UAAM,cAAc,MAAM,EAAE,MAAM,wBAAwB,KAAK,IAAI,CAAC,IAAI,UAAU,GAAG,gBAAgB,GAAG,CAAC;AAEzG,UAAM,sBAAsB,MAAM,oBAAoB,IAAI;AAC1D,UAAM,iBAAiB,MAAM,YAAY,IAAI;AAC7C,WAAO,eAAe,OAAO,uCAAuC,EAAE,WAAW;AAEjF,UAAM,qBAAqB,MAAM,oBAAoB,IAAI;AACzD,WAAO,kBAAkB,EAAE,gBAAgB,mBAAmB;AAE9D,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,eAAe,CAAC,EAAE,MAAM;AAC/D,UAAM,OAAO,KAAK,UAAU,IAAI,OAAO,eAAe,eAAe,cAAc,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY;AAAA,EACpH,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "@playwright/test";
|
|
2
|
-
import { login } from "@open-mercato/core/modules/core/__integration__/helpers/auth";
|
|
3
|
-
import { addCustomLine, addPayment, createSalesDocument, readGrandTotalGross } from "@open-mercato/core/modules/core/__integration__/helpers/salesUi";
|
|
4
|
-
test.describe("TC-SALES-019: Payment Entry and Grand Total Stability", () => {
|
|
5
|
-
test("should keep grand total stable after payment is recorded", async ({ page }) => {
|
|
6
|
-
await login(page, "admin");
|
|
7
|
-
await createSalesDocument(page, { kind: "order" });
|
|
8
|
-
await addCustomLine(page, { name: `QA TC-SALES-019 Item ${Date.now()}`, quantity: 1, unitPriceGross: 60 });
|
|
9
|
-
const grossBeforePayment = await readGrandTotalGross(page);
|
|
10
|
-
const paymentResult = await addPayment(page, 20);
|
|
11
|
-
expect(paymentResult.added, "Payment should be saved successfully").toBeTruthy();
|
|
12
|
-
const grossAfterPayment = await readGrandTotalGross(page);
|
|
13
|
-
expect(grossAfterPayment).toBe(grossBeforePayment);
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=TC-SALES-019.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/sales/__integration__/TC-SALES-019.spec.ts"],
|
|
4
|
-
"sourcesContent": ["import { expect, test } from '@playwright/test';\nimport { login } from '@open-mercato/core/modules/core/__integration__/helpers/auth';\nimport { addCustomLine, addPayment, createSalesDocument, readGrandTotalGross } from '@open-mercato/core/modules/core/__integration__/helpers/salesUi';\n\n/**\n * TC-SALES-019: Payment Entry and Grand Total Stability\n * Source: .ai/qa/scenarios/TC-SALES-019-payment-entry-total-stability.md\n */\ntest.describe('TC-SALES-019: Payment Entry and Grand Total Stability', () => {\n test('should keep grand total stable after payment is recorded', async ({ page }) => {\n await login(page, 'admin');\n await createSalesDocument(page, { kind: 'order' });\n await addCustomLine(page, { name: `QA TC-SALES-019 Item ${Date.now()}`, quantity: 1, unitPriceGross: 60 });\n\n const grossBeforePayment = await readGrandTotalGross(page);\n const paymentResult = await addPayment(page, 20);\n expect(paymentResult.added, 'Payment should be saved successfully').toBeTruthy();\n\n const grossAfterPayment = await readGrandTotalGross(page);\n expect(grossAfterPayment).toBe(grossBeforePayment);\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,aAAa;AACtB,SAAS,eAAe,YAAY,qBAAqB,2BAA2B;AAMpF,KAAK,SAAS,yDAAyD,MAAM;AAC3E,OAAK,4DAA4D,OAAO,EAAE,KAAK,MAAM;AACnF,UAAM,MAAM,MAAM,OAAO;AACzB,UAAM,oBAAoB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,UAAM,cAAc,MAAM,EAAE,MAAM,wBAAwB,KAAK,IAAI,CAAC,IAAI,UAAU,GAAG,gBAAgB,GAAG,CAAC;AAEzG,UAAM,qBAAqB,MAAM,oBAAoB,IAAI;AACzD,UAAM,gBAAgB,MAAM,WAAW,MAAM,EAAE;AAC/C,WAAO,cAAc,OAAO,sCAAsC,EAAE,WAAW;AAE/E,UAAM,oBAAoB,MAAM,oBAAoB,IAAI;AACxD,WAAO,iBAAiB,EAAE,KAAK,kBAAkB;AAAA,EACnD,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|