@wisemen/address 0.2.3 → 0.2.5

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.
@@ -4,6 +4,7 @@ export declare class AddressCommandBuilder {
4
4
  private command;
5
5
  constructor();
6
6
  withPlaceId(placeId: string | null): this;
7
+ withPlaceName(placeName: string | null): this;
7
8
  withCountry(country: string | null): this;
8
9
  withCity(city: string | null): this;
9
10
  withPostalCode(postalCode: string | null): this;
@@ -8,6 +8,10 @@ export class AddressCommandBuilder {
8
8
  this.command.placeId = placeId;
9
9
  return this;
10
10
  }
11
+ withPlaceName(placeName) {
12
+ this.command.placeName = placeName;
13
+ return this;
14
+ }
11
15
  withCountry(country) {
12
16
  this.command.country = country;
13
17
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"address-command.builder.js","sourceRoot":"","sources":["../lib/address-command.builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAgB;IAE/B;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;IACrC,CAAC;IAED,WAAW,CAAE,OAAsB;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,CAAE,OAAsB;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAmB;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAExB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAE,UAAyB;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAE,UAAyB;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gBAAgB,CAAE,YAA2B;QAC3C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;QAExC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAmB;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAExB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe,CAAE,WAAsC;QACrD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAA;QAEtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"address-command.builder.js","sourceRoot":"","sources":["../lib/address-command.builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAgB;IAE/B;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;IACrC,CAAC;IAED,WAAW,CAAE,OAAsB;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAE,SAAwB;QACrC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAElC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,CAAE,OAAsB;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAmB;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAExB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAE,UAAyB;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAE,UAAyB;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gBAAgB,CAAE,YAA2B;QAC3C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;QAExC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAmB;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAExB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe,CAAE,WAAsC;QACrD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAA;QAEtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF"}
@@ -7,5 +7,7 @@ export interface IsAddressValidationOptions extends ValidationOptions {
7
7
  streetNumberRequired?: boolean;
8
8
  unitRequired?: boolean;
9
9
  coordinatesRequired?: boolean;
10
+ placeIdRequired?: boolean;
11
+ placeNameRequired?: boolean;
10
12
  }
11
13
  export declare function IsAddress(validationOptions?: IsAddressValidationOptions): PropertyDecorator;
@@ -16,7 +16,9 @@ export function IsAddress(validationOptions) {
16
16
  streetNameRequired: validationOptions?.streetNameRequired ?? false,
17
17
  streetNumberRequired: validationOptions?.streetNumberRequired ?? false,
18
18
  unitRequired: validationOptions?.unitRequired ?? false,
19
- coordinatesRequired: validationOptions?.coordinatesRequired ?? false
19
+ coordinatesRequired: validationOptions?.coordinatesRequired ?? false,
20
+ placeIdRequired: validationOptions?.placeIdRequired ?? false,
21
+ placeNameRequired: validationOptions?.placeNameRequired ?? false
20
22
  }], validationOptions));
21
23
  }
