thm-p3-configurator 0.0.370 → 0.0.372

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.
@@ -33,7 +33,7 @@ describe('singleOrderCustomerDetails', () => {
33
33
  ownershipType: _constants__.VEHICLE_SINGLE_ORDER_OWNERSHIP_TYPE.Zakelijk
34
34
  })).toEqual(['companyName', 'firstName', 'lastName', 'email', 'phoneNumber', 'streetName', 'houseNumber', 'zipCode', 'city', 'countryId']);
35
35
  });
36
- it('clears customer flags and inactive fields when direct delivery is off', () => {
36
+ it('behoudt ingevulde klant-/zakelijke velden bij losse order zonder rechtstreeks leveren (Zakelijk)', () => {
37
37
  expect((0, _singleOrderCustomerDetails.buildSingleOrderCustomerPayload)({
38
38
  customer: {
39
39
  firstName: 'Remko',
@@ -46,11 +46,48 @@ describe('singleOrderCustomerDetails', () => {
46
46
  afhalenInWinkel: true,
47
47
  ownershipType: _constants__.VEHICLE_SINGLE_ORDER_OWNERSHIP_TYPE.Zakelijk
48
48
  })).toEqual({
49
- firstName: '',
49
+ firstName: 'Remko',
50
50
  infix: '',
51
51
  lastName: '',
52
52
  email: '',
53
53
  phoneNumber: '',
54
+ note: '',
55
+ zipCode: '1234AB',
56
+ houseNumber: '',
57
+ houseNumberAddition: '',
58
+ streetName: '',
59
+ city: '',
60
+ companyName: 'TowCenter Breda',
61
+ companyNamePlaceholder: '',
62
+ kvkNumber: '',
63
+ vatNumber: '',
64
+ countryId: '',
65
+ zakelijkContactPersoonNaam: 'Liam',
66
+ zakelijkContactTelefoonnummer: '',
67
+ zakeiljkContactFactuuradres: '',
68
+ zakelijkContactEMailadres: '',
69
+ anderAfleveradres: false,
70
+ afhalenInWinkel: false,
71
+ anderFactuuradres: false
72
+ });
73
+ });
74
+ it('wist zakelijke bedrijfs-/contactvelden bij Particulier', () => {
75
+ expect((0, _singleOrderCustomerDetails.buildSingleOrderCustomerPayload)({
76
+ customer: {
77
+ firstName: 'A',
78
+ companyName: 'MoetWeg',
79
+ zakelijkContactPersoonNaam: 'X'
80
+ },
81
+ webshop: false,
82
+ anderAfleveradres: false,
83
+ ownershipType: _constants__.VEHICLE_SINGLE_ORDER_OWNERSHIP_TYPE.Particulier
84
+ })).toEqual({
85
+ firstName: 'A',
86
+ infix: '',
87
+ lastName: '',
88
+ email: '',
89
+ phoneNumber: '',
90
+ note: '',
54
91
  zipCode: '',
55
92
  houseNumber: '',
56
93
  houseNumberAddition: '',
@@ -82,7 +119,7 @@ describe('singleOrderCustomerDetails', () => {
82
119
  leaseNumber: ''
83
120
  });
84
121
  });
85
- it('only forwards top-level business contact fields for zakelijke direct delivery', () => {
122
+ it('stuurt geen zakelijke contactvelden mee bij Particulier (ook niet bij afleveradres aan)', () => {
86
123
  expect((0, _singleOrderCustomerDetails.buildSingleOrderBusinessContactPayload)({
87
124
  customer: {
88
125
  zakelijkContactPersoonNaam: 'Liam',
@@ -100,4 +137,34 @@ describe('singleOrderCustomerDetails', () => {
100
137
  zakelijkContactEMailadres: undefined
101
138
  });
102
139
  });
140
+ it('stuurt zakelijke contactvelden ook zonder afleveradres als ze zijn gevuld', () => {
141
+ expect((0, _singleOrderCustomerDetails.buildSingleOrderBusinessContactPayload)({
142
+ customer: {
143
+ zakelijkContactPersoonNaam: 'Liam'
144
+ },
145
+ ownershipType: _constants__.VEHICLE_SINGLE_ORDER_OWNERSHIP_TYPE.Zakelijk,
146
+ webshop: false,
147
+ anderAfleveradres: false
148
+ })).toEqual({
149
+ zakelijkContactPersoonNaam: 'Liam',
150
+ zakelijkContactTelefoonnummer: undefined,
151
+ zakeiljkContactFactuuradres: undefined,
152
+ zakelijkContactEMailadres: undefined
153
+ });
154
+ });
155
+ it('stuurt bij Zakelijk zonder afleveradres geen zakelijke contact-keys als deze leeg zijn', () => {
156
+ expect((0, _singleOrderCustomerDetails.buildSingleOrderBusinessContactPayload)({
157
+ customer: {
158
+ firstName: 'Test'
159
+ },
160
+ ownershipType: _constants__.VEHICLE_SINGLE_ORDER_OWNERSHIP_TYPE.Zakelijk,
161
+ webshop: false,
162
+ anderAfleveradres: false
163
+ })).toEqual({
164
+ zakelijkContactPersoonNaam: undefined,
165
+ zakelijkContactTelefoonnummer: undefined,
166
+ zakeiljkContactFactuuradres: undefined,
167
+ zakelijkContactEMailadres: undefined
168
+ });
169
+ });
103
170
  });
@@ -1,15 +1,19 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.string.trim.js");
3
4
  require("core-js/modules/esnext.iterator.constructor.js");
4
5
  require("core-js/modules/esnext.iterator.filter.js");
5
6
  require("core-js/modules/esnext.iterator.for-each.js");
6
- require("core-js/modules/esnext.iterator.constructor.js");
7
+ require("core-js/modules/esnext.iterator.some.js");
7
8
  require("core-js/modules/esnext.iterator.filter.js");
8
9
  require("core-js/modules/esnext.iterator.for-each.js");
9
10
  Object.defineProperty(exports, "__esModule", {
10
11
  value: true
11
12
  });
12
13
  exports.getSingleOrderRequiredFields = exports.getSingleOrderCheckboxAvailability = exports.getEmptySingleOrderCustomer = exports.buildSingleOrderVehiclePayload = exports.buildSingleOrderCustomerPayload = exports.buildSingleOrderBusinessContactPayload = void 0;
14
+ require("core-js/modules/es.string.trim.js");
15
+ require("core-js/modules/esnext.iterator.constructor.js");
16
+ require("core-js/modules/esnext.iterator.some.js");
13
17
  var _constants__ = require("../__constants__");
14
18
  function ownKeys(e, r) {
15
19
  var t = Object.keys(e);
@@ -113,14 +117,6 @@ const buildSingleOrderCustomerPayload = _ref3 => {
113
117
  ownershipType = null
114
118
  } = _ref3;
115
119
  const baseCustomer = _objectSpread(_objectSpread({}, getEmptySingleOrderCustomer()), customer);
116
- if (!webshop && !anderAfleveradres) {
117
- return _objectSpread(_objectSpread({}, getEmptySingleOrderCustomer()), {}, {
118
- note: (customer === null || customer === void 0 ? void 0 : customer.note) || '',
119
- anderAfleveradres: false,
120
- afhalenInWinkel: false,
121
- anderFactuuradres: false
122
- });
123
- }
124
120
  const payload = _objectSpread(_objectSpread({}, baseCustomer), {}, {
125
121
  anderAfleveradres: Boolean(anderAfleveradres),
126
122
  afhalenInWinkel: false,
@@ -160,7 +156,18 @@ const buildSingleOrderBusinessContactPayload = _ref5 => {
160
156
  webshop = false,
161
157
  anderAfleveradres = false
162
158
  } = _ref5;
163
- const shouldIncludeBusinessContacts = ownershipType === _constants__.VEHICLE_SINGLE_ORDER_OWNERSHIP_TYPE.Zakelijk && (webshop || anderAfleveradres);
159
+ if (ownershipType !== _constants__.VEHICLE_SINGLE_ORDER_OWNERSHIP_TYPE.Zakelijk) {
160
+ return {
161
+ zakelijkContactPersoonNaam: undefined,
162
+ zakelijkContactTelefoonnummer: undefined,
163
+ zakeiljkContactFactuuradres: undefined,
164
+ zakelijkContactEMailadres: undefined
165
+ };
166
+ }
167
+ const hasAnyExplicitBusinessContact = [customer === null || customer === void 0 ? void 0 : customer.zakelijkContactPersoonNaam, customer === null || customer === void 0 ? void 0 : customer.zakelijkContactTelefoonnummer, customer === null || customer === void 0 ? void 0 : customer.zakeiljkContactFactuuradres, customer === null || customer === void 0 ? void 0 : customer.zakelijkContactEMailadres].some(v => typeof v === 'string' ? v.trim() : v);
168
+
169
+ /** Zakelijke contactvelden: meesturen bij webshop/levering of bij ingevulde zakelijke contactdata */
170
+ const shouldIncludeBusinessContacts = webshop || anderAfleveradres || hasAnyExplicitBusinessContact;
164
171
  if (!shouldIncludeBusinessContacts) {
165
172
  return {
166
173
  zakelijkContactPersoonNaam: undefined,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thm-p3-configurator",
3
- "version": "0.0.370",
3
+ "version": "0.0.372",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "author": "EnoRm.",