@accounter/server 0.0.9-alpha-20251231123714-6cdd9de71b4672d74ece5d34c438d162987b2c93 → 0.0.9-alpha-20251231163357-33d4c33fec5e21dad2e04d1f293f6248d2550588

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CHANGELOG.md +27 -5
  2. package/README.md +66 -3
  3. package/dist/server/scripts/seed-admin-context.js +20 -25
  4. package/dist/server/scripts/seed-admin-context.js.map +1 -1
  5. package/dist/server/src/__tests__/db-bootstrap.test.js +7 -2
  6. package/dist/server/src/__tests__/db-bootstrap.test.js.map +1 -1
  7. package/dist/server/src/__tests__/factories/business.d.ts +1 -1
  8. package/dist/server/src/__tests__/factories/financial-account.d.ts +1 -1
  9. package/dist/server/src/__tests__/factories/index.test.js +1 -0
  10. package/dist/server/src/__tests__/factories/index.test.js.map +1 -1
  11. package/dist/server/src/__tests__/factories/tax-category.d.ts +1 -1
  12. package/dist/server/src/__tests__/factories/tax-category.js +1 -1
  13. package/dist/server/src/__tests__/factories/tax-category.js.map +1 -1
  14. package/dist/server/src/__tests__/factories/tax-category.test.js +8 -6
  15. package/dist/server/src/__tests__/factories/tax-category.test.js.map +1 -1
  16. package/dist/server/src/__tests__/helpers/fixture-loader.d.ts +1 -1
  17. package/dist/server/src/__tests__/helpers/fixture-loader.js +25 -52
  18. package/dist/server/src/__tests__/helpers/fixture-loader.js.map +1 -1
  19. package/dist/server/src/__tests__/helpers/migration-verification.d.ts +1 -1
  20. package/dist/server/src/__tests__/helpers/migration-verification.js.map +1 -1
  21. package/dist/server/src/__tests__/helpers/seed-helpers.business.test.js +4 -4
  22. package/dist/server/src/__tests__/helpers/seed-helpers.business.test.js.map +1 -1
  23. package/dist/server/src/__tests__/helpers/seed-helpers.d.ts +9 -9
  24. package/dist/server/src/__tests__/helpers/seed-helpers.js +57 -54
  25. package/dist/server/src/__tests__/helpers/seed-helpers.js.map +1 -1
  26. package/dist/server/src/__tests__/seed-admin-context.integration.test.js +2 -1
  27. package/dist/server/src/__tests__/seed-admin-context.integration.test.js.map +1 -1
  28. package/dist/server/src/demo-fixtures/__tests__/deterministic-uuid.test.js +3 -2
  29. package/dist/server/src/demo-fixtures/__tests__/deterministic-uuid.test.js.map +1 -1
  30. package/dist/server/src/demo-fixtures/__tests__/seed-and-validate.test.d.ts +1 -0
  31. package/dist/server/src/demo-fixtures/__tests__/seed-and-validate.test.js +69 -0
  32. package/dist/server/src/demo-fixtures/__tests__/seed-and-validate.test.js.map +1 -0
  33. package/dist/server/src/demo-fixtures/__tests__/use-case-registry.test.d.ts +1 -0
  34. package/dist/server/src/demo-fixtures/__tests__/use-case-registry.test.js +26 -0
  35. package/dist/server/src/demo-fixtures/__tests__/use-case-registry.test.js.map +1 -0
  36. package/dist/server/src/demo-fixtures/helpers/admin-context.d.ts +10 -0
  37. package/dist/server/src/demo-fixtures/helpers/admin-context.js +40 -0
  38. package/dist/server/src/demo-fixtures/helpers/admin-context.js.map +1 -0
  39. package/dist/server/src/demo-fixtures/helpers/placeholder.d.ts +45 -0
  40. package/dist/server/src/demo-fixtures/helpers/placeholder.js +50 -0
  41. package/dist/server/src/demo-fixtures/helpers/placeholder.js.map +1 -0
  42. package/dist/server/src/demo-fixtures/helpers/seed-exchange-rates.d.ts +21 -0
  43. package/dist/server/src/demo-fixtures/helpers/seed-exchange-rates.js +26 -0
  44. package/dist/server/src/demo-fixtures/helpers/seed-exchange-rates.js.map +1 -0
  45. package/dist/server/src/demo-fixtures/helpers/seed-vat.d.ts +20 -0
  46. package/dist/server/src/demo-fixtures/helpers/seed-vat.js +30 -0
  47. package/dist/server/src/demo-fixtures/helpers/seed-vat.js.map +1 -0
  48. package/dist/server/src/demo-fixtures/use-cases/equity/shareholder-dividend.d.ts +9 -0
  49. package/dist/server/src/demo-fixtures/use-cases/equity/shareholder-dividend.js +86 -0
  50. package/dist/server/src/demo-fixtures/use-cases/equity/shareholder-dividend.js.map +1 -0
  51. package/dist/server/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.d.ts +12 -0
  52. package/dist/server/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.js +375 -0
  53. package/dist/server/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.js.map +1 -0
  54. package/dist/server/src/demo-fixtures/use-cases/income/client-payment-with-refund.d.ts +10 -0
  55. package/dist/server/src/demo-fixtures/use-cases/income/client-payment-with-refund.js +113 -0
  56. package/dist/server/src/demo-fixtures/use-cases/income/client-payment-with-refund.js.map +1 -0
  57. package/dist/server/src/demo-fixtures/use-cases/index.d.ts +41 -0
  58. package/dist/server/src/demo-fixtures/use-cases/index.js +50 -0
  59. package/dist/server/src/demo-fixtures/use-cases/index.js.map +1 -0
  60. package/dist/server/src/demo-fixtures/validate-demo-data.d.ts +1 -0
  61. package/dist/server/src/demo-fixtures/validate-demo-data.js +117 -0
  62. package/dist/server/src/demo-fixtures/validate-demo-data.js.map +1 -0
  63. package/dist/server/src/demo-fixtures/validators/ledger-validators.d.ts +349 -0
  64. package/dist/server/src/demo-fixtures/validators/ledger-validators.js +602 -0
  65. package/dist/server/src/demo-fixtures/validators/ledger-validators.js.map +1 -0
  66. package/dist/server/src/demo-fixtures/validators/ledger-validators.test.d.ts +1 -0
  67. package/dist/server/src/demo-fixtures/validators/ledger-validators.test.js +247 -0
  68. package/dist/server/src/demo-fixtures/validators/ledger-validators.test.js.map +1 -0
  69. package/dist/server/src/demo-fixtures/validators/types.d.ts +69 -0
  70. package/dist/server/src/demo-fixtures/validators/types.js +8 -0
  71. package/dist/server/src/demo-fixtures/validators/types.js.map +1 -0
  72. package/dist/server/src/fixtures/fixture-spec.d.ts +146 -0
  73. package/dist/server/src/fixtures/fixture-spec.js +2 -0
  74. package/dist/server/src/fixtures/fixture-spec.js.map +1 -0
  75. package/dist/server/src/modules/charges-matcher/__tests__/single-match-integration.test.js +4 -0
  76. package/dist/server/src/modules/charges-matcher/__tests__/single-match-integration.test.js.map +1 -1
  77. package/dist/server/src/modules/deel/resolvers/deel.resolvers.js +0 -3
  78. package/dist/server/src/modules/deel/resolvers/deel.resolvers.js.map +1 -1
  79. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.js +4 -3
  80. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.js.map +1 -1
  81. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.js +5 -3
  82. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.js.map +1 -1
  83. package/dist/server/src/shared/constants.d.ts +1 -0
  84. package/dist/server/src/shared/constants.js +1 -0
  85. package/dist/server/src/shared/constants.js.map +1 -1
  86. package/dist/server/src/shared/helpers/misc.js +2 -2
  87. package/dist/server/src/shared/helpers/misc.js.map +1 -1
  88. package/docs/demo-staging-guide.md +611 -0
  89. package/package.json +5 -2
  90. package/scripts/seed-admin-context.ts +22 -33
  91. package/src/__tests__/db-bootstrap.test.ts +9 -2
  92. package/src/__tests__/factories/business.ts +1 -1
  93. package/src/__tests__/factories/financial-account.ts +1 -1
  94. package/src/__tests__/factories/index.test.ts +1 -0
  95. package/src/__tests__/factories/tax-category.test.ts +8 -6
  96. package/src/__tests__/factories/tax-category.ts +2 -2
  97. package/src/__tests__/helpers/fixture-loader.ts +26 -61
  98. package/src/__tests__/helpers/migration-verification.ts +2 -2
  99. package/src/__tests__/helpers/seed-helpers.business.test.ts +4 -4
  100. package/src/__tests__/helpers/seed-helpers.ts +66 -75
  101. package/src/__tests__/seed-admin-context.integration.test.ts +2 -1
  102. package/src/demo-fixtures/__tests__/deterministic-uuid.test.ts +3 -2
  103. package/src/demo-fixtures/__tests__/seed-and-validate.test.ts +96 -0
  104. package/src/demo-fixtures/__tests__/use-case-registry.test.ts +27 -0
  105. package/src/demo-fixtures/helpers/admin-context.ts +59 -0
  106. package/src/demo-fixtures/helpers/placeholder.ts +50 -0
  107. package/src/demo-fixtures/helpers/seed-exchange-rates.ts +29 -0
  108. package/src/demo-fixtures/helpers/seed-vat.ts +35 -0
  109. package/src/demo-fixtures/use-cases/equity/shareholder-dividend.ts +88 -0
  110. package/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.ts +377 -0
  111. package/src/demo-fixtures/use-cases/income/client-payment-with-refund.ts +115 -0
  112. package/src/demo-fixtures/use-cases/index.ts +52 -0
  113. package/src/demo-fixtures/validate-demo-data.ts +153 -0
  114. package/src/demo-fixtures/validators/README.md +190 -0
  115. package/src/demo-fixtures/validators/ledger-validators.test.ts +298 -0
  116. package/src/demo-fixtures/validators/ledger-validators.ts +711 -0
  117. package/src/demo-fixtures/validators/types.ts +83 -0
  118. package/src/fixtures/fixture-spec.ts +158 -0
  119. package/src/modules/charges-matcher/__tests__/single-match-integration.test.ts +6 -0
  120. package/src/modules/deel/resolvers/deel.resolvers.ts +0 -3
  121. package/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.ts +4 -3
  122. package/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.ts +6 -3
  123. package/src/shared/constants.ts +2 -0
  124. package/src/shared/helpers/misc.ts +2 -3
