@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
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @accounter/server
|
|
2
2
|
|
|
3
|
-
## 0.0.9-alpha-
|
|
3
|
+
## 0.0.9-alpha-20251210170728-fe2c044a6279c36a9ba58b13bae56b181e8f85f5
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
@@ -202,6 +202,28 @@
|
|
|
202
202
|
dependencies, which can simplify module resolution and enhance code readability and
|
|
203
203
|
maintainability.
|
|
204
204
|
|
|
205
|
+
- [#2800](https://github.com/Urigo/accounter-fullstack/pull/2800)
|
|
206
|
+
[`d08379c`](https://github.com/Urigo/accounter-fullstack/commit/d08379c1762d9af8ed085b25f84af34f423e3f69)
|
|
207
|
+
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Centralized UUID Generation**: The
|
|
208
|
+
deterministic UUID generation logic has been centralized into a new file,
|
|
209
|
+
`packages/server/src/demo-fixtures/helpers/deterministic-uuid.ts`, replacing the previous
|
|
210
|
+
`packages/server/src/__tests__/factories/ids.ts`.
|
|
211
|
+
- **UUID v5 Implementation**: The new `makeUUID` function now generates UUID v5, which is
|
|
212
|
+
specifically designed for deterministic UUIDs based on a namespace and a name. This ensures
|
|
213
|
+
stable and reproducible IDs across environments.
|
|
214
|
+
- **Structured ID Generation**: The `makeUUID` function now requires two arguments: a `namespace`
|
|
215
|
+
(e.g., 'business', 'charge') and a `name` (a semantic identifier). This provides better
|
|
216
|
+
organization and prevents ID collisions between different entity types.
|
|
217
|
+
- **Backward Compatibility**: A `makeUUIDLegacy` function has been introduced to maintain
|
|
218
|
+
compatibility with older calls that used a single seed or generated random UUIDs when no seed
|
|
219
|
+
was provided.
|
|
220
|
+
- **Codebase Migration**: All existing calls to `makeUUID` across various factory files, test
|
|
221
|
+
files, and fixture definitions have been updated to use the new centralized `makeUUID` or
|
|
222
|
+
`makeUUIDLegacy` functions with appropriate namespaces.
|
|
223
|
+
- **Improved Test Fixture Stability**: This change enhances the stability and reproducibility of
|
|
224
|
+
test fixtures and demo data, making it easier to reference specific entities in documentation
|
|
225
|
+
and external links without fear of IDs changing.
|
|
226
|
+
|
|
205
227
|
- [#2754](https://github.com/Urigo/accounter-fullstack/pull/2754)
|
|
206
228
|
[`92d8cb1`](https://github.com/Urigo/accounter-fullstack/commit/92d8cb161398c2681d22fc1d390143f1cdc2e8eb)
|
|
207
229
|
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Cleanup**: A new migration has
|
|
@@ -249,10 +271,10 @@
|
|
|
249
271
|
[`ef68321`](https://github.com/Urigo/accounter-fullstack/commit/ef68321608d60a7208e82a2c413f27beb502e3cc),
|
|
250
272
|
[`ef68321`](https://github.com/Urigo/accounter-fullstack/commit/ef68321608d60a7208e82a2c413f27beb502e3cc),
|
|
251
273
|
[`c7d6f21`](https://github.com/Urigo/accounter-fullstack/commit/c7d6f21ed62658159b1323334501daca03c8d3e5)]:
|
|
252
|
-
- @accounter/green-invoice-graphql@0.8.3-alpha-
|
|
253
|
-
- @accounter/pcn874-generator@0.6.4-alpha-
|
|
254
|
-
- @accounter/shaam-uniform-format-generator@0.2.3-alpha-
|
|
255
|
-
- @accounter/shaam6111-generator@0.1.5-alpha-
|
|
274
|
+
- @accounter/green-invoice-graphql@0.8.3-alpha-20251210170728-fe2c044a6279c36a9ba58b13bae56b181e8f85f5
|
|
275
|
+
- @accounter/pcn874-generator@0.6.4-alpha-20251210170728-fe2c044a6279c36a9ba58b13bae56b181e8f85f5
|
|
276
|
+
- @accounter/shaam-uniform-format-generator@0.2.3-alpha-20251210170728-fe2c044a6279c36a9ba58b13bae56b181e8f85f5
|
|
277
|
+
- @accounter/shaam6111-generator@0.1.5-alpha-20251210170728-fe2c044a6279c36a9ba58b13bae56b181e8f85f5
|
|
256
278
|
|
|
257
279
|
## 0.0.8
|
|
258
280
|
|
|
@@ -4,8 +4,8 @@ import type { GetMeshOptions } from '@graphql-mesh/runtime';
|
|
|
4
4
|
import type { YamlConfig } from '@graphql-mesh/types';
|
|
5
5
|
import { MeshHTTPHandler } from '@graphql-mesh/http';
|
|
6
6
|
import { type ExecuteMeshFn, type SubscribeMeshFn, type MeshContext as BaseMeshContext, type MeshInstance } from '@graphql-mesh/runtime';
|
|
7
|
-
import type { GreenInvoiceNewTypes } from './sources/GreenInvoiceNew/types';
|
|
8
7
|
import type { GreenInvoiceTypes } from './sources/GreenInvoice/types';
|
|
8
|
+
import type { GreenInvoiceNewTypes } from './sources/GreenInvoiceNew/types';
|
|
9
9
|
export type Maybe<T> = T | null;
|
|
10
10
|
export type InputMaybe<T> = Maybe<T>;
|
|
11
11
|
export type Exact<T extends {
|
|
@@ -17,11 +17,11 @@ import type { IInsertBusinessesParams } from '../../modules/financial-entities/_
|
|
|
17
17
|
* @example
|
|
18
18
|
* ```typescript
|
|
19
19
|
* // Minimal business (uses defaults)
|
|
20
|
-
* const business = createBusiness({ id: makeUUID('supplier-1') });
|
|
20
|
+
* const business = createBusiness({ id: makeUUID('business', 'supplier-1') });
|
|
21
21
|
*
|
|
22
22
|
* // Business with custom fields
|
|
23
23
|
* const supplier = createBusiness({
|
|
24
|
-
* id: makeUUID('supplier-usd'),
|
|
24
|
+
* id: makeUUID('business', 'supplier-usd'),
|
|
25
25
|
* hebrewName: 'ספק אמריקאי',
|
|
26
26
|
* country: 'USA',
|
|
27
27
|
* isReceiptEnough: true,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { makeUUIDLegacy } from '../../demo-fixtures/helpers/deterministic-uuid.js';
|
|
2
2
|
import { CountryCode } from '../../modules/countries/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Business factory for test fixtures
|
|
@@ -18,11 +18,11 @@ import { CountryCode } from '../../modules/countries/types.js';
|
|
|
18
18
|
* @example
|
|
19
19
|
* ```typescript
|
|
20
20
|
* // Minimal business (uses defaults)
|
|
21
|
-
* const business = createBusiness({ id: makeUUID('supplier-1') });
|
|
21
|
+
* const business = createBusiness({ id: makeUUID('business', 'supplier-1') });
|
|
22
22
|
*
|
|
23
23
|
* // Business with custom fields
|
|
24
24
|
* const supplier = createBusiness({
|
|
25
|
-
* id: makeUUID('supplier-usd'),
|
|
25
|
+
* id: makeUUID('business', 'supplier-usd'),
|
|
26
26
|
* hebrewName: 'ספק אמריקאי',
|
|
27
27
|
* country: 'USA',
|
|
28
28
|
* isReceiptEnough: true,
|
|
@@ -30,8 +30,9 @@ import { CountryCode } from '../../modules/countries/types.js';
|
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
32
|
export function createBusiness(overrides) {
|
|
33
|
+
const defaultId = makeUUIDLegacy();
|
|
33
34
|
return {
|
|
34
|
-
id:
|
|
35
|
+
id: defaultId,
|
|
35
36
|
hebrewName: null,
|
|
36
37
|
address: null,
|
|
37
38
|
email: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"business.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/business.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"business.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/business.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,cAAc,CAC5B,SAAkE;IAElE,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;IACnC,OAAO;QACL,EAAE,EAAE,SAAS;QACb,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,KAAK,EAAE,6BAA6B;QACjD,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,gDAAgD;QAC7E,wBAAwB,EAAE,IAAI;QAC9B,eAAe,EAAE,KAAK;QACtB,mBAAmB,EAAE,KAAK;QAC1B,GAAG,SAAS;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -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
|
describe('Factory: Business', () => {
|
|
7
7
|
describe('createBusiness', () => {
|
|
@@ -32,7 +32,7 @@ describe('Factory: Business', () => {
|
|
|
32
32
|
expect(business1.id).not.toBe(business2.id);
|
|
33
33
|
});
|
|
34
34
|
it('should apply overrides correctly', () => {
|
|
35
|
-
const customId = makeUUID('custom-business');
|
|
35
|
+
const customId = makeUUID('business', 'custom-business');
|
|
36
36
|
const business = createBusiness({
|
|
37
37
|
id: customId,
|
|
38
38
|
hebrewName: 'עסק ישראלי',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"business.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/business.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"business.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/business.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,24 +38,24 @@ export interface ChargeInsertParams {
|
|
|
38
38
|
* - tax_category_id defaults to deterministic UUID if not provided
|
|
39
39
|
* - user_description defaults to null (will be auto-generated by database if needed)
|
|
40
40
|
* - type defaults to null (database will determine based on related records)
|
|
41
|
-
* - accountant_status defaults to
|
|
42
|
-
* - optional_vat defaults to
|
|
43
|
-
* - documents_optional_flag defaults to
|
|
41
|
+
* - accountant_status defaults to 'PENDING' (database requires NOT NULL)
|
|
42
|
+
* - optional_vat defaults to false (database requires NOT NULL)
|
|
43
|
+
* - documents_optional_flag defaults to false (database requires NOT NULL)
|
|
44
44
|
* - id defaults to deterministic UUID if not provided
|
|
45
45
|
*
|
|
46
46
|
* @example
|
|
47
47
|
* ```typescript
|
|
48
48
|
* // Minimal charge with required fields
|
|
49
49
|
* const charge = createCharge({
|
|
50
|
-
* owner_id: makeUUID('test-owner'),
|
|
51
|
-
* tax_category_id: makeUUID('tax-cat-1'),
|
|
50
|
+
* owner_id: makeUUID('business', 'test-owner'),
|
|
51
|
+
* tax_category_id: makeUUID('tax-category', 'tax-cat-1'),
|
|
52
52
|
* });
|
|
53
53
|
*
|
|
54
54
|
* // Charge with user description
|
|
55
55
|
* const descCharge = createCharge(
|
|
56
56
|
* {
|
|
57
|
-
* owner_id: makeUUID('test-owner'),
|
|
58
|
-
* tax_category_id: makeUUID('tax-cat-1'),
|
|
57
|
+
* owner_id: makeUUID('business', 'test-owner'),
|
|
58
|
+
* tax_category_id: makeUUID('tax-category', 'tax-cat-1'),
|
|
59
59
|
* user_description: 'Office supplies purchase',
|
|
60
60
|
* }
|
|
61
61
|
* );
|
|
@@ -63,8 +63,8 @@ export interface ChargeInsertParams {
|
|
|
63
63
|
* // Charge with overrides
|
|
64
64
|
* const customCharge = createCharge(
|
|
65
65
|
* {
|
|
66
|
-
* owner_id: makeUUID('test-owner'),
|
|
67
|
-
* tax_category_id: makeUUID('tax-cat-1'),
|
|
66
|
+
* owner_id: makeUUID('business', 'test-owner'),
|
|
67
|
+
* tax_category_id: makeUUID('tax-category', 'tax-cat-1'),
|
|
68
68
|
* },
|
|
69
69
|
* {
|
|
70
70
|
* type: 'PAYROLL',
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @see packages/server/src/modules/charges/providers/charges.provider.ts (generateCharge query)
|
|
11
11
|
* @see packages/migrations/src/actions/*-charges-*.ts (migrations)
|
|
12
12
|
*/
|
|
13
|
-
import { makeUUID } from '
|
|
13
|
+
import { makeUUID, makeUUIDLegacy } from '../../demo-fixtures/helpers/deterministic-uuid.js';
|
|
14
14
|
/**
|
|
15
15
|
* Create a charge for test fixtures
|
|
16
16
|
*
|
|
@@ -23,24 +23,24 @@ import { makeUUID } from './ids.js';
|
|
|
23
23
|
* - tax_category_id defaults to deterministic UUID if not provided
|
|
24
24
|
* - user_description defaults to null (will be auto-generated by database if needed)
|
|
25
25
|
* - type defaults to null (database will determine based on related records)
|
|
26
|
-
* - accountant_status defaults to
|
|
27
|
-
* - optional_vat defaults to
|
|
28
|
-
* - documents_optional_flag defaults to
|
|
26
|
+
* - accountant_status defaults to 'PENDING' (database requires NOT NULL)
|
|
27
|
+
* - optional_vat defaults to false (database requires NOT NULL)
|
|
28
|
+
* - documents_optional_flag defaults to false (database requires NOT NULL)
|
|
29
29
|
* - id defaults to deterministic UUID if not provided
|
|
30
30
|
*
|
|
31
31
|
* @example
|
|
32
32
|
* ```typescript
|
|
33
33
|
* // Minimal charge with required fields
|
|
34
34
|
* const charge = createCharge({
|
|
35
|
-
* owner_id: makeUUID('test-owner'),
|
|
36
|
-
* tax_category_id: makeUUID('tax-cat-1'),
|
|
35
|
+
* owner_id: makeUUID('business', 'test-owner'),
|
|
36
|
+
* tax_category_id: makeUUID('tax-category', 'tax-cat-1'),
|
|
37
37
|
* });
|
|
38
38
|
*
|
|
39
39
|
* // Charge with user description
|
|
40
40
|
* const descCharge = createCharge(
|
|
41
41
|
* {
|
|
42
|
-
* owner_id: makeUUID('test-owner'),
|
|
43
|
-
* tax_category_id: makeUUID('tax-cat-1'),
|
|
42
|
+
* owner_id: makeUUID('business', 'test-owner'),
|
|
43
|
+
* tax_category_id: makeUUID('tax-category', 'tax-cat-1'),
|
|
44
44
|
* user_description: 'Office supplies purchase',
|
|
45
45
|
* }
|
|
46
46
|
* );
|
|
@@ -48,8 +48,8 @@ import { makeUUID } from './ids.js';
|
|
|
48
48
|
* // Charge with overrides
|
|
49
49
|
* const customCharge = createCharge(
|
|
50
50
|
* {
|
|
51
|
-
* owner_id: makeUUID('test-owner'),
|
|
52
|
-
* tax_category_id: makeUUID('tax-cat-1'),
|
|
51
|
+
* owner_id: makeUUID('business', 'test-owner'),
|
|
52
|
+
* tax_category_id: makeUUID('tax-category', 'tax-cat-1'),
|
|
53
53
|
* },
|
|
54
54
|
* {
|
|
55
55
|
* type: 'PAYROLL',
|
|
@@ -61,14 +61,14 @@ import { makeUUID } from './ids.js';
|
|
|
61
61
|
*/
|
|
62
62
|
export function createCharge(params, overrides) {
|
|
63
63
|
return {
|
|
64
|
-
id:
|
|
64
|
+
id: makeUUIDLegacy(),
|
|
65
65
|
owner_id: params.owner_id,
|
|
66
66
|
type: null,
|
|
67
|
-
accountant_status: 'PENDING',
|
|
67
|
+
accountant_status: 'PENDING',
|
|
68
68
|
user_description: params.user_description ?? null,
|
|
69
|
-
tax_category_id: params.tax_category_id ?? makeUUID('default-tax-category'),
|
|
70
|
-
optional_vat: false,
|
|
71
|
-
documents_optional_flag: false,
|
|
69
|
+
tax_category_id: params.tax_category_id ?? makeUUID('tax-category', 'default-tax-category'),
|
|
70
|
+
optional_vat: false,
|
|
71
|
+
documents_optional_flag: false,
|
|
72
72
|
...overrides,
|
|
73
73
|
};
|
|
74
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charge.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/charge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"charge.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/charge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAmB7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,YAAY,CAC1B,MAIC,EACD,SAAuC;IAEvC,OAAO;QACL,EAAE,EAAE,cAAc,EAAE;QACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,IAAI;QACV,iBAAiB,EAAE,SAAS;QAC5B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI;QACjD,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;QAC3F,YAAY,EAAE,KAAK;QACnB,uBAAuB,EAAE,KAAK;QAC9B,GAAG,SAAS;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
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
|
describe('Factory: Charge', () => {
|
|
6
6
|
describe('createCharge', () => {
|
|
7
7
|
it('should create charge with required fields', () => {
|
|
8
|
-
const ownerId = makeUUID('test-owner');
|
|
8
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
9
9
|
const charge = createCharge({ owner_id: ownerId });
|
|
10
10
|
// Required field
|
|
11
11
|
expect(charge.owner_id).toBe(ownerId);
|
|
@@ -22,14 +22,14 @@ describe('Factory: Charge', () => {
|
|
|
22
22
|
expect(charge.documents_optional_flag).toBe(false); // NOT NULL constraint
|
|
23
23
|
});
|
|
24
24
|
it('should generate unique IDs by default', () => {
|
|
25
|
-
const ownerId = makeUUID('test-owner');
|
|
25
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
26
26
|
const charge1 = createCharge({ owner_id: ownerId });
|
|
27
27
|
const charge2 = createCharge({ owner_id: ownerId });
|
|
28
28
|
expect(charge1.id).not.toBe(charge2.id);
|
|
29
29
|
});
|
|
30
30
|
it('should accept tax_category_id in params', () => {
|
|
31
|
-
const ownerId = makeUUID('test-owner');
|
|
32
|
-
const taxCategoryId = makeUUID('tax-cat-1');
|
|
31
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
32
|
+
const taxCategoryId = makeUUID('tax-category', 'tax-cat-1');
|
|
33
33
|
const charge = createCharge({
|
|
34
34
|
owner_id: ownerId,
|
|
35
35
|
tax_category_id: taxCategoryId,
|
|
@@ -37,7 +37,7 @@ describe('Factory: Charge', () => {
|
|
|
37
37
|
expect(charge.tax_category_id).toBe(taxCategoryId);
|
|
38
38
|
});
|
|
39
39
|
it('should accept user_description in params', () => {
|
|
40
|
-
const ownerId = makeUUID('test-owner');
|
|
40
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
41
41
|
const charge = createCharge({
|
|
42
42
|
owner_id: ownerId,
|
|
43
43
|
user_description: 'Office supplies',
|
|
@@ -45,8 +45,8 @@ describe('Factory: Charge', () => {
|
|
|
45
45
|
expect(charge.user_description).toBe('Office supplies');
|
|
46
46
|
});
|
|
47
47
|
it('should apply overrides correctly', () => {
|
|
48
|
-
const ownerId = makeUUID('test-owner');
|
|
49
|
-
const customId = makeUUID('custom-charge');
|
|
48
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
49
|
+
const customId = makeUUID('charge', 'custom-charge');
|
|
50
50
|
const charge = createCharge({ owner_id: ownerId }, {
|
|
51
51
|
id: customId,
|
|
52
52
|
type: 'PAYROLL',
|
|
@@ -61,7 +61,7 @@ describe('Factory: Charge', () => {
|
|
|
61
61
|
expect(charge.documents_optional_flag).toBe(true);
|
|
62
62
|
});
|
|
63
63
|
it('should allow partial overrides', () => {
|
|
64
|
-
const ownerId = makeUUID('test-owner');
|
|
64
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
65
65
|
const charge = createCharge({
|
|
66
66
|
owner_id: ownerId,
|
|
67
67
|
user_description: 'Consulting fee',
|
|
@@ -74,7 +74,7 @@ describe('Factory: Charge', () => {
|
|
|
74
74
|
expect(charge.accountant_status).toBe('PENDING'); // Default value
|
|
75
75
|
});
|
|
76
76
|
it('should preserve all required fields', () => {
|
|
77
|
-
const ownerId = makeUUID('test-owner');
|
|
77
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
78
78
|
const charge = createCharge({ owner_id: ownerId });
|
|
79
79
|
// Verify structure matches expected interface
|
|
80
80
|
expect(charge).toHaveProperty('id');
|
|
@@ -87,9 +87,9 @@ describe('Factory: Charge', () => {
|
|
|
87
87
|
expect(charge).toHaveProperty('documents_optional_flag');
|
|
88
88
|
});
|
|
89
89
|
it('should handle all params and overrides together', () => {
|
|
90
|
-
const ownerId = makeUUID('test-owner');
|
|
91
|
-
const taxCategoryId = makeUUID('tax-cat-2');
|
|
92
|
-
const customId = makeUUID('custom-charge-2');
|
|
90
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
91
|
+
const taxCategoryId = makeUUID('tax-category', 'tax-cat-2');
|
|
92
|
+
const customId = makeUUID('charge', 'custom-charge-2');
|
|
93
93
|
const charge = createCharge({
|
|
94
94
|
owner_id: ownerId,
|
|
95
95
|
tax_category_id: taxCategoryId,
|
|
@@ -111,7 +111,7 @@ describe('Factory: Charge', () => {
|
|
|
111
111
|
expect(charge.documents_optional_flag).toBe(false);
|
|
112
112
|
});
|
|
113
113
|
it('should allow explicit null overrides', () => {
|
|
114
|
-
const ownerId = makeUUID('test-owner');
|
|
114
|
+
const ownerId = makeUUID('business', 'test-owner');
|
|
115
115
|
const charge = createCharge({ owner_id: ownerId }, {
|
|
116
116
|
user_description: null,
|
|
117
117
|
optional_vat: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charge.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/charge.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"charge.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/charge.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,9 +63,9 @@ export interface DocumentInsertParams {
|
|
|
63
63
|
* ```typescript
|
|
64
64
|
* // Minimal invoice document
|
|
65
65
|
* const invoice = createDocument({
|
|
66
|
-
* charge_id: makeUUID('charge-1'),
|
|
67
|
-
* creditor_id: makeUUID('supplier-1'),
|
|
68
|
-
* debtor_id: makeUUID('my-business'),
|
|
66
|
+
* charge_id: makeUUID('charge', 'charge-1'),
|
|
67
|
+
* creditor_id: makeUUID('business', 'supplier-1'),
|
|
68
|
+
* debtor_id: makeUUID('business', 'my-business'),
|
|
69
69
|
* type: 'INVOICE',
|
|
70
70
|
* total_amount: 1000.0,
|
|
71
71
|
* currency_code: 'ILS',
|
|
@@ -74,9 +74,9 @@ export interface DocumentInsertParams {
|
|
|
74
74
|
*
|
|
75
75
|
* // Receipt with VAT
|
|
76
76
|
* const receipt = createDocument({
|
|
77
|
-
* charge_id: makeUUID('charge-2'),
|
|
78
|
-
* creditor_id: makeUUID('customer-1'),
|
|
79
|
-
* debtor_id: makeUUID('my-business'),
|
|
77
|
+
* charge_id: makeUUID('charge', 'charge-2'),
|
|
78
|
+
* creditor_id: makeUUID('business', 'customer-1'),
|
|
79
|
+
* debtor_id: makeUUID('business', 'my-business'),
|
|
80
80
|
* type: 'RECEIPT',
|
|
81
81
|
* total_amount: 500.0,
|
|
82
82
|
* currency_code: 'USD',
|
|
@@ -89,9 +89,9 @@ export interface DocumentInsertParams {
|
|
|
89
89
|
* // Invoice with full metadata
|
|
90
90
|
* const detailedInvoice = createDocument(
|
|
91
91
|
* {
|
|
92
|
-
* charge_id: makeUUID('charge-3'),
|
|
93
|
-
* creditor_id: makeUUID('supplier-2'),
|
|
94
|
-
* debtor_id: makeUUID('my-business'),
|
|
92
|
+
* charge_id: makeUUID('charge', 'charge-3'),
|
|
93
|
+
* creditor_id: makeUUID('business', 'supplier-2'),
|
|
94
|
+
* debtor_id: makeUUID('business', 'my-business'),
|
|
95
95
|
* type: 'INVOICE',
|
|
96
96
|
* total_amount: 2500.0,
|
|
97
97
|
* currency_code: 'EUR',
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @see packages/migrations/src/actions/2024-01-29T13-15-23.initial.ts (documents table)
|
|
11
11
|
* @see packages/server/src/modules/documents/providers/documents.provider.ts (insertDocuments query)
|
|
12
12
|
*/
|
|
13
|
-
import {
|
|
13
|
+
import { makeUUIDLegacy } from '../../demo-fixtures/helpers/deterministic-uuid.js';
|
|
14
14
|
/**
|
|
15
15
|
* Create a document for test fixtures
|
|
16
16
|
*
|
|
@@ -36,9 +36,9 @@ import { makeUUID } from './ids.js';
|
|
|
36
36
|
* ```typescript
|
|
37
37
|
* // Minimal invoice document
|
|
38
38
|
* const invoice = createDocument({
|
|
39
|
-
* charge_id: makeUUID('charge-1'),
|
|
40
|
-
* creditor_id: makeUUID('supplier-1'),
|
|
41
|
-
* debtor_id: makeUUID('my-business'),
|
|
39
|
+
* charge_id: makeUUID('charge', 'charge-1'),
|
|
40
|
+
* creditor_id: makeUUID('business', 'supplier-1'),
|
|
41
|
+
* debtor_id: makeUUID('business', 'my-business'),
|
|
42
42
|
* type: 'INVOICE',
|
|
43
43
|
* total_amount: 1000.0,
|
|
44
44
|
* currency_code: 'ILS',
|
|
@@ -47,9 +47,9 @@ import { makeUUID } from './ids.js';
|
|
|
47
47
|
*
|
|
48
48
|
* // Receipt with VAT
|
|
49
49
|
* const receipt = createDocument({
|
|
50
|
-
* charge_id: makeUUID('charge-2'),
|
|
51
|
-
* creditor_id: makeUUID('customer-1'),
|
|
52
|
-
* debtor_id: makeUUID('my-business'),
|
|
50
|
+
* charge_id: makeUUID('charge', 'charge-2'),
|
|
51
|
+
* creditor_id: makeUUID('business', 'customer-1'),
|
|
52
|
+
* debtor_id: makeUUID('business', 'my-business'),
|
|
53
53
|
* type: 'RECEIPT',
|
|
54
54
|
* total_amount: 500.0,
|
|
55
55
|
* currency_code: 'USD',
|
|
@@ -62,9 +62,9 @@ import { makeUUID } from './ids.js';
|
|
|
62
62
|
* // Invoice with full metadata
|
|
63
63
|
* const detailedInvoice = createDocument(
|
|
64
64
|
* {
|
|
65
|
-
* charge_id: makeUUID('charge-3'),
|
|
66
|
-
* creditor_id: makeUUID('supplier-2'),
|
|
67
|
-
* debtor_id: makeUUID('my-business'),
|
|
65
|
+
* charge_id: makeUUID('charge', 'charge-3'),
|
|
66
|
+
* creditor_id: makeUUID('business', 'supplier-2'),
|
|
67
|
+
* debtor_id: makeUUID('business', 'my-business'),
|
|
68
68
|
* type: 'INVOICE',
|
|
69
69
|
* total_amount: 2500.0,
|
|
70
70
|
* currency_code: 'EUR',
|
|
@@ -81,7 +81,7 @@ import { makeUUID } from './ids.js';
|
|
|
81
81
|
*/
|
|
82
82
|
export function createDocument(params, overrides) {
|
|
83
83
|
return {
|
|
84
|
-
id:
|
|
84
|
+
id: makeUUIDLegacy(),
|
|
85
85
|
image_url: null,
|
|
86
86
|
file_url: null,
|
|
87
87
|
type: params.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AA+BnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAQC,EACD,SAAyC;IAEzC,OAAO;QACL,EAAE,EAAE,cAAc,EAAE;QACpB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,wBAAwB,EAAE,IAAI;QAC9B,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;QACvB,sBAAsB,EAAE,IAAI;QAC5B,SAAS,EAAE,IAAI;QACf,GAAG,SAAS;KACb,CAAC;AACJ,CAAC"}
|