@accounter/server 0.0.9-alpha-20251210155614-e6e65aaecafef9e8fedd0b933f613ffcf478cecf → 0.0.9-alpha-20251210170728-fe2c044a6279c36a9ba58b13bae56b181e8f85f5
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/CHANGELOG.md +27 -5
- package/dist/green-invoice-graphql/src/mesh-artifacts/index.d.ts +1 -1
- package/dist/server/src/__tests__/factories/business.d.ts +2 -2
- package/dist/server/src/__tests__/factories/business.js +5 -4
- package/dist/server/src/__tests__/factories/business.js.map +1 -1
- package/dist/server/src/__tests__/factories/business.test.js +2 -2
- package/dist/server/src/__tests__/factories/business.test.js.map +1 -1
- package/dist/server/src/__tests__/factories/charge.d.ts +9 -9
- package/dist/server/src/__tests__/factories/charge.js +15 -15
- package/dist/server/src/__tests__/factories/charge.js.map +1 -1
- package/dist/server/src/__tests__/factories/charge.test.js +14 -14
- package/dist/server/src/__tests__/factories/charge.test.js.map +1 -1
- package/dist/server/src/__tests__/factories/document.d.ts +9 -9
- package/dist/server/src/__tests__/factories/document.js +11 -11
- package/dist/server/src/__tests__/factories/document.js.map +1 -1
- package/dist/server/src/__tests__/factories/document.test.js +38 -38
- package/dist/server/src/__tests__/factories/document.test.js.map +1 -1
- package/dist/server/src/__tests__/factories/financial-account.js +2 -2
- package/dist/server/src/__tests__/factories/financial-account.js.map +1 -1
- package/dist/server/src/__tests__/factories/financial-account.test.js +7 -7
- package/dist/server/src/__tests__/factories/financial-account.test.js.map +1 -1
- package/dist/server/src/__tests__/factories/index.d.ts +2 -2
- package/dist/server/src/__tests__/factories/index.js +2 -2
- package/dist/server/src/__tests__/factories/index.js.map +1 -1
- package/dist/server/src/__tests__/factories/index.test.js +12 -12
- package/dist/server/src/__tests__/factories/index.test.js.map +1 -1
- package/dist/server/src/__tests__/factories/tax-category.d.ts +3 -3
- package/dist/server/src/__tests__/factories/tax-category.js +6 -5
- package/dist/server/src/__tests__/factories/tax-category.js.map +1 -1
- package/dist/server/src/__tests__/factories/tax-category.test.js +4 -4
- package/dist/server/src/__tests__/factories/tax-category.test.js.map +1 -1
- package/dist/server/src/__tests__/factories/transaction.d.ts +7 -7
- package/dist/server/src/__tests__/factories/transaction.js +11 -11
- package/dist/server/src/__tests__/factories/transaction.js.map +1 -1
- package/dist/server/src/__tests__/factories/transaction.test.js +27 -27
- package/dist/server/src/__tests__/factories/transaction.test.js.map +1 -1
- package/dist/server/src/__tests__/fixtures/expenses/expense-scenario-a.js +20 -20
- package/dist/server/src/__tests__/fixtures/expenses/expense-scenario-a.js.map +1 -1
- package/dist/server/src/__tests__/fixtures/expenses/expense-scenario-b.js +20 -20
- package/dist/server/src/__tests__/fixtures/expenses/expense-scenario-b.js.map +1 -1
- package/dist/server/src/__tests__/fixtures/expenses/expense-scenario-b.test.js +8 -8
- package/dist/server/src/__tests__/fixtures/expenses/expense-scenario-b.test.js.map +1 -1
- package/dist/server/src/__tests__/helpers/db-setup.d.ts +0 -1
- package/dist/server/src/__tests__/helpers/db-setup.js +0 -2
- package/dist/server/src/__tests__/helpers/db-setup.js.map +1 -1
- package/dist/server/src/__tests__/helpers/fixture-loader.js +2 -2
- package/dist/server/src/__tests__/helpers/fixture-loader.js.map +1 -1
- package/dist/server/src/__tests__/helpers/fixture-loader.test.js +32 -29
- package/dist/server/src/__tests__/helpers/fixture-loader.test.js.map +1 -1
- package/dist/server/src/__tests__/helpers/fixture-validation.test.js +50 -50
- package/dist/server/src/__tests__/helpers/fixture-validation.test.js.map +1 -1
- package/dist/server/src/__tests__/helpers/seed-helpers.business.test.js +23 -31
- package/dist/server/src/__tests__/helpers/seed-helpers.business.test.js.map +1 -1
- package/dist/server/src/__tests__/helpers/seed-helpers.concurrent.test.js +8 -8
- package/dist/server/src/__tests__/helpers/seed-helpers.concurrent.test.js.map +1 -1
- package/dist/server/src/__tests__/helpers/seed-helpers.financial-entity.test.js +41 -50
- package/dist/server/src/__tests__/helpers/seed-helpers.financial-entity.test.js.map +1 -1
- package/dist/server/src/__tests__/helpers/seed-helpers.tax-category.test.js +23 -31
- package/dist/server/src/__tests__/helpers/seed-helpers.tax-category.test.js.map +1 -1
- package/dist/server/src/__tests__/seed-admin-context.integration.test.js +128 -131
- package/dist/server/src/__tests__/seed-admin-context.integration.test.js.map +1 -1
- package/dist/server/src/demo-fixtures/__tests__/deterministic-uuid.test.js +58 -0
- package/dist/server/src/demo-fixtures/__tests__/deterministic-uuid.test.js.map +1 -0
- package/dist/server/src/demo-fixtures/helpers/deterministic-uuid.d.ts +50 -0
- package/dist/server/src/demo-fixtures/helpers/deterministic-uuid.js +66 -0
- package/dist/server/src/demo-fixtures/helpers/deterministic-uuid.js.map +1 -0
- package/dist/server/src/modules/admin-context/{heplers → helpers}/admin-context.helper.d.ts +1 -1
- package/dist/server/src/modules/admin-context/{heplers → helpers}/admin-context.helper.js +2 -2
- package/dist/server/src/modules/admin-context/{heplers → helpers}/admin-context.helper.js.map +1 -1
- package/dist/server/src/modules/admin-context/resolvers/admin-context.resolvers.js +1 -1
- package/dist/server/src/modules/business-trips/providers/business-trips.provider.d.ts +1 -1
- package/dist/server/src/modules/business-trips/providers/business-trips.provider.js +1 -1
- package/dist/server/src/modules/business-trips/providers/business-trips.provider.js.map +1 -1
- package/dist/server/src/modules/charges/helpers/common.helper.js +3 -3
- package/dist/server/src/modules/charges/helpers/common.helper.js.map +1 -1
- package/dist/server/src/modules/charges/helpers/{merge-charges.hepler.js → merge-charges.helper.js} +6 -6
- package/dist/server/src/modules/charges/helpers/{merge-charges.hepler.js.map → merge-charges.helper.js.map} +1 -1
- package/dist/server/src/modules/charges/resolvers/charges.resolver.js +1 -1
- package/dist/server/src/modules/charges-matcher/__tests__/auto-match-integration.test.js +2 -2
- package/dist/server/src/modules/charges-matcher/__tests__/auto-match-integration.test.js.map +1 -1
- package/dist/server/src/modules/charges-matcher/providers/charges-matcher.provider.js +1 -1
- package/dist/server/src/modules/charges-matcher/providers/charges-matcher.provider.js.map +1 -1
- package/dist/server/src/modules/corn-jobs/resolvers/corn-jobs.resolver.js +1 -1
- package/dist/server/src/modules/corn-jobs/resolvers/corn-jobs.resolver.js.map +1 -1
- package/dist/server/src/modules/ledger/__tests__/helpers/ledger-assertions.d.ts +0 -2
- package/dist/server/src/modules/ledger/__tests__/helpers/ledger-assertions.js +0 -4
- package/dist/server/src/modules/ledger/__tests__/helpers/ledger-assertions.js.map +1 -1
- package/dist/server/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.js +20 -20
- package/dist/server/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.js.map +1 -1
- package/dist/server/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.js +21 -21
- package/dist/server/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.js.map +1 -1
- package/dist/server/src/modules/transactions/helpers/common.helper.js +11 -6
- package/dist/server/src/modules/transactions/helpers/common.helper.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/factories/business.test.ts +3 -3
- package/src/__tests__/factories/business.ts +5 -4
- package/src/__tests__/factories/charge.test.ts +14 -14
- package/src/__tests__/factories/charge.ts +16 -16
- package/src/__tests__/factories/document.test.ts +38 -38
- package/src/__tests__/factories/document.ts +11 -11
- package/src/__tests__/factories/financial-account.test.ts +7 -7
- package/src/__tests__/factories/financial-account.ts +3 -3
- package/src/__tests__/factories/index.test.ts +12 -12
- package/src/__tests__/factories/index.ts +2 -2
- package/src/__tests__/factories/tax-category.test.ts +4 -4
- package/src/__tests__/factories/tax-category.ts +7 -6
- package/src/__tests__/factories/transaction.test.ts +27 -27
- package/src/__tests__/factories/transaction.ts +11 -11
- package/src/__tests__/fixtures/expenses/expense-scenario-a.ts +20 -20
- package/src/__tests__/fixtures/expenses/expense-scenario-b.test.ts +8 -8
- package/src/__tests__/fixtures/expenses/expense-scenario-b.ts +20 -20
- package/src/__tests__/helpers/db-setup.ts +0 -3
- package/src/__tests__/helpers/fixture-loader.test.ts +31 -29
- package/src/__tests__/helpers/fixture-loader.ts +2 -2
- package/src/__tests__/helpers/fixture-validation.test.ts +50 -50
- package/src/__tests__/helpers/seed-helpers.business.test.ts +145 -147
- package/src/__tests__/helpers/seed-helpers.concurrent.test.ts +10 -10
- package/src/__tests__/helpers/seed-helpers.financial-entity.test.ts +218 -231
- package/src/__tests__/helpers/seed-helpers.tax-category.test.ts +162 -164
- package/src/__tests__/seed-admin-context.integration.test.ts +199 -208
- package/src/demo-fixtures/__tests__/deterministic-uuid.test.ts +75 -0
- package/src/demo-fixtures/helpers/deterministic-uuid.ts +68 -0
- package/src/modules/admin-context/{heplers → helpers}/admin-context.helper.ts +3 -3
- package/src/modules/admin-context/resolvers/admin-context.resolvers.ts +1 -1
- package/src/modules/business-trips/providers/business-trips.provider.ts +1 -1
- package/src/modules/charges/helpers/common.helper.ts +3 -3
- package/src/modules/charges/helpers/{merge-charges.hepler.ts → merge-charges.helper.ts} +5 -5
- package/src/modules/charges/resolvers/charges.resolver.ts +1 -1
- package/src/modules/charges-matcher/__tests__/auto-match-integration.test.ts +2 -2
- package/src/modules/charges-matcher/providers/charges-matcher.provider.ts +1 -1
- package/src/modules/corn-jobs/resolvers/corn-jobs.resolver.ts +1 -1
- package/src/modules/ledger/__tests__/helpers/ledger-assertions.ts +0 -5
- package/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.ts +20 -20
- package/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.ts +21 -21
- package/src/modules/transactions/helpers/common.helper.ts +12 -6
- package/dist/server/src/__tests__/factories/ids.d.ts +0 -22
- package/dist/server/src/__tests__/factories/ids.js +0 -46
- package/dist/server/src/__tests__/factories/ids.js.map +0 -1
- package/dist/server/src/__tests__/factories/ids.test.js +0 -71
- package/dist/server/src/__tests__/factories/ids.test.js.map +0 -1
- package/src/__tests__/factories/ids.test.ts +0 -80
- package/src/__tests__/factories/ids.ts +0 -49
- /package/dist/server/src/{__tests__/factories/ids.test.d.ts → demo-fixtures/__tests__/deterministic-uuid.test.d.ts} +0 -0
- /package/dist/server/src/modules/charges/helpers/{merge-charges.hepler.d.ts → merge-charges.helper.d.ts} +0 -0
|
@@ -2,7 +2,7 @@ import { describe, it, expect, beforeAll, afterAll, afterEach } from 'vitest';
|
|
|
2
2
|
import { TestDatabase } from '../../../__tests__/helpers/db-setup.js';
|
|
3
3
|
import { insertFixture } from '../../../__tests__/helpers/fixture-loader.js';
|
|
4
4
|
import { expenseScenarioB } from '../../../__tests__/fixtures/expenses/expense-scenario-b.js';
|
|
5
|
-
import { makeUUID } from '../../../
|
|
5
|
+
import { makeUUID } from '../../../demo-fixtures/helpers/deterministic-uuid.js';
|
|
6
6
|
import { qualifyTable } from '../../../__tests__/helpers/test-db-config.js';
|
|
7
7
|
import { buildAdminContextFromDb } from '../../../__tests__/helpers/admin-context-builder.js';
|
|
8
8
|
import { mockExchangeRate } from '../../../__tests__/helpers/exchange-mock.js';
|
|
@@ -42,7 +42,7 @@ describe('Ledger Generation - Expense Scenario B (Foreign Currency)', () => {
|
|
|
42
42
|
afterEach(async () => {
|
|
43
43
|
const client = await db.getPool().connect();
|
|
44
44
|
try {
|
|
45
|
-
const chargeId = makeUUID('charge-consulting-services');
|
|
45
|
+
const chargeId = makeUUID('charge', 'charge-consulting-services');
|
|
46
46
|
await client.query(`DELETE FROM ${qualifyTable('ledger_records')} WHERE charge_id = $1`, [chargeId]);
|
|
47
47
|
// Also clear the scenario's fixture rows to keep DB tidy
|
|
48
48
|
await client.query(`DELETE FROM ${qualifyTable('documents')} WHERE charge_id = $1`, [chargeId]);
|
|
@@ -50,15 +50,15 @@ describe('Ledger Generation - Expense Scenario B (Foreign Currency)', () => {
|
|
|
50
50
|
await client.query(`DELETE FROM ${qualifyTable('charges')} WHERE id = $1`, [chargeId]);
|
|
51
51
|
// Clean up fixture-specific entities to prevent count inflation
|
|
52
52
|
await client.query(`DELETE FROM ${qualifyTable('financial_accounts_tax_categories')}
|
|
53
|
-
WHERE tax_category_id IN ($1, $2)`, [makeUUID('expense-consulting'), makeUUID('usd-account-tax-category')]);
|
|
53
|
+
WHERE tax_category_id IN ($1, $2)`, [makeUUID('tax-category', 'expense-consulting'), makeUUID('tax-category', 'usd-account-tax-category')]);
|
|
54
54
|
await client.query(`DELETE FROM ${qualifyTable('financial_accounts')} WHERE account_number = $1`, ['USD-ACCOUNT-001']);
|
|
55
|
-
await client.query(`DELETE FROM ${qualifyTable('tax_categories')} WHERE id IN ($1, $2)`, [makeUUID('expense-consulting'), makeUUID('usd-account-tax-category')]);
|
|
56
|
-
await client.query(`DELETE FROM ${qualifyTable('businesses')} WHERE id IN ($1, $2)`, [makeUUID('admin-business-usd'), makeUUID('supplier-us-vendor-llc')]);
|
|
55
|
+
await client.query(`DELETE FROM ${qualifyTable('tax_categories')} WHERE id IN ($1, $2)`, [makeUUID('tax-category', 'expense-consulting'), makeUUID('tax-category', 'usd-account-tax-category')]);
|
|
56
|
+
await client.query(`DELETE FROM ${qualifyTable('businesses')} WHERE id IN ($1, $2)`, [makeUUID('business', 'admin-business-usd'), makeUUID('business', 'supplier-us-vendor-llc')]);
|
|
57
57
|
await client.query(`DELETE FROM ${qualifyTable('financial_entities')} WHERE id IN ($1, $2, $3, $4)`, [
|
|
58
|
-
makeUUID('admin-business-usd'),
|
|
59
|
-
makeUUID('supplier-us-vendor-llc'),
|
|
60
|
-
makeUUID('expense-consulting'),
|
|
61
|
-
makeUUID('usd-account-tax-category'),
|
|
58
|
+
makeUUID('business', 'admin-business-usd'),
|
|
59
|
+
makeUUID('business', 'supplier-us-vendor-llc'),
|
|
60
|
+
makeUUID('tax-category', 'expense-consulting'),
|
|
61
|
+
makeUUID('tax-category', 'usd-account-tax-category'),
|
|
62
62
|
]);
|
|
63
63
|
}
|
|
64
64
|
finally {
|
|
@@ -71,7 +71,7 @@ describe('Ledger Generation - Expense Scenario B (Foreign Currency)', () => {
|
|
|
71
71
|
try {
|
|
72
72
|
await insertClient.query('BEGIN');
|
|
73
73
|
await insertFixture(insertClient, expenseScenarioB);
|
|
74
|
-
const chargeId = makeUUID('charge-consulting-services');
|
|
74
|
+
const chargeId = makeUUID('charge', 'charge-consulting-services');
|
|
75
75
|
// Verify inserts within the same transaction
|
|
76
76
|
const chargeResult = await insertClient.query(`SELECT * FROM ${qualifyTable('charges')} WHERE id = $1`, [chargeId]);
|
|
77
77
|
expect(chargeResult.rows).toHaveLength(1);
|
|
@@ -99,7 +99,7 @@ describe('Ledger Generation - Expense Scenario B (Foreign Currency)', () => {
|
|
|
99
99
|
// Re-open a new client (outside prior transaction) for verification & generation
|
|
100
100
|
const client = await db.getPool().connect();
|
|
101
101
|
try {
|
|
102
|
-
const chargeId = makeUUID('charge-consulting-services');
|
|
102
|
+
const chargeId = makeUUID('charge', 'charge-consulting-services');
|
|
103
103
|
const chargeResult = await client.query(`SELECT * FROM ${qualifyTable('charges')} WHERE id = $1`, [chargeId]);
|
|
104
104
|
const charge = chargeResult.rows[0];
|
|
105
105
|
// Build AdminContext from database
|
|
@@ -136,8 +136,8 @@ describe('Ledger Generation - Expense Scenario B (Foreign Currency)', () => {
|
|
|
136
136
|
assertForeignExpenseScenario(ledgerResult.rows, {
|
|
137
137
|
chargeId: charge.id,
|
|
138
138
|
ownerId: charge.owner_id, // Use actual charge owner id
|
|
139
|
-
expenseEntity: makeUUID('expense-consulting'),
|
|
140
|
-
bankEntity: makeUUID('usd-account-tax-category'),
|
|
139
|
+
expenseEntity: makeUUID('tax-category', 'expense-consulting'),
|
|
140
|
+
bankEntity: makeUUID('tax-category', 'usd-account-tax-category'),
|
|
141
141
|
expectedCurrency: Currency.Usd,
|
|
142
142
|
expectedForeignAmount: ledgerExpectation?.foreignAmount || 200.0,
|
|
143
143
|
expectedRate: ledgerExpectation?.exchangeRate || 3.5,
|
|
@@ -156,7 +156,7 @@ describe('Ledger Generation - Expense Scenario B (Foreign Currency)', () => {
|
|
|
156
156
|
it('should be idempotent on repeated foreign ledger generation (no duplicate records)', async () => {
|
|
157
157
|
const client = await db.getPool().connect();
|
|
158
158
|
try {
|
|
159
|
-
const chargeId = makeUUID('charge-consulting-services');
|
|
159
|
+
const chargeId = makeUUID('charge', 'charge-consulting-services');
|
|
160
160
|
// Ensure fixture inserted if absent
|
|
161
161
|
const existingCharge = await client.query(`SELECT * FROM ${qualifyTable('charges')} WHERE id = $1`, [chargeId]);
|
|
162
162
|
if (existingCharge.rows.length === 0) {
|
|
@@ -216,12 +216,12 @@ describe('Ledger Generation - Expense Scenario B (Foreign Currency)', () => {
|
|
|
216
216
|
const accountMapping = expenseScenarioB.accountTaxCategories?.mappings[0];
|
|
217
217
|
expect(accountMapping?.accountNumber).toBe('USD-ACCOUNT-001');
|
|
218
218
|
expect(accountMapping?.currency).toBe(Currency.Usd);
|
|
219
|
-
expect(accountMapping?.taxCategoryId).toBe(makeUUID('usd-account-tax-category'));
|
|
219
|
+
expect(accountMapping?.taxCategoryId).toBe(makeUUID('tax-category', 'usd-account-tax-category'));
|
|
220
220
|
// Verify expectations are defined
|
|
221
221
|
expect(expenseScenarioB.expectations).toBeDefined();
|
|
222
222
|
expect(expenseScenarioB.expectations?.ledger).toHaveLength(1);
|
|
223
223
|
const ledgerExpectation = expenseScenarioB.expectations?.ledger?.[0];
|
|
224
|
-
expect(ledgerExpectation?.chargeId).toBe(makeUUID('charge-consulting-services'));
|
|
224
|
+
expect(ledgerExpectation?.chargeId).toBe(makeUUID('charge', 'charge-consulting-services'));
|
|
225
225
|
expect(ledgerExpectation?.recordCount).toBe(2);
|
|
226
226
|
expect(ledgerExpectation?.balanced).toBe(true);
|
|
227
227
|
expect(ledgerExpectation?.totalDebitLocal).toBe(1400.0);
|
|
@@ -234,11 +234,11 @@ describe('Ledger Generation - Expense Scenario B (Foreign Currency)', () => {
|
|
|
234
234
|
});
|
|
235
235
|
it('should create deterministic UUIDs for reproducible tests', () => {
|
|
236
236
|
// Verify all IDs are deterministic and match expected values
|
|
237
|
-
const adminBusinessId = makeUUID('admin-business-usd');
|
|
238
|
-
const supplierId = makeUUID('supplier-us-vendor-llc');
|
|
239
|
-
const chargeId = makeUUID('charge-consulting-services');
|
|
240
|
-
const transactionId = makeUUID('transaction-consulting-payment');
|
|
241
|
-
const documentId = makeUUID('document-consulting-invoice');
|
|
237
|
+
const adminBusinessId = makeUUID('business', 'admin-business-usd');
|
|
238
|
+
const supplierId = makeUUID('business', 'supplier-us-vendor-llc');
|
|
239
|
+
const chargeId = makeUUID('charge', 'charge-consulting-services');
|
|
240
|
+
const transactionId = makeUUID('transaction', 'transaction-consulting-payment');
|
|
241
|
+
const documentId = makeUUID('document', 'document-consulting-invoice');
|
|
242
242
|
expect(adminBusinessId).toBe(expenseScenarioB.businesses?.businesses[0]?.id);
|
|
243
243
|
expect(supplierId).toBe(expenseScenarioB.businesses?.businesses[1]?.id);
|
|
244
244
|
expect(chargeId).toBe(expenseScenarioB.charges?.charges[0]?.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger-scenario-b.integration.test.js","sourceRoot":"","sources":["../../../../../../src/modules/ledger/__tests__/ledger-scenario-b.integration.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ledger-scenario-b.integration.test.js","sourceRoot":"","sources":["../../../../../../src/modules/ledger/__tests__/ledger-scenario-b.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,18 @@ export function getTransactionsMeta(transactions) {
|
|
|
5
5
|
let invalidTransactions = false;
|
|
6
6
|
let transactionsMinDebitDate = null;
|
|
7
7
|
let transactionsMinEventDate = null;
|
|
8
|
+
const hasFee = transactions.some(t => t.is_fee);
|
|
9
|
+
const onlyFee = transactions.every(t => t.is_fee);
|
|
10
|
+
const hasSomeFeeTransactions = hasFee && !onlyFee;
|
|
8
11
|
transactions.map(t => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
if ((hasSomeFeeTransactions && !t.is_fee) || !hasSomeFeeTransactions) {
|
|
13
|
+
const amountAsNumber = Number(t.amount);
|
|
14
|
+
const amount = Number.isNaN(amountAsNumber) ? null : amountAsNumber;
|
|
15
|
+
if (amount != null) {
|
|
16
|
+
transactionsAmount ??= 0;
|
|
17
|
+
transactionsAmount += amount;
|
|
18
|
+
currenciesSet.add(t.currency);
|
|
19
|
+
}
|
|
15
20
|
}
|
|
16
21
|
if (t.debit_timestamp) {
|
|
17
22
|
transactionsMinDebitDate ??= t.debit_timestamp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.helper.js","sourceRoot":"","sources":["../../../../../../src/modules/transactions/helpers/common.helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,YAA2C;IAC7E,IAAI,kBAAkB,GAAkB,IAAI,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAY,CAAC;IAC1C,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,wBAAwB,GAAgB,IAAI,CAAC;IACjD,IAAI,wBAAwB,GAAgB,IAAI,CAAC;IAEjD,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"common.helper.js","sourceRoot":"","sources":["../../../../../../src/modules/transactions/helpers/common.helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,YAA2C;IAC7E,IAAI,kBAAkB,GAAkB,IAAI,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAY,CAAC;IAC1C,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,wBAAwB,GAAgB,IAAI,CAAC;IACjD,IAAI,wBAAwB,GAAgB,IAAI,CAAC;IAEjD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;IAElD,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACrE,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;YACpE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,kBAAkB,KAAK,CAAC,CAAC;gBACzB,kBAAkB,IAAI,MAAM,CAAC;gBAC7B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,QAAoB,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;YACtB,wBAAwB,KAAK,CAAC,CAAC,eAAe,CAAC;YAC/C,IAAI,wBAAwB,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;gBACjD,wBAAwB,GAAG,CAAC,CAAC,eAAe,CAAC;YAC/C,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACxB,wBAAwB,KAAK,CAAC,CAAC,UAAU,CAAC;YAC1C,IAAI,wBAAwB,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC5C,wBAAwB,GAAG,CAAC,CAAC,UAAU,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,wBAAwB,KAAK,CAAC,CAAC,UAAU,CAAC;QAC1C,IAAI,wBAAwB,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;YAC5C,wBAAwB,GAAG,CAAC,CAAC,UAAU,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,mBAAmB,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,oBAAoB,GACxB,sBAAsB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzE,OAAO;QACL,iBAAiB,EAAE,YAAY,CAAC,MAAM;QACtC,kBAAkB;QAClB,sBAAsB;QACtB,oBAAoB;QACpB,mBAAmB;QACnB,wBAAwB;QACxB,wBAAwB;KACzB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
2
|
import { UUID_REGEX } from '../../shared/constants.js';
|
|
3
3
|
import { createBusiness } from './business.js';
|
|
4
|
-
import { makeUUID } from '
|
|
4
|
+
import { makeUUID } from '../../demo-fixtures/helpers/deterministic-uuid.js';
|
|
5
5
|
import { CountryCode } from '../../modules/countries/types.js';
|
|
6
6
|
|
|
7
7
|
describe('Factory: Business', () => {
|
|
@@ -39,11 +39,11 @@ describe('Factory: Business', () => {
|
|
|
39
39
|
});
|
|
40
40
|
|
|
41
41
|
it('should apply overrides correctly', () => {
|
|
42
|
-
const customId = makeUUID('custom-business');
|
|
42
|
+
const customId = makeUUID('business', 'custom-business');
|
|
43
43
|
const business = createBusiness({
|
|
44
44
|
id: customId,
|
|
45
45
|
hebrewName: 'עסק ישראלי',
|
|
46
|
-
|
|
46
|
+
country: CountryCode.Israel,
|
|
47
47
|
exemptDealer: true,
|
|
48
48
|
isReceiptEnough: true,
|
|
49
49
|
isDocumentsOptional: true,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IInsertBusinessesParams } from '../../modules/financial-entities/__generated__/businesses.types.js';
|
|
2
|
-
import {
|
|
2
|
+
import { makeUUIDLegacy } from '../../demo-fixtures/helpers/deterministic-uuid.js';
|
|
3
3
|
import { CountryCode } from '../../modules/countries/types.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -20,11 +20,11 @@ import { CountryCode } from '../../modules/countries/types.js';
|
|
|
20
20
|
* @example
|
|
21
21
|
* ```typescript
|
|
22
22
|
* // Minimal business (uses defaults)
|
|
23
|
-
* const business = createBusiness({ id: makeUUID('supplier-1') });
|
|
23
|
+
* const business = createBusiness({ id: makeUUID('business', 'supplier-1') });
|
|
24
24
|
*
|
|
25
25
|
* // Business with custom fields
|
|
26
26
|
* const supplier = createBusiness({
|
|
27
|
-
* id: makeUUID('supplier-usd'),
|
|
27
|
+
* id: makeUUID('business', 'supplier-usd'),
|
|
28
28
|
* hebrewName: 'ספק אמריקאי',
|
|
29
29
|
* country: 'USA',
|
|
30
30
|
* isReceiptEnough: true,
|
|
@@ -34,8 +34,9 @@ import { CountryCode } from '../../modules/countries/types.js';
|
|
|
34
34
|
export function createBusiness(
|
|
35
35
|
overrides?: Partial<IInsertBusinessesParams['businesses'][number]>,
|
|
36
36
|
): IInsertBusinessesParams['businesses'][number] {
|
|
37
|
+
const defaultId = makeUUIDLegacy();
|
|
37
38
|
return {
|
|
38
|
-
id:
|
|
39
|
+
id: defaultId,
|
|
39
40
|
hebrewName: null,
|
|
40
41
|
address: null,
|
|
41
42
|
email: null,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
2
|
import { UUID_REGEX } from '../../shared/constants.js';
|
|
3
3
|
import { createCharge } from './charge.js';
|
|
4
|
-
import { makeUUID } from '
|
|
4
|
+
import { makeUUID } from '../../demo-fixtures/helpers/deterministic-uuid.js';
|
|
5
5
|
|
|
6
6
|
describe('Factory: Charge', () => {
|
|
7
7
|
describe('createCharge', () => {
|
|
8
8
|
it('should create charge with required fields', () => {
|
|
9
|
-
const ownerId = makeUUID('test-owner');
|
|
9
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
10
10
|
const charge = createCharge({ owner_id: ownerId });
|
|
11
11
|
|
|
12
12
|
// Required field
|
|
@@ -27,7 +27,7 @@ describe('Factory: Charge', () => {
|
|
|
27
27
|
});
|
|
28
28
|
|
|
29
29
|
it('should generate unique IDs by default', () => {
|
|
30
|
-
const ownerId = makeUUID('test-owner');
|
|
30
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
31
31
|
const charge1 = createCharge({ owner_id: ownerId });
|
|
32
32
|
const charge2 = createCharge({ owner_id: ownerId });
|
|
33
33
|
|
|
@@ -35,8 +35,8 @@ describe('Factory: Charge', () => {
|
|
|
35
35
|
});
|
|
36
36
|
|
|
37
37
|
it('should accept tax_category_id in params', () => {
|
|
38
|
-
const ownerId = makeUUID('test-owner');
|
|
39
|
-
const taxCategoryId = makeUUID('tax-cat-1');
|
|
38
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
39
|
+
const taxCategoryId = makeUUID('tax-category', 'tax-cat-1');
|
|
40
40
|
const charge = createCharge({
|
|
41
41
|
owner_id: ownerId,
|
|
42
42
|
tax_category_id: taxCategoryId,
|
|
@@ -46,7 +46,7 @@ describe('Factory: Charge', () => {
|
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
it('should accept user_description in params', () => {
|
|
49
|
-
const ownerId = makeUUID('test-owner');
|
|
49
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
50
50
|
const charge = createCharge({
|
|
51
51
|
owner_id: ownerId,
|
|
52
52
|
user_description: 'Office supplies',
|
|
@@ -56,8 +56,8 @@ describe('Factory: Charge', () => {
|
|
|
56
56
|
});
|
|
57
57
|
|
|
58
58
|
it('should apply overrides correctly', () => {
|
|
59
|
-
const ownerId = makeUUID('test-owner');
|
|
60
|
-
const customId = makeUUID('custom-charge');
|
|
59
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
60
|
+
const customId = makeUUID('charge', 'custom-charge');
|
|
61
61
|
const charge = createCharge(
|
|
62
62
|
{ owner_id: ownerId },
|
|
63
63
|
{
|
|
@@ -77,7 +77,7 @@ describe('Factory: Charge', () => {
|
|
|
77
77
|
});
|
|
78
78
|
|
|
79
79
|
it('should allow partial overrides', () => {
|
|
80
|
-
const ownerId = makeUUID('test-owner');
|
|
80
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
81
81
|
const charge = createCharge(
|
|
82
82
|
{
|
|
83
83
|
owner_id: ownerId,
|
|
@@ -95,7 +95,7 @@ describe('Factory: Charge', () => {
|
|
|
95
95
|
});
|
|
96
96
|
|
|
97
97
|
it('should preserve all required fields', () => {
|
|
98
|
-
const ownerId = makeUUID('test-owner');
|
|
98
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
99
99
|
const charge = createCharge({ owner_id: ownerId });
|
|
100
100
|
|
|
101
101
|
// Verify structure matches expected interface
|
|
@@ -110,9 +110,9 @@ describe('Factory: Charge', () => {
|
|
|
110
110
|
});
|
|
111
111
|
|
|
112
112
|
it('should handle all params and overrides together', () => {
|
|
113
|
-
const ownerId = makeUUID('test-owner');
|
|
114
|
-
const taxCategoryId = makeUUID('tax-cat-2');
|
|
115
|
-
const customId = makeUUID('custom-charge-2');
|
|
113
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
114
|
+
const taxCategoryId = makeUUID('tax-category', 'tax-cat-2');
|
|
115
|
+
const customId = makeUUID('charge', 'custom-charge-2');
|
|
116
116
|
|
|
117
117
|
const charge = createCharge(
|
|
118
118
|
{
|
|
@@ -140,7 +140,7 @@ describe('Factory: Charge', () => {
|
|
|
140
140
|
});
|
|
141
141
|
|
|
142
142
|
it('should allow explicit null overrides', () => {
|
|
143
|
-
const ownerId = makeUUID('test-owner');
|
|
143
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
144
144
|
const charge = createCharge(
|
|
145
145
|
{ owner_id: ownerId },
|
|
146
146
|
{
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @see packages/migrations/src/actions/*-charges-*.ts (migrations)
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import { makeUUID } from '
|
|
14
|
+
import { makeUUID, makeUUIDLegacy } from '../../demo-fixtures/helpers/deterministic-uuid.js';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Charge insert parameters shape
|
|
@@ -42,24 +42,24 @@ export interface ChargeInsertParams {
|
|
|
42
42
|
* - tax_category_id defaults to deterministic UUID if not provided
|
|
43
43
|
* - user_description defaults to null (will be auto-generated by database if needed)
|
|
44
44
|
* - type defaults to null (database will determine based on related records)
|
|
45
|
-
* - accountant_status defaults to
|
|
46
|
-
* - optional_vat defaults to
|
|
47
|
-
* - documents_optional_flag defaults to
|
|
45
|
+
* - accountant_status defaults to 'PENDING' (database requires NOT NULL)
|
|
46
|
+
* - optional_vat defaults to false (database requires NOT NULL)
|
|
47
|
+
* - documents_optional_flag defaults to false (database requires NOT NULL)
|
|
48
48
|
* - id defaults to deterministic UUID if not provided
|
|
49
49
|
*
|
|
50
50
|
* @example
|
|
51
51
|
* ```typescript
|
|
52
52
|
* // Minimal charge with required fields
|
|
53
53
|
* const charge = createCharge({
|
|
54
|
-
* owner_id: makeUUID('test-owner'),
|
|
55
|
-
* tax_category_id: makeUUID('tax-cat-1'),
|
|
54
|
+
* owner_id: makeUUID('business', 'test-owner'),
|
|
55
|
+
* tax_category_id: makeUUID('tax-category', 'tax-cat-1'),
|
|
56
56
|
* });
|
|
57
57
|
*
|
|
58
58
|
* // Charge with user description
|
|
59
59
|
* const descCharge = createCharge(
|
|
60
60
|
* {
|
|
61
|
-
* owner_id: makeUUID('test-owner'),
|
|
62
|
-
* tax_category_id: makeUUID('tax-cat-1'),
|
|
61
|
+
* owner_id: makeUUID('business', 'test-owner'),
|
|
62
|
+
* tax_category_id: makeUUID('tax-category', 'tax-cat-1'),
|
|
63
63
|
* user_description: 'Office supplies purchase',
|
|
64
64
|
* }
|
|
65
65
|
* );
|
|
@@ -67,8 +67,8 @@ export interface ChargeInsertParams {
|
|
|
67
67
|
* // Charge with overrides
|
|
68
68
|
* const customCharge = createCharge(
|
|
69
69
|
* {
|
|
70
|
-
* owner_id: makeUUID('test-owner'),
|
|
71
|
-
* tax_category_id: makeUUID('tax-cat-1'),
|
|
70
|
+
* owner_id: makeUUID('business', 'test-owner'),
|
|
71
|
+
* tax_category_id: makeUUID('tax-category', 'tax-cat-1'),
|
|
72
72
|
* },
|
|
73
73
|
* {
|
|
74
74
|
* type: 'PAYROLL',
|
|
@@ -87,14 +87,14 @@ export function createCharge(
|
|
|
87
87
|
overrides?: Partial<ChargeInsertParams>,
|
|
88
88
|
): ChargeInsertParams {
|
|
89
89
|
return {
|
|
90
|
-
id:
|
|
90
|
+
id: makeUUIDLegacy(),
|
|
91
91
|
owner_id: params.owner_id,
|
|
92
92
|
type: null,
|
|
93
|
-
accountant_status: 'PENDING',
|
|
93
|
+
accountant_status: 'PENDING',
|
|
94
94
|
user_description: params.user_description ?? null,
|
|
95
|
-
tax_category_id: params.tax_category_id ?? makeUUID('default-tax-category'),
|
|
96
|
-
optional_vat: false,
|
|
97
|
-
documents_optional_flag: false,
|
|
95
|
+
tax_category_id: params.tax_category_id ?? makeUUID('tax-category', 'default-tax-category'),
|
|
96
|
+
optional_vat: false,
|
|
97
|
+
documents_optional_flag: false,
|
|
98
98
|
...overrides,
|
|
99
99
|
};
|
|
100
|
-
}
|
|
100
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
2
|
import { UUID_REGEX } from '../../shared/constants.js';
|
|
3
3
|
import { createDocument } from './document.js';
|
|
4
|
-
import { makeUUID } from '
|
|
4
|
+
import { makeUUID } from '../../demo-fixtures/helpers/deterministic-uuid.js';
|
|
5
5
|
|
|
6
6
|
describe('Factory: Document', () => {
|
|
7
7
|
describe('createDocument', () => {
|
|
8
8
|
it('should create document with required fields', () => {
|
|
9
|
-
const chargeId = makeUUID('charge-1');
|
|
10
|
-
const creditorId = makeUUID('supplier-1');
|
|
11
|
-
const debtorId = makeUUID('my-business');
|
|
9
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
10
|
+
const creditorId = makeUUID('business', 'supplier-1');
|
|
11
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
12
12
|
|
|
13
13
|
const document = createDocument({
|
|
14
14
|
charge_id: chargeId,
|
|
@@ -46,9 +46,9 @@ describe('Factory: Document', () => {
|
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
it('should generate unique IDs by default', () => {
|
|
49
|
-
const chargeId = makeUUID('charge-1');
|
|
50
|
-
const creditorId = makeUUID('supplier-1');
|
|
51
|
-
const debtorId = makeUUID('my-business');
|
|
49
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
50
|
+
const creditorId = makeUUID('business', 'supplier-1');
|
|
51
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
52
52
|
|
|
53
53
|
const document1 = createDocument({
|
|
54
54
|
charge_id: chargeId,
|
|
@@ -74,9 +74,9 @@ describe('Factory: Document', () => {
|
|
|
74
74
|
});
|
|
75
75
|
|
|
76
76
|
it('should accept Date object for date field', () => {
|
|
77
|
-
const chargeId = makeUUID('charge-1');
|
|
78
|
-
const creditorId = makeUUID('supplier-1');
|
|
79
|
-
const debtorId = makeUUID('my-business');
|
|
77
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
78
|
+
const creditorId = makeUUID('business', 'supplier-1');
|
|
79
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
80
80
|
const date = new Date('2024-03-15T12:00:00Z');
|
|
81
81
|
|
|
82
82
|
const document = createDocument({
|
|
@@ -93,9 +93,9 @@ describe('Factory: Document', () => {
|
|
|
93
93
|
});
|
|
94
94
|
|
|
95
95
|
it('should handle different document types', () => {
|
|
96
|
-
const chargeId = makeUUID('charge-1');
|
|
97
|
-
const creditorId = makeUUID('supplier-1');
|
|
98
|
-
const debtorId = makeUUID('my-business');
|
|
96
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
97
|
+
const creditorId = makeUUID('business', 'supplier-1');
|
|
98
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
99
99
|
|
|
100
100
|
const invoice = createDocument({
|
|
101
101
|
charge_id: chargeId,
|
|
@@ -133,10 +133,10 @@ describe('Factory: Document', () => {
|
|
|
133
133
|
});
|
|
134
134
|
|
|
135
135
|
it('should apply overrides correctly', () => {
|
|
136
|
-
const chargeId = makeUUID('charge-1');
|
|
137
|
-
const creditorId = makeUUID('supplier-1');
|
|
138
|
-
const debtorId = makeUUID('my-business');
|
|
139
|
-
const customId = makeUUID('custom-doc');
|
|
136
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
137
|
+
const creditorId = makeUUID('business', 'supplier-1');
|
|
138
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
139
|
+
const customId = makeUUID('document', 'custom-doc');
|
|
140
140
|
|
|
141
141
|
const document = createDocument(
|
|
142
142
|
{
|
|
@@ -165,9 +165,9 @@ describe('Factory: Document', () => {
|
|
|
165
165
|
});
|
|
166
166
|
|
|
167
167
|
it('should allow partial overrides', () => {
|
|
168
|
-
const chargeId = makeUUID('charge-1');
|
|
169
|
-
const creditorId = makeUUID('customer-1');
|
|
170
|
-
const debtorId = makeUUID('my-business');
|
|
168
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
169
|
+
const creditorId = makeUUID('business', 'customer-1');
|
|
170
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
171
171
|
|
|
172
172
|
const document = createDocument(
|
|
173
173
|
{
|
|
@@ -192,9 +192,9 @@ describe('Factory: Document', () => {
|
|
|
192
192
|
});
|
|
193
193
|
|
|
194
194
|
it('should preserve all required fields', () => {
|
|
195
|
-
const chargeId = makeUUID('charge-1');
|
|
196
|
-
const creditorId = makeUUID('
|
|
197
|
-
const debtorId = makeUUID('my-business');
|
|
195
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
196
|
+
const creditorId = makeUUID('business', 'customer-1');
|
|
197
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
198
198
|
|
|
199
199
|
const document = createDocument({
|
|
200
200
|
charge_id: chargeId,
|
|
@@ -227,9 +227,9 @@ describe('Factory: Document', () => {
|
|
|
227
227
|
});
|
|
228
228
|
|
|
229
229
|
it('should handle different currency codes', () => {
|
|
230
|
-
const chargeId = makeUUID('charge-1');
|
|
231
|
-
const creditorId = makeUUID('supplier-1');
|
|
232
|
-
const debtorId = makeUUID('my-business');
|
|
230
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
231
|
+
const creditorId = makeUUID('business', 'supplier-1');
|
|
232
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
233
233
|
|
|
234
234
|
const ilsDoc = createDocument({
|
|
235
235
|
charge_id: chargeId,
|
|
@@ -267,9 +267,9 @@ describe('Factory: Document', () => {
|
|
|
267
267
|
});
|
|
268
268
|
|
|
269
269
|
it('should handle VAT amount', () => {
|
|
270
|
-
const chargeId = makeUUID('charge-1');
|
|
271
|
-
const creditorId = makeUUID('supplier-1');
|
|
272
|
-
const debtorId = makeUUID('my-business');
|
|
270
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
271
|
+
const creditorId = makeUUID('business', 'supplier-1');
|
|
272
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
273
273
|
|
|
274
274
|
const document = createDocument(
|
|
275
275
|
{
|
|
@@ -291,9 +291,9 @@ describe('Factory: Document', () => {
|
|
|
291
291
|
});
|
|
292
292
|
|
|
293
293
|
it('should handle file URLs and image URLs', () => {
|
|
294
|
-
const chargeId = makeUUID('charge-1');
|
|
295
|
-
const creditorId = makeUUID('supplier-1');
|
|
296
|
-
const debtorId = makeUUID('my-business');
|
|
294
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
295
|
+
const creditorId = makeUUID('business', 'supplier-1');
|
|
296
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
297
297
|
|
|
298
298
|
const document = createDocument(
|
|
299
299
|
{
|
|
@@ -316,9 +316,9 @@ describe('Factory: Document', () => {
|
|
|
316
316
|
});
|
|
317
317
|
|
|
318
318
|
it('should handle negative amounts for credit invoices', () => {
|
|
319
|
-
const chargeId = makeUUID('charge-1');
|
|
320
|
-
const creditorId = makeUUID('supplier-1');
|
|
321
|
-
const debtorId = makeUUID('my-business');
|
|
319
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
320
|
+
const creditorId = makeUUID('business', 'supplier-1');
|
|
321
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
322
322
|
|
|
323
323
|
const creditInvoice = createDocument({
|
|
324
324
|
charge_id: chargeId,
|
|
@@ -335,9 +335,9 @@ describe('Factory: Document', () => {
|
|
|
335
335
|
});
|
|
336
336
|
|
|
337
337
|
it('should allow explicit null overrides', () => {
|
|
338
|
-
const chargeId = makeUUID('charge-1');
|
|
339
|
-
const creditorId = makeUUID('supplier-1');
|
|
340
|
-
const debtorId = makeUUID('my-business');
|
|
338
|
+
const chargeId = makeUUID('charge', 'charge-1');
|
|
339
|
+
const creditorId = makeUUID('business', 'supplier-1');
|
|
340
|
+
const debtorId = makeUUID('business', 'my-business');
|
|
341
341
|
|
|
342
342
|
const document = createDocument(
|
|
343
343
|
{
|