@@ -0,0 +1,247 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { isBalanced, parseAmount, validateDates, validateEntityBalance, validateForeignCurrency, validateLedgerRecords, validateNoOrphanedAmounts, validatePositiveAmounts, validateRecordInternalBalance, } from './ledger-validators';
3
+ const mockContext = {
4
+ useCaseId: 'test-case',
5
+ defaultCurrency: 'ILS',
6
+ tolerance: 0.005,
7
+ };
8
+ function createMockRecord(overrides = {}) {
9
+ return {
10
+ id: 'rec-1',
11
+ charge_id: 'charge-1',
12
+ owner_id: 'owner-1',
13
+ debit_entity1: null,
14
+ debit_local_amount1: null,
15
+ debit_foreign_amount1: null,
16
+ debit_entity2: null,
17
+ debit_local_amount2: null,
18
+ debit_foreign_amount2: null,
19
+ credit_entity1: null,
20
+ credit_local_amount1: null,
21
+ credit_foreign_amount1: null,
22
+ credit_entity2: null,
23
+ credit_local_amount2: null,
24
+ credit_foreign_amount2: null,
25
+ currency: 'ILS',
26
+ invoice_date: new Date('2024-01-01'),
27
+ value_date: new Date('2024-01-01'),
28
+ description: null,
29
+ reference1: null,
30
+ locked: false,
31
+ ...overrides,
32
+ };
33
+ }
34
+ describe('parseAmount', () => {
35
+ it('should parse valid number strings', () => {
36
+ expect(parseAmount('100.50')).toBe(100.5);
37
+ expect(parseAmount('0')).toBe(0);
38
+ });
39
+ it('should handle null and undefined', () => {
40
+ expect(parseAmount(null)).toBe(0);
41
+ expect(parseAmount(undefined)).toBe(0);
42
+ });
43
+ it('should handle invalid strings', () => {
44
+ expect(parseAmount('invalid')).toBe(0);
45
+ expect(parseAmount('')).toBe(0);
46
+ });
47
+ });
48
+ describe('isBalanced', () => {
49
+ it('should return true for equal values', () => {
50
+ expect(isBalanced(100, 100)).toBe(true);
51
+ });
52
+ it('should return true for values within tolerance', () => {
53
+ expect(isBalanced(100, 100.005, 0.005)).toBe(true);
54
+ });
55
+ it('should return false for values outside tolerance', () => {
56
+ expect(isBalanced(100, 102, 0.005)).toBe(false);
57
+ });
58
+ });
59
+ describe('validateRecordInternalBalance', () => {
60
+ it('should pass for balanced record', () => {
61
+ const record = createMockRecord({
62
+ debit_entity1: 'entity-1',
63
+ debit_local_amount1: '100.00',
64
+ credit_entity1: 'entity-2',
65
+ credit_local_amount1: '100.00',
66
+ });
67
+ const errors = validateRecordInternalBalance([record], mockContext);
68
+ expect(errors).toHaveLength(0);
69
+ });
70
+ it('should fail for unbalanced record', () => {
71
+ const record = createMockRecord({
72
+ debit_local_amount1: '100.00',
73
+ credit_local_amount1: '99.00',
74
+ });
75
+ const errors = validateRecordInternalBalance([record], mockContext);
76
+ expect(errors).toHaveLength(1);
77
+ expect(errors[0]).toContain('internal imbalance');
78
+ expect(errors[0]).toContain('debit=100.00');
79
+ expect(errors[0]).toContain('credit=99.00');
80
+ });
81
+ it('should detect empty records', () => {
82
+ const record = createMockRecord({
83
+ // All amounts null/zero
84
+ });
85
+ const errors = validateRecordInternalBalance([record], mockContext);
86
+ expect(errors.length).toBeGreaterThan(0);
87
+ expect(errors[0]).toContain('empty record');
88
+ });
89
+ });
90
+ describe('validateEntityBalance', () => {
91
+ it('should pass when all entities balance to zero', () => {
92
+ const records = [
93
+ createMockRecord({
94
+ debit_entity1: 'entity-1',
95
+ debit_local_amount1: '100.00',
96
+ credit_entity1: 'entity-2',
97
+ credit_local_amount1: '100.00',
98
+ }),
99
+ createMockRecord({
100
+ id: 'rec-2',
101
+ debit_entity1: 'entity-2',
102
+ debit_local_amount1: '100.00',
103
+ credit_entity1: 'entity-1',
104
+ credit_local_amount1: '100.00',
105
+ }),
106
+ ];
107
+ const errors = validateEntityBalance(records, mockContext);
108
+ expect(errors).toHaveLength(0);
109
+ });
110
+ it('should fail when entity has unbalanced position', () => {
111
+ const record = createMockRecord({
112
+ debit_entity1: 'entity-1',
113
+ debit_local_amount1: '100.00',
114
+ credit_entity1: 'entity-2',
115
+ credit_local_amount1: '100.00',
116
+ });
117
+ const errors = validateEntityBalance([record], mockContext);
118
+ expect(errors.length).toBeGreaterThan(0);
119
+ expect(errors[0]).toContain('unbalanced');
120
+ expect(errors[0]).toContain('entity-1');
121
+ });
122
+ });
123
+ describe('validateNoOrphanedAmounts', () => {
124
+ it('should fail when amount exists without entity', () => {
125
+ const record = createMockRecord({
126
+ debit_entity1: null,
127
+ debit_local_amount1: '100.00',
128
+ });
129
+ const errors = validateNoOrphanedAmounts([record], mockContext);
130
+ expect(errors.length).toBeGreaterThan(0);
131
+ expect(errors[0]).toContain('orphaned amount');
132
+ });
133
+ it('should pass when amounts have entities', () => {
134
+ const record = createMockRecord({
135
+ debit_entity1: 'entity-1',
136
+ debit_local_amount1: '100.00',
137
+ credit_entity1: 'entity-2',
138
+ credit_local_amount1: '100.00',
139
+ });
140
+ const errors = validateNoOrphanedAmounts([record], mockContext);
141
+ expect(errors).toHaveLength(0);
142
+ });
143
+ });
144
+ describe('validatePositiveAmounts', () => {
145
+ it('should fail for negative amounts', () => {
146
+ const record = createMockRecord({
147
+ debit_local_amount1: '-100.00',
148
+ });
149
+ const errors = validatePositiveAmounts([record], mockContext);
150
+ expect(errors.length).toBeGreaterThan(0);
151
+ expect(errors[0]).toContain('negative amount');
152
+ });
153
+ it('should pass for positive amounts', () => {
154
+ const record = createMockRecord({
155
+ debit_local_amount1: '100.00',
156
+ credit_local_amount1: '100.00',
157
+ });
158
+ const errors = validatePositiveAmounts([record], mockContext);
159
+ expect(errors).toHaveLength(0);
160
+ });
161
+ });
162
+ describe('validateForeignCurrency', () => {
163
+ it('should require foreign amounts for non-ILS currency', () => {
164
+ const record = createMockRecord({
165
+ currency: 'USD',
166
+ debit_local_amount1: '350.00',
167
+ debit_foreign_amount1: null,
168
+ });
169
+ const errors = validateForeignCurrency([record], mockContext);
170
+ expect(errors.length).toBeGreaterThan(0);
171
+ expect(errors[0]).toContain('no foreign amounts');
172
+ });
173
+ it('should reject foreign amounts for ILS currency', () => {
174
+ const record = createMockRecord({
175
+ currency: 'ILS',
176
+ debit_local_amount1: '100.00',
177
+ debit_foreign_amount1: '100.00',
178
+ });
179
+ const errors = validateForeignCurrency([record], mockContext);
180
+ expect(errors.length).toBeGreaterThan(0);
181
+ expect(errors[0]).toContain('has foreign amounts');
182
+ });
183
+ it('should detect suspicious exchange rates', () => {
184
+ const record = createMockRecord({
185
+ currency: 'USD',
186
+ debit_local_amount1: '1000.00',
187
+ debit_foreign_amount1: '10.00', // Rate = 100
188
+ });
189
+ const errors = validateForeignCurrency([record], mockContext);
190
+ expect(errors.length).toBeGreaterThan(0);
191
+ expect(errors[0]).toContain('suspicious exchange rate');
192
+ });
193
+ });
194
+ describe('validateDates', () => {
195
+ it('should fail for missing dates', () => {
196
+ const record = createMockRecord({
197
+ invoice_date: null,
198
+ });
199
+ const errors = validateDates([record], mockContext);
200
+ expect(errors.length).toBeGreaterThan(0);
201
+ expect(errors[0]).toContain('missing invoice_date');
202
+ });
203
+ it('should fail for dates out of range', () => {
204
+ const record = createMockRecord({
205
+ invoice_date: new Date('1999-01-01'),
206
+ });
207
+ const errors = validateDates([record], mockContext);
208
+ expect(errors.length).toBeGreaterThan(0);
209
+ expect(errors[0]).toContain('out of range');
210
+ });
211
+ });
212
+ describe('validateLedgerRecords', () => {
213
+ it('should pass when all validations succeed', () => {
214
+ // Create two records that balance entities:
215
+ // Record 1: entity-1 debits 100, entity-2 credits 100
216
+ // Record 2: entity-1 credits 100, entity-2 debits 100
217
+ // This ensures each entity has equal debits and credits
218
+ const record1 = createMockRecord({
219
+ debit_entity1: 'entity-1',
220
+ debit_local_amount1: '100.00',
221
+ credit_entity1: 'entity-2',
222
+ credit_local_amount1: '100.00',
223
+ });
224
+ const record2 = createMockRecord({
225
+ debit_entity1: 'entity-2',
226
+ debit_local_amount1: '100.00',
227
+ credit_entity1: 'entity-1',
228
+ credit_local_amount1: '100.00',
229
+ });
230
+ const errors = validateLedgerRecords([record1, record2], 2, mockContext);
231
+ expect(errors).toHaveLength(0);
232
+ });
233
+ it('should collect errors from multiple validators', () => {
234
+ const record = createMockRecord({
235
+ debit_local_amount1: '100.00',
236
+ credit_local_amount1: '99.00', // Imbalance
237
+ debit_entity1: null, // Orphaned amount
238
+ invoice_date: null, // Missing date
239
+ });
240
+ const errors = validateLedgerRecords([record], 1, mockContext);
241
+ expect(errors.length).toBeGreaterThan(1); // Multiple errors
242
+ expect(errors.some(e => e.includes('imbalance'))).toBe(true);
243
+ expect(errors.some(e => e.includes('orphaned'))).toBe(true);
244
+ expect(errors.some(e => e.includes('missing invoice_date'))).toBe(true);
245
+ });
246
+ });
247
+ //# sourceMappingURL=ledger-validators.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger-validators.test.js","sourceRoot":"","sources":["../../../../../src/demo-fixtures/validators/ledger-validators.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * TypeScript interfaces for ledger validation
3
+ *
4
+ * These types match the database schema from accounter_schema.ledger_records
5
+ * and provide context for comprehensive validation of demo data.
6
+ */
7
+ /**
8
+ * Ledger record interface matching the database schema
9
+ *
10
+ * Numeric fields are typed as `string | null` because PostgreSQL returns
11
+ * numeric values as strings when queried via pg driver.
12
+ */
13
+ export interface LedgerRecord {
14
+ id: string;
15
+ owner_id: string | null;
16
+ charge_id: string;
17
+ debit_entity1: string | null;
18
+ debit_foreign_amount1: string | null;
19
+ debit_local_amount1: string | null;
20
+ credit_entity1: string | null;
21
+ credit_foreign_amount1: string | null;
22
+ credit_local_amount1: string | null;
23
+ debit_entity2: string | null;
24
+ debit_foreign_amount2: string | null;
25
+ debit_local_amount2: string | null;
26
+ credit_entity2: string | null;
27
+ credit_foreign_amount2: string | null;
28
+ credit_local_amount2: string | null;
29
+ currency: string;
30
+ invoice_date: Date;
31
+ value_date: Date;
32
+ description: string | null;
33
+ reference1: string | null;
34
+ locked: boolean;
35
+ }
36
+ /**
37
+ * Validation context containing configuration for validation rules
38
+ *
39
+ * Used to pass contextual information to validator functions such as
40
+ * which use-case is being validated and what tolerance to use for
41
+ * balance comparisons.
42
+ */
43
+ export interface ValidationContext {
44
+ /** Unique identifier of the use-case being validated */
45
+ useCaseId: string;
46
+ /** Default local currency (e.g., 'ILS') for foreign currency validation */
47
+ defaultCurrency: string;
48
+ /** Tolerance for floating-point balance comparisons (e.g., 0.01) */
49
+ tolerance: number;
50
+ }
51
+ /**
52
+ * Entity balance tracking for multi-record entity-level validation
53
+ *
54
+ * Aggregates debit and credit amounts across all ledger records
55
+ * for a specific financial entity to verify the entity's net
56
+ * position balances correctly.
57
+ */
58
+ export interface EntityBalance {
59
+ /** Financial entity UUID */
60
+ entityId: string;
61
+ /** Total debit amount in local currency */
62
+ totalDebit: number;
63
+ /** Total credit amount in local currency */
64
+ totalCredit: number;
65
+ /** Net balance (totalDebit - totalCredit), should be ~0 */
66
+ netBalance: number;
67
+ /** Number of ledger records involving this entity */
68
+ recordCount: number;
69
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * TypeScript interfaces for ledger validation
3
+ *
4
+ * These types match the database schema from accounter_schema.ledger_records
5
+ * and provide context for comprehensive validation of demo data.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/demo-fixtures/validators/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,146 @@
1
+ import type { LedgerRecord } from '../demo-fixtures/validators/types.js';
2
+ import type { financial_account_type } from '../modules/financial-accounts/types.js';
3
+ import type { CountryCode, Currency } from '../shared/enums.js';
4
+ /**
5
+ * Tax Category Mapping for Financial Accounts
6
+ */
7
+ export interface TaxCategoryMapping {
8
+ taxCategoryId: string;
9
+ currency: Currency;
10
+ }
11
+ /**
12
+ * Business Entity Fixture
13
+ */
14
+ export interface BusinessFixture {
15
+ id: string;
16
+ name: string;
17
+ country: CountryCode;
18
+ canSettleWithReceipt: boolean;
19
+ }
20
+ /**
21
+ * Tax Category Fixture
22
+ */
23
+ export interface TaxCategoryFixture {
24
+ id: string;
25
+ name: string;
26
+ }
27
+ /**
28
+ * Financial Account Fixture
29
+ */
30
+ export interface FinancialAccountFixture {
31
+ id: string;
32
+ accountNumber: string;
33
+ type: financial_account_type;
34
+ currency: Currency;
35
+ taxCategoryMappings?: TaxCategoryMapping[];
36
+ }
37
+ /**
38
+ * Charge Fixture
39
+ */
40
+ export interface ChargeFixture {
41
+ id: string;
42
+ ownerId: string;
43
+ userDescription: string;
44
+ }
45
+ /**
46
+ * Transaction Fixture
47
+ */
48
+ export interface TransactionFixture {
49
+ id: string;
50
+ chargeId: string;
51
+ businessId: string;
52
+ amount: string;
53
+ currency: Currency;
54
+ eventDate: string;
55
+ debitDate: string;
56
+ accountNumber: string;
57
+ }
58
+ /**
59
+ * Document Fixture
60
+ */
61
+ export interface DocumentFixture {
62
+ id: string;
63
+ chargeId: string;
64
+ creditorId: string;
65
+ debtorId: string;
66
+ serialNumber: string;
67
+ type: string;
68
+ date: string;
69
+ totalAmount: string;
70
+ currencyCode: Currency;
71
+ }
72
+ /**
73
+ * Tag Fixture (Optional)
74
+ */
75
+ export interface TagFixture {
76
+ id: string;
77
+ name: string;
78
+ description?: string;
79
+ }
80
+ /**
81
+ * Fixture Collection for a Use-Case
82
+ */
83
+ export interface FixtureSpec {
84
+ businesses: BusinessFixture[];
85
+ taxCategories: TaxCategoryFixture[];
86
+ financialAccounts: FinancialAccountFixture[];
87
+ charges: ChargeFixture[];
88
+ transactions: TransactionFixture[];
89
+ documents: DocumentFixture[];
90
+ tags?: TagFixture[];
91
+ }
92
+ /**
93
+ * Use-Case Metadata
94
+ */
95
+ export interface UseCaseMetadata {
96
+ author: string;
97
+ createdAt: string;
98
+ updatedAt: string;
99
+ volumeMultiplier?: number;
100
+ }
101
+ /**
102
+ * Ledger Expectations for Validation
103
+ */
104
+ export interface UseCaseExpectations {
105
+ ledgerRecordCount: number;
106
+ totalDebitILS?: string;
107
+ totalCreditILS?: string;
108
+ }
109
+ /**
110
+ * Use-Case Category
111
+ */
112
+ export type UseCaseCategory = 'expenses' | 'income' | 'equity' | 'payroll' | 'other';
113
+ /**
114
+ * Complete Use-Case Specification
115
+ */
116
+ export interface UseCaseSpec {
117
+ id: string;
118
+ name: string;
119
+ description: string;
120
+ category: UseCaseCategory;
121
+ fixtures: FixtureSpec;
122
+ metadata: UseCaseMetadata;
123
+ expectations?: UseCaseExpectations;
124
+ }
125
+ /**
126
+ * Fixture Collection for a Use-Case
127
+ */
128
+ export interface ExtendedFixtureSpec {
129
+ businesses: BusinessFixture[];
130
+ taxCategories: TaxCategoryFixture[];
131
+ financialAccounts: FinancialAccountFixture[];
132
+ charges: ChargeFixture[];
133
+ transactions: TransactionFixture[];
134
+ documents: DocumentFixture[];
135
+ meta?: {
136
+ id: string;
137
+ description?: string;
138
+ version?: string;
139
+ [key: string]: unknown;
140
+ };
141
+ tags?: TagFixture[];
142
+ expectations?: UseCaseExpectations & {
143
+ ledger?: LedgerRecord[];
144
+ };
145
+ placeholders?: Record<string, string>;
146
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fixture-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixture-spec.js","sourceRoot":"","sources":["../../../../src/fixtures/fixture-spec.ts"],"names":[],"mappings":""}
@@ -1,4 +1,8 @@
1
1
  import { describe, expect, it, vi } from 'vitest';
2
+ // Mock merge-charges helper before importing providers that use it
3
+ vi.mock('@modules/charges/helpers/merge-charges.helper.js', () => ({
4
+ mergeChargesExecutor: vi.fn(),
5
+ }));
2
6
  import { createMockTransaction, createMockDocument } from './test-helpers.js';
3
7
  // Mock the module imports to avoid dependency issues
4
8
  vi.mock('graphql-modules', () => ({
@@ -1 +1 @@
1
- {"version":3,"file":"single-match-integration.test.js","sourceRoot":"","sources":["../../../../../../src/modules/charges-matcher/__tests__/single-match-integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"single-match-integration.test.js","sourceRoot":"","sources":["../../../../../../src/modules/charges-matcher/__tests__/single-match-integration.test.ts"],"names":[],"mappings":"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"}
@@ -28,9 +28,6 @@ export const deelResolvers = {
28
28
  const { injector, adminContext } = context;
29
29
  try {
30
30
  const invoices = await fetchAndFilterInvoices(injector);
31
- if (invoices.length === 0) {
32
- return [];
33
- }
34
31
  const receipts = await fetchReceipts(injector);
35
32
  const paymentBreakdowns = await fetchPaymentBreakdowns(injector, receipts);
36
33
  const { matches, unmatched } = matchInvoicesWithPayments(invoices, paymentBreakdowns);
@@ -1 +1 @@
1
- {"version":3,"file":"deel.resolvers.js","sourceRoot":"","sources":["../../../../../../src/modules/deel/resolvers/deel.resolvers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deel.resolvers.js","sourceRoot":"","sources":["../../../../../../src/modules/deel/resolvers/deel.resolvers.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,8 @@ describe('Ledger Generation - Expense Scenario A', () => {
65
65
  const insertClient = await db.getPool().connect();
66
66
  try {
67
67
  await insertClient.query('BEGIN');
68
- await insertFixture(insertClient, expenseScenarioA);
68
+ const adminContext = await buildAdminContextFromDb(insertClient);
69
+ await insertFixture(insertClient, expenseScenarioA, adminContext.defaultAdminBusinessId);
69
70
  const chargeId = makeUUID('charge', 'charge-office-supplies');
70
71
  // Verify inserts within the same transaction
71
72
  const chargeResult = await insertClient.query(`SELECT * FROM ${qualifyTable('charges')} WHERE id = $1`, [chargeId]);
@@ -149,15 +150,15 @@ describe('Ledger Generation - Expense Scenario A', () => {
149
150
  const chargeId = makeUUID('charge', 'charge-office-supplies');
150
151
  // Ensure fixture inserted (if previous test did cleanup, reinsert minimal fixture)
151
152
  const existingCharge = await client.query(`SELECT * FROM ${qualifyTable('charges')} WHERE id = $1`, [chargeId]);
153
+ const adminContext = await buildAdminContextFromDb(client);
152
154
  if (existingCharge.rows.length === 0) {
153
155
  // Reinsert fixture quickly
154
156
  await client.query('BEGIN');
155
- await insertFixture(client, expenseScenarioA);
157
+ await insertFixture(client, expenseScenarioA, adminContext.defaultAdminBusinessId);
156
158
  await client.query('COMMIT');
157
159
  }
158
160
  const chargeResult = await client.query(`SELECT * FROM ${qualifyTable('charges')} WHERE id = $1`, [chargeId]);
159
161
  const charge = chargeResult.rows[0];
160
- const adminContext = await buildAdminContextFromDb(client);
161
162
  const mockUser = {
162
163
  username: 'test-admin',
163
164
  userId: adminContext.defaultAdminBusinessId,