22
24
  let IsAddressValidator = class IsAddressValidator {
@@ -33,7 +35,9 @@ let IsAddressValidator = class IsAddressValidator {
33
35
  && (!constraints.postalCodeRequired || address.postalCode != null)
34
36
  && (!constraints.streetNameRequired || address.streetName != null)
35
37
  && (!constraints.streetNumberRequired || address.streetNumber != null)
36
- && (!constraints.unitRequired || address.unit != null);
38
+ && (!constraints.unitRequired || address.unit != null)
39
+ && (!constraints.placeIdRequired || address.placeId != null)
40
+ && (!constraints.placeNameRequired || address.placeName != null);
37
41
  }
38
42
  defaultMessage(args) {
39
43
  const constraints = args.constraints[0];
@@ -1 +1 @@
1
- {"version":3,"file":"is-address.validator.js","sourceRoot":"","sources":["../lib/is-address.validator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAwE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC/J,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAYrD,MAAM,UAAU,SAAS,CACvB,iBAA8C;IAE9C,OAAO,eAAe,CACpB,cAAc,CAAC,iBAAiB,CAAC,EACjC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAC1B,QAAQ,CAAC,iBAAiB,CAAC,EAC3B,QAAQ,CACN,kBAAkB,EAClB,CAAC;YACC,eAAe,EAAE,iBAAiB,EAAE,eAAe,IAAI,KAAK;YAC5D,YAAY,EAAE,iBAAiB,EAAE,YAAY,IAAI,KAAK;YACtD,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,IAAI,KAAK;YAClE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,IAAI,KAAK;YAClE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,IAAI,KAAK;YACtE,YAAY,EAAE,iBAAiB,EAAE,YAAY,IAAI,KAAK;YACtD,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,IAAI,KAAK;SACrE,CAAC,EACF,iBAAiB,CAClB,CACF,CAAA;AACH,CAAC;AAaD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACtB,QAAQ,CAAE,OAAgB,EAAE,IAAyB;QACnD,IAAI,CAAC,CAAC,OAAO,YAAY,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAyB,CAAA;QAE/D,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAClD,CAAC;IAEO,cAAc,CAAE,OAAuB,EAAE,WAAiC;QAChF,OAAO,CAAC,CAAC,WAAW,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;eAC3D,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;eACnD,CAAC,CAAC,WAAW,CAAC,kBAAkB,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;eAC/D,CAAC,CAAC,WAAW,CAAC,kBAAkB,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;eAC/D,CAAC,CAAC,WAAW,CAAC,oBAAoB,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;eACnE,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,cAAc,CAAE,IAAyB;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAyB,CAAA;QAC/D,MAAM,kBAAkB,GAAa,EAAE,CAAA;QAEvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9B,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,QAAQ,aAAa,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IACrE,CAAC;CACF,CAAA;AAhCK,kBAAkB;IADvB,mBAAmB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GACnD,kBAAkB,CAgCvB"}
1
+ {"version":3,"file":"is-address.validator.js","sourceRoot":"","sources":["../lib/is-address.validator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAwE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC/J,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAcrD,MAAM,UAAU,SAAS,CACvB,iBAA8C;IAE9C,OAAO,eAAe,CACpB,cAAc,CAAC,iBAAiB,CAAC,EACjC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAC1B,QAAQ,CAAC,iBAAiB,CAAC,EAC3B,QAAQ,CACN,kBAAkB,EAClB,CAAC;YACC,eAAe,EAAE,iBAAiB,EAAE,eAAe,IAAI,KAAK;YAC5D,YAAY,EAAE,iBAAiB,EAAE,YAAY,IAAI,KAAK;YACtD,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,IAAI,KAAK;YAClE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,IAAI,KAAK;YAClE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,IAAI,KAAK;YACtE,YAAY,EAAE,iBAAiB,EAAE,YAAY,IAAI,KAAK;YACtD,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,IAAI,KAAK;YACpE,eAAe,EAAE,iBAAiB,EAAE,eAAe,IAAI,KAAK;YAC5D,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,KAAK;SACjE,CAAC,EACF,iBAAiB,CAClB,CACF,CAAA;AACH,CAAC;AAeD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACtB,QAAQ,CAAE,OAAgB,EAAE,IAAyB;QACnD,IAAI,CAAC,CAAC,OAAO,YAAY,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAyB,CAAA;QAE/D,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAClD,CAAC;IAEO,cAAc,CAAE,OAAuB,EAAE,WAAiC;QAChF,OAAO,CAAC,CAAC,WAAW,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;eAC3D,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;eACnD,CAAC,CAAC,WAAW,CAAC,kBAAkB,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;eAC/D,CAAC,CAAC,WAAW,CAAC,kBAAkB,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;eAC/D,CAAC,CAAC,WAAW,CAAC,oBAAoB,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;eACnE,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;eACnD,CAAC,CAAC,WAAW,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;eACzD,CAAC,CAAC,WAAW,CAAC,iBAAiB,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAA;IACpE,CAAC;IAED,cAAc,CAAE,IAAyB;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAyB,CAAA;QAC/D,MAAM,kBAAkB,GAAa,EAAE,CAAA;QAEvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9B,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,QAAQ,aAAa,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IACrE,CAAC;CACF,CAAA;AAlCK,kBAAkB;IADvB,mBAAmB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GACnD,kBAAkB,CAkCvB"}
@@ -32,6 +32,24 @@ __decorate([
32
32
  }),
33
33
  __metadata("design:type", AddressCommand)
34
34
  ], TestClassWithRequiredFields.prototype, "address", void 0);
35
+ class TestClassWithPlaceIdRequired {
36
+ address;
37
+ }
38
+ __decorate([
39
+ IsAddress({
40
+ placeIdRequired: true
41
+ }),
42
+ __metadata("design:type", AddressCommand)
43
+ ], TestClassWithPlaceIdRequired.prototype, "address", void 0);
44
+ class TestClassWithPlaceNameRequired {
45
+ address;
46
+ }
47
+ __decorate([
48
+ IsAddress({
49
+ placeNameRequired: true
50
+ }),
51
+ __metadata("design:type", AddressCommand)
52
+ ], TestClassWithPlaceNameRequired.prototype, "address", void 0);
35
53
  describe('IsAddress decorator test', () => {
36
54
  it('should pass validation when the address has all fields', async () => {
37
55
  const testInstance = new TestClass();
@@ -125,5 +143,71 @@ describe('IsAddress decorator test', () => {
125
143
  const errors = await validate(testInstance);
126
144
  expect(errors.length).toBeGreaterThan(0);
127
145
  });
146
+ it('should fail validation when placeId is required but missing', async () => {
147
+ const testInstance = new TestClassWithPlaceIdRequired();
148
+ const addressCommand = new AddressCommand();
149
+ addressCommand.country = 'Belgium';
150
+ addressCommand.city = 'Brussels';
151
+ addressCommand.postalCode = '1000';
152
+ addressCommand.streetName = 'Main Street';
153
+ addressCommand.streetNumber = '123';
154
+ addressCommand.unit = null;
155
+ addressCommand.placeName = null;
156
+ addressCommand.placeId = null;
157
+ addressCommand.coordinates = null;
158
+ testInstance.address = addressCommand;
159
+ const errors = await validate(testInstance);
160
+ expect(errors.length).toBe(1);
161
+ expect(errors[0].constraints?.isAddress).toContain('placeIdRequired');
162
+ });
163
+ it('should pass validation when placeId is required and provided', async () => {
164
+ const testInstance = new TestClassWithPlaceIdRequired();
165
+ const addressCommand = new AddressCommand();
166
+ addressCommand.country = 'Belgium';
167
+ addressCommand.city = 'Brussels';
168
+ addressCommand.postalCode = '1000';
169
+ addressCommand.streetName = 'Main Street';
170
+ addressCommand.streetNumber = '123';
171
+ addressCommand.unit = null;
172
+ addressCommand.placeName = null;
173
+ addressCommand.placeId = 'ChIJN1t_tDeuEmsRUsoyG83frY4';
174
+ addressCommand.coordinates = null;
175
+ testInstance.address = addressCommand;
176
+ const errors = await validate(testInstance);
177
+ expect(errors.length).toBe(0);
178
+ });
179
+ it('should fail validation when placeName is required but missing', async () => {
180
+ const testInstance = new TestClassWithPlaceNameRequired();
181
+ const addressCommand = new AddressCommand();
182
+ addressCommand.country = 'Belgium';
183
+ addressCommand.city = 'Brussels';
184
+ addressCommand.postalCode = '1000';
185
+ addressCommand.streetName = 'Main Street';
186
+ addressCommand.streetNumber = '123';
187
+ addressCommand.unit = null;
188
+ addressCommand.placeName = null;
189
+ addressCommand.placeId = null;
190
+ addressCommand.coordinates = null;
191
+ testInstance.address = addressCommand;
192
+ const errors = await validate(testInstance);
193
+ expect(errors.length).toBe(1);
194
+ expect(errors[0].constraints?.isAddress).toContain('placeNameRequired');
195
+ });
196
+ it('should pass validation when placeName is required and provided', async () => {
197
+ const testInstance = new TestClassWithPlaceNameRequired();
198
+ const addressCommand = new AddressCommand();
199
+ addressCommand.country = 'Belgium';
200
+ addressCommand.city = 'Brussels';
201
+ addressCommand.postalCode = '1000';
202
+ addressCommand.streetName = 'Main Street';
203
+ addressCommand.streetNumber = '123';
204
+ addressCommand.unit = null;
205
+ addressCommand.placeName = 'wisemen';
206
+ addressCommand.placeId = null;
207
+ addressCommand.coordinates = null;
208
+ testInstance.address = addressCommand;
209
+ const errors = await validate(testInstance);
210
+ expect(errors.length).toBe(0);
211
+ });
128
212
  });
129
213
  //# sourceMappingURL=is-address.validator.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-address.validator.unit.test.js","sourceRoot":"","sources":["../../lib/tests/is-address.validator.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"is-address.validator.unit.test.js","sourceRoot":"","sources":["../../lib/tests/is-address.validator.unit.test.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,12 @@ export class AddressCommandBuilder {
14
14
  return this
15
15
  }
16
16
 
17
+ withPlaceName (placeName: string | null): this {
18
+ this.command.placeName = placeName
19
+
20
+ return this
21
+ }
22
+
17
23
  withCountry (country: string | null): this {
18
24
  this.command.country = country
19
25
 
@@ -11,6 +11,8 @@ export interface IsAddressValidationOptions extends ValidationOptions {
11
11
  streetNumberRequired?: boolean
12
12
  unitRequired?: boolean
13
13
  coordinatesRequired?: boolean
14
+ placeIdRequired?: boolean
15
+ placeNameRequired?: boolean
14
16
  }
15
17
 
16
18
  export function IsAddress (
@@ -29,7 +31,9 @@ export function IsAddress (
29
31
  streetNameRequired: validationOptions?.streetNameRequired ?? false,
30
32
  streetNumberRequired: validationOptions?.streetNumberRequired ?? false,
31
33
  unitRequired: validationOptions?.unitRequired ?? false,
32
- coordinatesRequired: validationOptions?.coordinatesRequired ?? false
34
+ coordinatesRequired: validationOptions?.coordinatesRequired ?? false,
35
+ placeIdRequired: validationOptions?.placeIdRequired ?? false,
36
+ placeNameRequired: validationOptions?.placeNameRequired ?? false
33
37
  }],
34
38
  validationOptions
35
39
  )
@@ -44,6 +48,8 @@ interface ValidatorConstraints {
44
48
  streetNumberRequired: boolean
45
49
  unitRequired: boolean
46
50
  coordinatesRequired: boolean
51
+ placeIdRequired: boolean
52
+ placeNameRequired: boolean
47
53
  }
48
54
 
49
55
  @ValidatorConstraint({ name: 'isAddress', async: false })
@@ -65,6 +71,8 @@ class IsAddressValidator implements ValidatorConstraintInterface {
65
71
  && (!constraints.streetNameRequired || address.streetName != null)
66
72
  && (!constraints.streetNumberRequired || address.streetNumber != null)
67
73
  && (!constraints.unitRequired || address.unit != null)
74
+ && (!constraints.placeIdRequired || address.placeId != null)
75
+ && (!constraints.placeNameRequired || address.placeName != null)
68
76
  }
69
77
 
70
78
  defaultMessage (args: ValidationArguments): string {
@@ -20,6 +20,20 @@ class TestClassWithRequiredFields {
20
20
  address: AddressCommand
21
21
  }
22
22
 
23
+ class TestClassWithPlaceIdRequired {
24
+ @IsAddress({
25
+ placeIdRequired: true
26
+ })
27
+ address: AddressCommand
28
+ }
29
+
30
+ class TestClassWithPlaceNameRequired {
31
+ @IsAddress({
32
+ placeNameRequired: true
33
+ })
34
+ address: AddressCommand
35
+ }
36
+
23
37
  describe('IsAddress decorator test', () => {
24
38
  it('should pass validation when the address has all fields', async () => {
25
39
  const testInstance = new TestClass()
@@ -141,4 +155,90 @@ describe('IsAddress decorator test', () => {
141
155
 
142
156
  expect(errors.length).toBeGreaterThan(0)
143
157
  })
158
+
159
+ it('should fail validation when placeId is required but missing', async () => {
160
+ const testInstance = new TestClassWithPlaceIdRequired()
161
+ const addressCommand = new AddressCommand()
162
+
163
+ addressCommand.country = 'Belgium'
164
+ addressCommand.city = 'Brussels'
165
+ addressCommand.postalCode = '1000'
166
+ addressCommand.streetName = 'Main Street'
167
+ addressCommand.streetNumber = '123'
168
+ addressCommand.unit = null
169
+ addressCommand.placeName = null
170
+ addressCommand.placeId = null
171
+ addressCommand.coordinates = null
172
+
173
+ testInstance.address = addressCommand
174
+
175
+ const errors = await validate(testInstance)
176
+
177
+ expect(errors.length).toBe(1)
178
+ expect(errors[0].constraints?.isAddress).toContain('placeIdRequired')
179
+ })
180
+
181
+ it('should pass validation when placeId is required and provided', async () => {
182
+ const testInstance = new TestClassWithPlaceIdRequired()
183
+ const addressCommand = new AddressCommand()
184
+
185
+ addressCommand.country = 'Belgium'
186
+ addressCommand.city = 'Brussels'
187
+ addressCommand.postalCode = '1000'
188
+ addressCommand.streetName = 'Main Street'
189
+ addressCommand.streetNumber = '123'
190
+ addressCommand.unit = null
191
+ addressCommand.placeName = null
192
+ addressCommand.placeId = 'ChIJN1t_tDeuEmsRUsoyG83frY4'
193
+ addressCommand.coordinates = null
194
+
195
+ testInstance.address = addressCommand
196
+
197
+ const errors = await validate(testInstance)
198
+
199
+ expect(errors.length).toBe(0)
200
+ })
201
+
202
+ it('should fail validation when placeName is required but missing', async () => {
203
+ const testInstance = new TestClassWithPlaceNameRequired()
204
+ const addressCommand = new AddressCommand()
205
+
206
+ addressCommand.country = 'Belgium'
207
+ addressCommand.city = 'Brussels'
208
+ addressCommand.postalCode = '1000'
209
+ addressCommand.streetName = 'Main Street'
210
+ addressCommand.streetNumber = '123'
211
+ addressCommand.unit = null
212
+ addressCommand.placeName = null
213
+ addressCommand.placeId = null
214
+ addressCommand.coordinates = null
215
+
216
+ testInstance.address = addressCommand
217
+
218
+ const errors = await validate(testInstance)
219
+
220
+ expect(errors.length).toBe(1)
221
+ expect(errors[0].constraints?.isAddress).toContain('placeNameRequired')
222
+ })
223
+
224
+ it('should pass validation when placeName is required and provided', async () => {
225
+ const testInstance = new TestClassWithPlaceNameRequired()
226
+ const addressCommand = new AddressCommand()
227
+
228
+ addressCommand.country = 'Belgium'
229
+ addressCommand.city = 'Brussels'
230
+ addressCommand.postalCode = '1000'
231
+ addressCommand.streetName = 'Main Street'
232
+ addressCommand.streetNumber = '123'
233
+ addressCommand.unit = null
234
+ addressCommand.placeName = 'wisemen'
235
+ addressCommand.placeId = null
236
+ addressCommand.coordinates = null
237
+
238
+ testInstance.address = addressCommand
239
+
240
+ const errors = await validate(testInstance)
241
+
242
+ expect(errors.length).toBe(0)
243
+ })
144
244
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wisemen/address",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dist/index.js"