@accounter/server 0.0.9-alpha-20251210203824-9acbe3841d014ef59dda036ae5cbf72f739cfa37 → 0.0.9-alpha-20251211033737-29a3e4c4c745e562726ab60c423e6cedd9e22c44
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 +22 -5
- package/dist/green-invoice-graphql/src/mesh-artifacts/index.d.ts +1 -1
- package/dist/server/src/__tests__/factories/business.d.ts +5 -4
- package/dist/server/src/__tests__/factories/business.js +6 -2
- package/dist/server/src/__tests__/factories/business.js.map +1 -1
- package/dist/server/src/__tests__/factories/business.test.js +4 -4
- package/dist/server/src/__tests__/factories/business.test.js.map +1 -1
- package/dist/server/src/__tests__/factories/financial-account.d.ts +3 -3
- package/dist/server/src/__tests__/factories/financial-account.js +1 -1
- package/dist/server/src/__tests__/factories/financial-account.js.map +1 -1
- package/dist/server/src/__tests__/factories/index.test.js +7 -7
- package/dist/server/src/__tests__/factories/index.test.js.map +1 -1
- package/dist/server/src/__tests__/factories/tax-category.d.ts +3 -2
- package/dist/server/src/__tests__/factories/tax-category.js +4 -0
- package/dist/server/src/__tests__/factories/tax-category.js.map +1 -1
- package/dist/server/src/__tests__/factories/tax-category.test.js +6 -6
- package/dist/server/src/__tests__/factories/tax-category.test.js.map +1 -1
- package/dist/server/src/__tests__/fixtures/expenses/expense-scenario-a.js +4 -4
- 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 +4 -4
- package/dist/server/src/__tests__/fixtures/expenses/expense-scenario-b.js.map +1 -1
- package/dist/server/src/__tests__/helpers/fixture-loader.js +2 -1
- package/dist/server/src/__tests__/helpers/fixture-loader.js.map +1 -1
- package/dist/server/src/__tests__/helpers/fixture-loader.test.js +19 -19
- package/dist/server/src/__tests__/helpers/fixture-loader.test.js.map +1 -1
- package/dist/server/src/__tests__/helpers/fixture-types.d.ts +41 -12
- package/dist/server/src/__tests__/helpers/fixture-types.js +4 -0
- package/dist/server/src/__tests__/helpers/fixture-types.js.map +1 -1
- package/dist/server/src/__tests__/helpers/fixture-validation.test.js +18 -18
- package/dist/server/src/__tests__/helpers/fixture-validation.test.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/factories/business.test.ts +4 -4
- package/src/__tests__/factories/business.ts +9 -5
- package/src/__tests__/factories/financial-account.ts +5 -5
- package/src/__tests__/factories/index.test.ts +7 -7
- package/src/__tests__/factories/tax-category.test.ts +6 -6
- package/src/__tests__/factories/tax-category.ts +8 -4
- package/src/__tests__/fixtures/expenses/expense-scenario-a.ts +4 -4
- package/src/__tests__/fixtures/expenses/expense-scenario-b.ts +4 -4
- package/src/__tests__/helpers/fixture-loader.test.ts +19 -19
- package/src/__tests__/helpers/fixture-loader.ts +2 -1
- package/src/__tests__/helpers/fixture-types.ts +40 -12
- package/src/__tests__/helpers/fixture-validation.test.ts +18 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @accounter/server
|
|
2
2
|
|
|
3
|
-
## 0.0.9-alpha-
|
|
3
|
+
## 0.0.9-alpha-20251211033737-29a3e4c4c745e562726ab60c423e6cedd9e22c44
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
@@ -122,6 +122,23 @@
|
|
|
122
122
|
utilize the `businessId` when constructing links to business detail pages, resolving the issue
|
|
123
123
|
of incorrect navigation.
|
|
124
124
|
|
|
125
|
+
- [#2806](https://github.com/Urigo/accounter-fullstack/pull/2806)
|
|
126
|
+
[`e06209f`](https://github.com/Urigo/accounter-fullstack/commit/e06209f3e99ddf00c5c2172d75891b983e43bcb0)
|
|
127
|
+
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Fixture Type Independence**: The test
|
|
128
|
+
fixture types (for businesses, tax categories, and financial accounts) have been decoupled from
|
|
129
|
+
the `pgtyped`-generated database types. This enhances test independence and flexibility, allowing
|
|
130
|
+
fixtures to define their own minimal interfaces.
|
|
131
|
+
- **Standardized Naming Convention**: The `createBusiness` and `createTaxCategory` factories now
|
|
132
|
+
use a generic `name` field for display purposes, replacing the more specific `hebrewName` and
|
|
133
|
+
`hashavshevetName` fields. The original specific fields are retained as optional/nullable.
|
|
134
|
+
- **Intelligent Name Defaulting**: New logic has been implemented in the `createBusiness` and
|
|
135
|
+
`createTaxCategory` factories to intelligently default the `name` field. If a `name` is not
|
|
136
|
+
explicitly provided, it will fall back to the `id` of the entity, ensuring a meaningful display
|
|
137
|
+
name in test scenarios.
|
|
138
|
+
- **Updated Fixture Usage and Tests**: All existing test files and fixture scenarios have been
|
|
139
|
+
updated to reflect the new `name` field and type definitions. This includes updates to factory
|
|
140
|
+
calls, test assertions, and the `fixture-loader`'s database insertion logic.
|
|
141
|
+
|
|
125
142
|
- [#2802](https://github.com/Urigo/accounter-fullstack/pull/2802)
|
|
126
143
|
[`f37d6fd`](https://github.com/Urigo/accounter-fullstack/commit/f37d6fd3f3721663609840177c8fc077fda0c8b0)
|
|
127
144
|
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Centralized Test Database Management**:
|
|
@@ -287,10 +304,10 @@
|
|
|
287
304
|
[`ef68321`](https://github.com/Urigo/accounter-fullstack/commit/ef68321608d60a7208e82a2c413f27beb502e3cc),
|
|
288
305
|
[`ef68321`](https://github.com/Urigo/accounter-fullstack/commit/ef68321608d60a7208e82a2c413f27beb502e3cc),
|
|
289
306
|
[`c7d6f21`](https://github.com/Urigo/accounter-fullstack/commit/c7d6f21ed62658159b1323334501daca03c8d3e5)]:
|
|
290
|
-
- @accounter/green-invoice-graphql@0.8.3-alpha-
|
|
291
|
-
- @accounter/pcn874-generator@0.6.4-alpha-
|
|
292
|
-
- @accounter/shaam-uniform-format-generator@0.2.3-alpha-
|
|
293
|
-
- @accounter/shaam6111-generator@0.1.5-alpha-
|
|
307
|
+
- @accounter/green-invoice-graphql@0.8.3-alpha-20251211033737-29a3e4c4c745e562726ab60c423e6cedd9e22c44
|
|
308
|
+
- @accounter/pcn874-generator@0.6.4-alpha-20251211033737-29a3e4c4c745e562726ab60c423e6cedd9e22c44
|
|
309
|
+
- @accounter/shaam-uniform-format-generator@0.2.3-alpha-20251211033737-29a3e4c4c745e562726ab60c423e6cedd9e22c44
|
|
310
|
+
- @accounter/shaam6111-generator@0.1.5-alpha-20251211033737-29a3e4c4c745e562726ab60c423e6cedd9e22c44
|
|
294
311
|
|
|
295
312
|
## 0.0.8
|
|
296
313
|
|
|
@@ -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 { GreenInvoiceTypes } from './sources/GreenInvoice/types';
|
|
8
7
|
import type { GreenInvoiceNewTypes } from './sources/GreenInvoiceNew/types';
|
|
8
|
+
import type { GreenInvoiceTypes } from './sources/GreenInvoice/types';
|
|
9
9
|
export type Maybe<T> = T | null;
|
|
10
10
|
export type InputMaybe<T> = Maybe<T>;
|
|
11
11
|
export type Exact<T extends {
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FixtureBusinesses } from '__tests__/helpers/fixture-types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Business factory for test fixtures
|
|
4
4
|
*
|
|
5
5
|
* Creates a minimal business object ready for insertion via pgtyped.
|
|
6
6
|
*
|
|
7
7
|
* @param overrides - Optional overrides for any business field
|
|
8
|
-
* @returns Business object matching
|
|
8
|
+
* @returns Business object matching FixtureBusinesses['businesses'][0] shape
|
|
9
9
|
*
|
|
10
10
|
* @remarks
|
|
11
11
|
* - id defaults to deterministic UUID if not provided
|
|
12
|
+
* - name defaults to overrides.id ?? defaultId (intelligent fallback for display)
|
|
12
13
|
* - All other fields default to null/void (database will use defaults or accept nulls)
|
|
13
14
|
* - exemptDealer defaults to false for typical scenarios
|
|
14
15
|
* - isReceiptEnough defaults to false (invoices required by default)
|
|
@@ -22,10 +23,10 @@ import type { IInsertBusinessesParams } from '../../modules/financial-entities/_
|
|
|
22
23
|
* // Business with custom fields
|
|
23
24
|
* const supplier = createBusiness({
|
|
24
25
|
* id: makeUUID('business', 'supplier-usd'),
|
|
25
|
-
*
|
|
26
|
+
* name: 'American Supplier',
|
|
26
27
|
* country: 'USA',
|
|
27
28
|
* isReceiptEnough: true,
|
|
28
29
|
* });
|
|
29
30
|
* ```
|
|
30
31
|
*/
|
|
31
|
-
export declare function createBusiness(overrides?: Partial<
|
|
32
|
+
export declare function createBusiness(overrides?: Partial<FixtureBusinesses['businesses'][number]>): FixtureBusinesses['businesses'][number];
|
|
@@ -6,10 +6,11 @@ import { CountryCode } from '../../modules/countries/types.js';
|
|
|
6
6
|
* Creates a minimal business object ready for insertion via pgtyped.
|
|
7
7
|
*
|
|
8
8
|
* @param overrides - Optional overrides for any business field
|
|
9
|
-
* @returns Business object matching
|
|
9
|
+
* @returns Business object matching FixtureBusinesses['businesses'][0] shape
|
|
10
10
|
*
|
|
11
11
|
* @remarks
|
|
12
12
|
* - id defaults to deterministic UUID if not provided
|
|
13
|
+
* - name defaults to overrides.id ?? defaultId (intelligent fallback for display)
|
|
13
14
|
* - All other fields default to null/void (database will use defaults or accept nulls)
|
|
14
15
|
* - exemptDealer defaults to false for typical scenarios
|
|
15
16
|
* - isReceiptEnough defaults to false (invoices required by default)
|
|
@@ -23,7 +24,7 @@ import { CountryCode } from '../../modules/countries/types.js';
|
|
|
23
24
|
* // Business with custom fields
|
|
24
25
|
* const supplier = createBusiness({
|
|
25
26
|
* id: makeUUID('business', 'supplier-usd'),
|
|
26
|
-
*
|
|
27
|
+
* name: 'American Supplier',
|
|
27
28
|
* country: 'USA',
|
|
28
29
|
* isReceiptEnough: true,
|
|
29
30
|
* });
|
|
@@ -33,6 +34,9 @@ export function createBusiness(overrides) {
|
|
|
33
34
|
const defaultId = makeUUIDLegacy();
|
|
34
35
|
return {
|
|
35
36
|
id: defaultId,
|
|
37
|
+
// Intelligent name defaulting: use provided id, or use generated UUID
|
|
38
|
+
// This ensures display name is always meaningful even when only id is specified
|
|
39
|
+
name: overrides?.id ?? defaultId,
|
|
36
40
|
hebrewName: null,
|
|
37
41
|
address: null,
|
|
38
42
|
email: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"business.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/business.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"business.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/business.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,cAAc,CAC5B,SAA4D;IAE5D,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;IACnC,OAAO;QACL,EAAE,EAAE,SAAS;QACb,sEAAsE;QACtE,gFAAgF;QAChF,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,SAAS;QAChC,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"}
|
|
@@ -35,14 +35,14 @@ describe('Factory: Business', () => {
|
|
|
35
35
|
const customId = makeUUID('business', 'custom-business');
|
|
36
36
|
const business = createBusiness({
|
|
37
37
|
id: customId,
|
|
38
|
-
|
|
38
|
+
name: 'עסק ישראלי',
|
|
39
39
|
country: CountryCode.Israel,
|
|
40
40
|
exemptDealer: true,
|
|
41
41
|
isReceiptEnough: true,
|
|
42
42
|
isDocumentsOptional: true,
|
|
43
43
|
});
|
|
44
44
|
expect(business.id).toBe(customId);
|
|
45
|
-
expect(business.
|
|
45
|
+
expect(business.name).toBe('עסק ישראלי');
|
|
46
46
|
expect(business.country).toBe(CountryCode.Israel);
|
|
47
47
|
expect(business.exemptDealer).toBe(true);
|
|
48
48
|
expect(business.isReceiptEnough).toBe(true);
|
|
@@ -50,9 +50,9 @@ describe('Factory: Business', () => {
|
|
|
50
50
|
});
|
|
51
51
|
it('should allow partial overrides', () => {
|
|
52
52
|
const business = createBusiness({
|
|
53
|
-
|
|
53
|
+
name: 'ספק מקומי',
|
|
54
54
|
});
|
|
55
|
-
expect(business.
|
|
55
|
+
expect(business.name).toBe('ספק מקומי');
|
|
56
56
|
expect(business.id).toBeDefined();
|
|
57
57
|
expect(business.exemptDealer).toBe(false);
|
|
58
58
|
expect(business.country).toBe(CountryCode.Israel); // Default value, not null
|
|
@@ -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,mDAAmD,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;YAElC,8BAA8B;YAC9B,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAExC,mBAAmB;YACnB,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEjD,qBAAqB;YACrB,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB;YAChE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,yCAAyC;YAC/E,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;YAEnC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,cAAc,CAAC;gBAC9B,EAAE,EAAE,QAAQ;gBACZ,
|
|
1
|
+
{"version":3,"file":"business.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/business.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FixtureAccounts } from '__tests__/helpers/fixture-types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Valid financial account types
|
|
4
4
|
*/
|
|
@@ -9,7 +9,7 @@ export declare const FINANCIAL_ACCOUNT_TYPES: readonly ["BANK_ACCOUNT", "BANK_DE
|
|
|
9
9
|
* Creates a minimal financial account object ready for insertion via pgtyped.
|
|
10
10
|
*
|
|
11
11
|
* @param overrides - Optional overrides for any financial account field
|
|
12
|
-
* @returns Financial account object matching
|
|
12
|
+
* @returns Financial account object matching FixtureAccounts['accounts'][0] shape
|
|
13
13
|
*
|
|
14
14
|
* @remarks
|
|
15
15
|
* - accountNumber defaults to unique numeric string if not provided
|
|
@@ -43,4 +43,4 @@ export declare const FINANCIAL_ACCOUNT_TYPES: readonly ["BANK_ACCOUNT", "BANK_DE
|
|
|
43
43
|
* });
|
|
44
44
|
* ```
|
|
45
45
|
*/
|
|
46
|
-
export declare function createFinancialAccount(overrides?: Partial<
|
|
46
|
+
export declare function createFinancialAccount(overrides?: Partial<FixtureAccounts['accounts'][number]>): FixtureAccounts['accounts'][number];
|
|
@@ -15,7 +15,7 @@ export const FINANCIAL_ACCOUNT_TYPES = [
|
|
|
15
15
|
* Creates a minimal financial account object ready for insertion via pgtyped.
|
|
16
16
|
*
|
|
17
17
|
* @param overrides - Optional overrides for any financial account field
|
|
18
|
-
* @returns Financial account object matching
|
|
18
|
+
* @returns Financial account object matching FixtureAccounts['accounts'][0] shape
|
|
19
19
|
*
|
|
20
20
|
* @remarks
|
|
21
21
|
* - accountNumber defaults to unique numeric string if not provided
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"financial-account.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/financial-account.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"financial-account.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/financial-account.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAGnF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,cAAc;IACd,sBAAsB;IACtB,aAAa;IACb,eAAe;IACf,oBAAoB;CACgC,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAAwD;IAExD,OAAO;QACL,aAAa,EAAE,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,+BAA+B;QAC7E,IAAI,EAAE,IAAI;QACV,eAAe,EAAE,SAAS;QAC1B,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,cAAc;QACpB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -25,7 +25,7 @@ describe('Factory Integration', () => {
|
|
|
25
25
|
const supplierId = makeUUID('business', 'supplier-local');
|
|
26
26
|
const supplier = createBusiness({
|
|
27
27
|
id: supplierId,
|
|
28
|
-
|
|
28
|
+
name: 'Local Supplier',
|
|
29
29
|
});
|
|
30
30
|
const taxCategoryId = makeUUID('tax-category', 'tax-expense');
|
|
31
31
|
const taxCategory = createTaxCategory({
|
|
@@ -81,8 +81,8 @@ describe('Factory Integration', () => {
|
|
|
81
81
|
});
|
|
82
82
|
it('should create deterministic UUIDs with seeds', () => {
|
|
83
83
|
// Create same entities twice with same seeds
|
|
84
|
-
const business1 = createBusiness({ id: makeUUID('business', 'biz-1') });
|
|
85
|
-
const business2 = createBusiness({ id: makeUUID('business', 'biz-1') });
|
|
84
|
+
const business1 = createBusiness({ id: makeUUID('business', 'biz-1'), name: 'Business 1' });
|
|
85
|
+
const business2 = createBusiness({ id: makeUUID('business', 'biz-1'), name: 'Business 1' });
|
|
86
86
|
expect(business1.id).toBe(business2.id);
|
|
87
87
|
});
|
|
88
88
|
it('should handle all financial account types', () => {
|
|
@@ -135,17 +135,17 @@ describe('Factory Integration', () => {
|
|
|
135
135
|
});
|
|
136
136
|
it('should support partial overrides across all factories', () => {
|
|
137
137
|
const business = createBusiness({
|
|
138
|
-
|
|
138
|
+
name: 'Business',
|
|
139
139
|
});
|
|
140
140
|
const taxCategory = createTaxCategory({
|
|
141
|
-
|
|
141
|
+
name: 'Category 1',
|
|
142
142
|
});
|
|
143
143
|
const account = createFinancialAccount({
|
|
144
144
|
accountNumber: '123456',
|
|
145
145
|
});
|
|
146
|
-
expect(business.
|
|
146
|
+
expect(business.name).toBe('Business');
|
|
147
147
|
expect(business.id).toBeDefined();
|
|
148
|
-
expect(taxCategory.
|
|
148
|
+
expect(taxCategory.name).toBe('Category 1');
|
|
149
149
|
expect(taxCategory.id).toBeDefined();
|
|
150
150
|
expect(account.accountNumber).toBe('123456');
|
|
151
151
|
expect(account.type).toBeDefined();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/index.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,oCAAoC;QACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC9B,EAAE,EAAE,UAAU;YACd,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/index.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,oCAAoC;QACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC9B,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,gBAAgB;SACvB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACpC,EAAE,EAAE,aAAa;SAClB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,sBAAsB,CAAC;YACrC,aAAa,EAAE,SAAS;YACxB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,UAAU;SACpB,CAAC,CAAC;QAEH,mDAAmD;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,YAAY,CACzB;YACE,QAAQ,EAAE,UAAU;YACpB,eAAe,EAAE,aAAa;YAC9B,gBAAgB,EAAE,iBAAiB;SACpC,EACD;YACE,EAAE,EAAE,QAAQ;SACb,CACF,CAAC;QAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACpC,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC;YAC3B,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,QAAQ,EAAE;SACvB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC9B,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,UAAU;YACvB,SAAS,EAAE,UAAU;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,QAAQ,EAAE;SACjB,CAAC,CAAC;QAEH,0DAA0D;QAC1D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,qBAAqB;QACrB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,6CAA6C;QAC7C,MAAM,SAAS,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAC5F,MAAM,SAAS,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAE5F,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,KAAK,GAAG,uBAAuB,CAAC;QAEtC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,OAAO,GAAG,sBAAsB,CAAC;gBACrC,IAAI;gBACJ,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,KAAK,EAAE,CAAC;aAChD,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACpC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;YACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;YAC/C,MAAM,EAAE,CAAC,MAAM,EAAE,eAAe;YAChC,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,YAAY;SACzB,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B;QAC3E,MAAM,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,cAAc,CAAC;YAC7B,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,UAAU;YACvB,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,MAAM;YACpB,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,cAAc,CAAC;YAC7B,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,UAAU;YACvB,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,MAAM;YACpB,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC9B,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACpC,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,sBAAsB,CAAC;YACrC,aAAa,EAAE,QAAQ;SACxB,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAElC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAErC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FixtureTaxCategories } from '__tests__/helpers/fixture-types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Tax category factory for test fixtures
|
|
4
4
|
*
|
|
@@ -9,6 +9,7 @@ import type { IInsertTaxCategoryParams } from '../../modules/financial-entities/
|
|
|
9
9
|
*
|
|
10
10
|
* @remarks
|
|
11
11
|
* - id defaults to deterministic UUID if not provided
|
|
12
|
+
* - name defaults to overrides.id ?? defaultId (intelligent fallback for display)
|
|
12
13
|
* - hashavshevetName defaults to null (not integrated with Hashavshevet)
|
|
13
14
|
* - taxExcluded defaults to false (most categories include tax)
|
|
14
15
|
*
|
|
@@ -30,4 +31,4 @@ import type { IInsertTaxCategoryParams } from '../../modules/financial-entities/
|
|
|
30
31
|
* });
|
|
31
32
|
* ```
|
|
32
33
|
*/
|
|
33
|
-
export declare function createTaxCategory(overrides?: Partial<
|
|
34
|
+
export declare function createTaxCategory(overrides?: Partial<FixtureTaxCategories['taxCategories'][number]>): FixtureTaxCategories['taxCategories'][number];
|
|
@@ -9,6 +9,7 @@ import { makeUUIDLegacy } from '../../demo-fixtures/helpers/deterministic-uuid.j
|
|
|
9
9
|
*
|
|
10
10
|
* @remarks
|
|
11
11
|
* - id defaults to deterministic UUID if not provided
|
|
12
|
+
* - name defaults to overrides.id ?? defaultId (intelligent fallback for display)
|
|
12
13
|
* - hashavshevetName defaults to null (not integrated with Hashavshevet)
|
|
13
14
|
* - taxExcluded defaults to false (most categories include tax)
|
|
14
15
|
*
|
|
@@ -34,6 +35,9 @@ export function createTaxCategory(overrides) {
|
|
|
34
35
|
const defaultId = makeUUIDLegacy();
|
|
35
36
|
return {
|
|
36
37
|
id: defaultId,
|
|
38
|
+
// Intelligent name defaulting: use provided id, or use generated UUID
|
|
39
|
+
// This ensures display name is always meaningful even when only id is specified
|
|
40
|
+
name: overrides?.id ?? defaultId,
|
|
37
41
|
hashavshevetName: null,
|
|
38
42
|
taxExcluded: false,
|
|
39
43
|
...overrides,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-category.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/tax-category.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tax-category.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/tax-category.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAGnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAkE;IAElE,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;IACnC,OAAO;QACL,EAAE,EAAE,SAAS;QACb,sEAAsE;QACtE,gFAAgF;QAChF,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,SAAS;QAChC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,KAAK;QAClB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -23,18 +23,18 @@ describe('Factory: Tax Category', () => {
|
|
|
23
23
|
const customId = makeUUID('tax-category', 'tax-cat-expense');
|
|
24
24
|
const category = createTaxCategory({
|
|
25
25
|
id: customId,
|
|
26
|
-
|
|
26
|
+
name: 'משרדיות',
|
|
27
27
|
taxExcluded: true,
|
|
28
28
|
});
|
|
29
29
|
expect(category.id).toBe(customId);
|
|
30
|
-
expect(category.
|
|
30
|
+
expect(category.name).toBe('משרדיות');
|
|
31
31
|
expect(category.taxExcluded).toBe(true);
|
|
32
32
|
});
|
|
33
33
|
it('should allow partial overrides', () => {
|
|
34
34
|
const category = createTaxCategory({
|
|
35
|
-
|
|
35
|
+
name: 'שכר',
|
|
36
36
|
});
|
|
37
|
-
expect(category.
|
|
37
|
+
expect(category.name).toBe('שכר');
|
|
38
38
|
expect(category.id).toBeDefined();
|
|
39
39
|
expect(category.taxExcluded).toBe(false);
|
|
40
40
|
});
|
|
@@ -54,9 +54,9 @@ describe('Factory: Tax Category', () => {
|
|
|
54
54
|
});
|
|
55
55
|
it('should handle Hashavshevet integration name', () => {
|
|
56
56
|
const category = createTaxCategory({
|
|
57
|
-
|
|
57
|
+
name: 'הוצאות משרד',
|
|
58
58
|
});
|
|
59
|
-
expect(category.
|
|
59
|
+
expect(category.name).toBe('הוצאות משרד');
|
|
60
60
|
});
|
|
61
61
|
it('should allow explicit null overrides', () => {
|
|
62
62
|
const category = createTaxCategory({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-category.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/tax-category.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,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;YAErC,8BAA8B;YAC9B,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAExC,kBAAkB;YAClB,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEzC,eAAe;YACf,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;YAEtC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,iBAAiB,CAAC;gBACjC,EAAE,EAAE,QAAQ;gBACZ,
|
|
1
|
+
{"version":3,"file":"tax-category.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/factories/tax-category.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,13 +46,13 @@ export const expenseScenarioA = {
|
|
|
46
46
|
// Admin business (owner of the expense)
|
|
47
47
|
createBusiness({
|
|
48
48
|
id: makeUUID('business', 'admin-business-scenario-a'),
|
|
49
|
-
|
|
49
|
+
name: 'Accountancy Management',
|
|
50
50
|
country: CountryCode.Israel,
|
|
51
51
|
}),
|
|
52
52
|
// Supplier business
|
|
53
53
|
createBusiness({
|
|
54
54
|
id: makeUUID('business', 'supplier-local-ltd'),
|
|
55
|
-
|
|
55
|
+
name: 'Local Supplier Ltd',
|
|
56
56
|
country: CountryCode.Israel,
|
|
57
57
|
exemptDealer: false,
|
|
58
58
|
isReceiptEnough: true, // Can provide receipts for small purchases
|
|
@@ -63,11 +63,11 @@ export const expenseScenarioA = {
|
|
|
63
63
|
taxCategories: [
|
|
64
64
|
createTaxCategory({
|
|
65
65
|
id: makeUUID('tax-category', 'expense-general'),
|
|
66
|
-
|
|
66
|
+
name: 'General Expenses',
|
|
67
67
|
}),
|
|
68
68
|
createTaxCategory({
|
|
69
69
|
id: makeUUID('tax-category', 'bank-account-tax-category'),
|
|
70
|
-
|
|
70
|
+
name: 'Bank Account',
|
|
71
71
|
}),
|
|
72
72
|
],
|
|
73
73
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expense-scenario-a.js","sourceRoot":"","sources":["../../../../../../src/__tests__/fixtures/expenses/expense-scenario-a.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,sDAAsD,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,UAAU,EAAE;QACV,UAAU,EAAE;YACV,wCAAwC;YACxC,cAAc,CAAC;gBACb,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC;gBACrD,
|
|
1
|
+
{"version":3,"file":"expense-scenario-a.js","sourceRoot":"","sources":["../../../../../../src/__tests__/fixtures/expenses/expense-scenario-a.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,13 +58,13 @@ export const expenseScenarioB = {
|
|
|
58
58
|
// Admin business (owner of the expense)
|
|
59
59
|
createBusiness({
|
|
60
60
|
id: makeUUID('business', 'admin-business-usd'),
|
|
61
|
-
|
|
61
|
+
name: 'Accounter Admin',
|
|
62
62
|
country: CountryCode.Israel,
|
|
63
63
|
}),
|
|
64
64
|
// US Supplier business
|
|
65
65
|
createBusiness({
|
|
66
66
|
id: makeUUID('business', 'supplier-us-vendor-llc'),
|
|
67
|
-
|
|
67
|
+
name: 'Supplier US Vendor LLC',
|
|
68
68
|
country: CountryCode['United States of America (the)'],
|
|
69
69
|
exemptDealer: false,
|
|
70
70
|
isReceiptEnough: false, // Requires invoice for foreign transactions
|
|
@@ -75,11 +75,11 @@ export const expenseScenarioB = {
|
|
|
75
75
|
taxCategories: [
|
|
76
76
|
createTaxCategory({
|
|
77
77
|
id: makeUUID('tax-category', 'expense-consulting'),
|
|
78
|
-
|
|
78
|
+
name: 'Consulting Expenses',
|
|
79
79
|
}),
|
|
80
80
|
createTaxCategory({
|
|
81
81
|
id: makeUUID('tax-category', 'usd-account-tax-category'),
|
|
82
|
-
|
|
82
|
+
name: 'Foreign Currency Account',
|
|
83
83
|
}),
|
|
84
84
|
],
|
|
85
85
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expense-scenario-b.js","sourceRoot":"","sources":["../../../../../../src/__tests__/fixtures/expenses/expense-scenario-b.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,sDAAsD,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,UAAU,EAAE;QACV,UAAU,EAAE;YACV,wCAAwC;YACxC,cAAc,CAAC;gBACb,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;gBAC9C,
|
|
1
|
+
{"version":3,"file":"expense-scenario-b.js","sourceRoot":"","sources":["../../../../../../src/__tests__/fixtures/expenses/expense-scenario-b.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,sDAAsD,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,UAAU,EAAE;QACV,UAAU,EAAE;YACV,wCAAwC;YACxC,cAAc,CAAC;gBACb,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;gBAC9C,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,WAAW,CAAC,MAAM;aAC5B,CAAC;YACF,uBAAuB;YACvB,cAAc,CAAC;gBACb,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;gBAClD,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,WAAW,CAAC,gCAAgC,CAAC;gBACtD,YAAY,EAAE,KAAK;gBACnB,eAAe,EAAE,KAAK,EAAE,4CAA4C;aACrE,CAAC;SACH;KACF;IAED,aAAa,EAAE;QACb,aAAa,EAAE;YACb,iBAAiB,CAAC;gBAChB,EAAE,EAAE,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;gBAClD,IAAI,EAAE,qBAAqB;aAC5B,CAAC;YACF,iBAAiB,CAAC;gBAChB,EAAE,EAAE,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC;gBACxD,IAAI,EAAE,0BAA0B;aACjC,CAAC;SACH;KACF;IAED,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,sBAAsB,CAAC;gBACrB,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;aACpD,CAAC;SACH;KACF;IAED,oBAAoB,EAAE;QACpB,QAAQ,EAAE;YACR;gBACE,aAAa,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,QAAQ,CAAC,GAAG;gBACxB,aAAa,EAAE,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC;aACpE;SACF;KACF;IAED,OAAO,EAAE;QACP,OAAO,EAAE;YACP,YAAY,CACV;gBACE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;gBACpD,eAAe,EAAE,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;gBAC/D,gBAAgB,EAAE,oCAAoC;aACvD,EACD;gBACE,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;aACrD,CACF;SACF;KACF;IAED,YAAY,EAAE;QACZ,YAAY,EAAE;YACZ,iBAAiB,CACf;gBACE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;gBAC3D,WAAW,EAAE,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;gBAC3D,MAAM,EAAE,SAAS,EAAE,oCAAoC;gBACrD,QAAQ,EAAE,QAAQ,CAAC,GAAG;gBACxB,UAAU,EAAE,YAAY;gBACxB,MAAM,EAAE,KAAK;aACd,EACD;gBACE,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,gCAAgC,CAAC;gBAC7D,UAAU,EAAE,iBAAiB,EAAE,qCAAqC;gBACpE,kBAAkB,EAAE,qCAAqC;gBACzD,UAAU,EAAE,YAAY;gBACxB,eAAe,EAAE,GAAG,EAAE,cAAc;aACrC,CACF;SACF;KACF;IAED,SAAS,EAAE;QACT,SAAS,EAAE;YACT,cAAc,CACZ;gBACE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;gBAC3D,WAAW,EAAE,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC,EAAE,uBAAuB;gBACpF,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAAE,kBAAkB;gBACzE,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,KAAK,EAAE,gBAAgB;gBACnC,aAAa,EAAE,QAAQ,CAAC,GAAG;gBAC7B,IAAI,EAAE,YAAY,EAAE,mCAAmC;aACxD,EACD;gBACE,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC;gBACvD,aAAa,EAAE,iBAAiB;gBAChC,UAAU,EAAE,IAAI,EAAE,8BAA8B;aACjD,CACF;SACF;KACF;IAED,YAAY,EAAE;QACZ,MAAM,EAAE;YACN;gBACE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;gBAC1D,WAAW,EAAE,CAAC,EAAE,iCAAiC;gBACjD,aAAa,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC,EAAE,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;gBACrH,cAAc,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;gBACtH,+EAA+E;gBAC/E,uEAAuE;gBACvE,eAAe,EAAE,MAAM;gBACvB,gBAAgB,EAAE,MAAM;gBACxB,QAAQ,EAAE,IAAI;gBACZ,eAAe,EAAE,QAAQ,CAAC,GAAG;gBAC/B,aAAa,EAAE,KAAK;gBACpB,YAAY,EAAE,GAAG,EAAE,4BAA4B;aAChD;SACF;KACF;CACF,CAAC"}
|
|
@@ -120,10 +120,11 @@ export async function insertFixture(client, fixture) {
|
|
|
120
120
|
await executeSavepointSection('businesses', async () => {
|
|
121
121
|
for (const business of fixture.businesses.businesses) {
|
|
122
122
|
// Insert financial entity first (type='business')
|
|
123
|
+
// Field mapping: business.name used for display (required); hebrewName is legacy/optional
|
|
123
124
|
const entityResult = await client.query(`INSERT INTO ${qualifyTable('financial_entities')} (id, name, type)
|
|
124
125
|
VALUES ($1, $2, 'business')
|
|
125
126
|
ON CONFLICT (id) DO NOTHING
|
|
126
|
-
RETURNING id`, [business.id, business.
|
|
127
|
+
RETURNING id`, [business.id, business.name || business.id]);
|
|
127
128
|
// Insert business details - note: vat_number column maps to governmentId field
|
|
128
129
|
await client.query(`INSERT INTO ${qualifyTable('businesses')} (
|
|
129
130
|
id, hebrew_name, address, email, website, phone_number, vat_number,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture-loader.js","sourceRoot":"","sources":["../../../../../src/__tests__/helpers/fixture-loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fixture-loader.js","sourceRoot":"","sources":["../../../../../src/__tests__/helpers/fixture-loader.ts"],"names":[],"mappings":"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"}
|