@labdigital/commercetools-mock 2.39.0 → 2.41.0

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/dist/index.cjs CHANGED
@@ -3898,7 +3898,7 @@ var CustomerRepository = class extends AbstractResourceRepository {
3898
3898
  }
3899
3899
  create(context, draft) {
3900
3900
  const results = this._storage.query(context.projectKey, this.getTypeId(), {
3901
- where: [`email="${draft.email.toLocaleLowerCase()}"`]
3901
+ where: [`lowercaseEmail="${draft.email.toLowerCase()}"`]
3902
3902
  });
3903
3903
  if (results.count > 0) {
3904
3904
  throw new CommercetoolsError({
@@ -3947,6 +3947,23 @@ var CustomerRepository = class extends AbstractResourceRepository {
3947
3947
  const billingAddressIds = draft.billingAddresses?.map(
3948
3948
  (addressId) => lookupAdressId(addresses, addressId)
3949
3949
  ) ?? [];
3950
+ let storesForCustomer = [];
3951
+ if (draft.stores && draft.stores.length > 0) {
3952
+ const storeIds = draft.stores.map((storeReference) => storeReference.id).filter(Boolean);
3953
+ const stores = this._storage.query(context.projectKey, "store", {
3954
+ where: storeIds.map((id) => `id="${id}"`)
3955
+ }).results;
3956
+ if (storeIds.length !== stores.length) {
3957
+ throw new CommercetoolsError({
3958
+ code: "ResourceNotFound",
3959
+ message: `Store with ID '${storeIds.find((id) => !stores.some((store) => store.id === id))}' was not found.`
3960
+ });
3961
+ }
3962
+ storesForCustomer = draft.stores.map((storeReference) => ({
3963
+ typeId: "store",
3964
+ key: storeReference.key ?? stores.find((store) => store.id === storeReference.id)?.key
3965
+ }));
3966
+ }
3950
3967
  const resource = {
3951
3968
  ...getBaseResourceProperties(),
3952
3969
  key: draft.key,
@@ -3958,6 +3975,7 @@ var CustomerRepository = class extends AbstractResourceRepository {
3958
3975
  dateOfBirth: draft.dateOfBirth,
3959
3976
  companyName: draft.companyName,
3960
3977
  email: draft.email.toLowerCase(),
3978
+ lowercaseEmail: draft.email.toLowerCase(),
3961
3979
  password: draft.password ? hashPassword(draft.password) : void 0,
3962
3980
  isEmailVerified: draft.isEmailVerified || false,
3963
3981
  addresses,
@@ -3972,10 +3990,17 @@ var CustomerRepository = class extends AbstractResourceRepository {
3972
3990
  context.projectKey,
3973
3991
  this._storage
3974
3992
  ),
3975
- stores: []
3993
+ stores: storesForCustomer
3976
3994
  };
3977
3995
  return this.saveNew(context, resource);
3978
3996
  }
3997
+ saveUpdate(context, version, resource) {
3998
+ const updatedResource = {
3999
+ ...resource,
4000
+ lowercaseEmail: resource.email.toLowerCase()
4001
+ };
4002
+ return super.saveUpdate(context, version, updatedResource);
4003
+ }
3979
4004
  passwordResetToken(context, request) {
3980
4005
  const results = this._storage.query(context.projectKey, this.getTypeId(), {
3981
4006
  where: [`email="${request.email.toLocaleLowerCase()}"`]
@@ -4410,13 +4435,12 @@ var MyCustomerRepository = class extends CustomerRepository {
4410
4435
  };
4411
4436
 
4412
4437
  // src/repositories/my-order.ts
4413
- var import_assert4 = __toESM(require("assert"), 1);
4438
+ var import_assert3 = __toESM(require("assert"), 1);
4414
4439
 
4415
4440
  // src/repositories/order/index.ts
4416
- var import_assert3 = __toESM(require("assert"), 1);
4441
+ var import_assert2 = __toESM(require("assert"), 1);
4417
4442
 
4418
4443
  // src/repositories/order/actions.ts
4419
- var import_assert2 = __toESM(require("assert"), 1);
4420
4444
  var OrderUpdateHandler = class extends AbstractUpdateHandler {
4421
4445
  addPayment(context, resource, { payment }) {
4422
4446
  const resolvedPayment = this._storage.getByResourceIdentifier(
@@ -4516,17 +4540,13 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
4516
4540
  }
4517
4541
  }
4518
4542
  setDeliveryCustomField(context, resource, { deliveryId, name, value }) {
4519
- (0, import_assert2.default)(resource.shippingInfo, "shippingInfo is not defined");
4520
- if (Array.isArray(resource.shippingInfo.deliveries)) {
4521
- resource.shippingInfo.deliveries.map((delivery) => {
4522
- if (delivery.id !== deliveryId) throw "No matching delivery id found";
4523
- if (delivery.custom) {
4524
- const update = delivery.custom.fields;
4525
- update[name] = value;
4526
- Object.assign(delivery.custom.fields, update);
4527
- }
4528
- return delivery;
4529
- });
4543
+ if (!resource.shippingInfo) {
4544
+ throw new Error("Resource has no shipping info");
4545
+ }
4546
+ for (const delivery of resource.shippingInfo.deliveries || []) {
4547
+ if (delivery.id === deliveryId && delivery.custom?.fields) {
4548
+ delivery.custom.fields[name] = value;
4549
+ }
4530
4550
  }
4531
4551
  }
4532
4552
  setLocale(context, resource, { locale }) {
@@ -4535,6 +4555,18 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
4535
4555
  setOrderNumber(context, resource, { orderNumber }) {
4536
4556
  resource.orderNumber = orderNumber;
4537
4557
  }
4558
+ setParcelCustomField(context, resource, { parcelId, name, value }) {
4559
+ if (!resource.shippingInfo) {
4560
+ throw new Error("Resource has no shipping info");
4561
+ }
4562
+ for (const delivery of resource.shippingInfo.deliveries || []) {
4563
+ for (const parcel of delivery.parcels || []) {
4564
+ if (parcel.id === parcelId && parcel.custom?.fields) {
4565
+ parcel.custom.fields[name] = value;
4566
+ }
4567
+ }
4568
+ }
4569
+ }
4538
4570
  setPurchaseOrderNumber(context, resource, { purchaseOrderNumber }) {
4539
4571
  resource.purchaseOrderNumber = purchaseOrderNumber;
4540
4572
  }
@@ -4611,7 +4643,7 @@ var OrderRepository = class extends AbstractResourceRepository {
4611
4643
  this.actions = new OrderUpdateHandler(storage);
4612
4644
  }
4613
4645
  create(context, draft) {
4614
- (0, import_assert3.default)(draft.cart, "draft.cart is missing");
4646
+ (0, import_assert2.default)(draft.cart, "draft.cart is missing");
4615
4647
  return this.createFromCart(
4616
4648
  context,
4617
4649
  {
@@ -4666,7 +4698,7 @@ var OrderRepository = class extends AbstractResourceRepository {
4666
4698
  return this.saveNew(context, resource);
4667
4699
  }
4668
4700
  import(context, draft) {
4669
- (0, import_assert3.default)(this, "OrderRepository not valid");
4701
+ (0, import_assert2.default)(this, "OrderRepository not valid");
4670
4702
  const resource = {
4671
4703
  ...getBaseResourceProperties(),
4672
4704
  billingAddress: createAddress(
@@ -4809,7 +4841,7 @@ var OrderRepository = class extends AbstractResourceRepository {
4809
4841
  // src/repositories/my-order.ts
4810
4842
  var MyOrderRepository = class extends OrderRepository {
4811
4843
  create(context, draft) {
4812
- (0, import_assert4.default)(draft.id, "draft.id is missing");
4844
+ (0, import_assert3.default)(draft.id, "draft.id is missing");
4813
4845
  const cartIdentifier = {
4814
4846
  id: draft.id,
4815
4847
  typeId: "cart"