@labdigital/commercetools-mock 2.40.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({
@@ -3948,7 +3948,7 @@ var CustomerRepository = class extends AbstractResourceRepository {
3948
3948
  (addressId) => lookupAdressId(addresses, addressId)
3949
3949
  ) ?? [];
3950
3950
  let storesForCustomer = [];
3951
- if (draft.stores) {
3951
+ if (draft.stores && draft.stores.length > 0) {
3952
3952
  const storeIds = draft.stores.map((storeReference) => storeReference.id).filter(Boolean);
3953
3953
  const stores = this._storage.query(context.projectKey, "store", {
3954
3954
  where: storeIds.map((id) => `id="${id}"`)
@@ -3975,6 +3975,7 @@ var CustomerRepository = class extends AbstractResourceRepository {
3975
3975
  dateOfBirth: draft.dateOfBirth,
3976
3976
  companyName: draft.companyName,
3977
3977
  email: draft.email.toLowerCase(),
3978
+ lowercaseEmail: draft.email.toLowerCase(),
3978
3979
  password: draft.password ? hashPassword(draft.password) : void 0,
3979
3980
  isEmailVerified: draft.isEmailVerified || false,
3980
3981
  addresses,
@@ -3993,6 +3994,13 @@ var CustomerRepository = class extends AbstractResourceRepository {
3993
3994
  };
3994
3995
  return this.saveNew(context, resource);
3995
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
+ }
3996
4004
  passwordResetToken(context, request) {
3997
4005
  const results = this._storage.query(context.projectKey, this.getTypeId(), {
3998
4006
  where: [`email="${request.email.toLocaleLowerCase()}"`]
@@ -4427,13 +4435,12 @@ var MyCustomerRepository = class extends CustomerRepository {
4427
4435
  };
4428
4436
 
4429
4437
  // src/repositories/my-order.ts
4430
- var import_assert4 = __toESM(require("assert"), 1);
4438
+ var import_assert3 = __toESM(require("assert"), 1);
4431
4439
 
4432
4440
  // src/repositories/order/index.ts
4433
- var import_assert3 = __toESM(require("assert"), 1);
4441
+ var import_assert2 = __toESM(require("assert"), 1);
4434
4442
 
4435
4443
  // src/repositories/order/actions.ts
4436
- var import_assert2 = __toESM(require("assert"), 1);
4437
4444
  var OrderUpdateHandler = class extends AbstractUpdateHandler {
4438
4445
  addPayment(context, resource, { payment }) {
4439
4446
  const resolvedPayment = this._storage.getByResourceIdentifier(
@@ -4533,17 +4540,13 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
4533
4540
  }
4534
4541
  }
4535
4542
  setDeliveryCustomField(context, resource, { deliveryId, name, value }) {
4536
- (0, import_assert2.default)(resource.shippingInfo, "shippingInfo is not defined");
4537
- if (Array.isArray(resource.shippingInfo.deliveries)) {
4538
- resource.shippingInfo.deliveries.map((delivery) => {
4539
- if (delivery.id !== deliveryId) throw "No matching delivery id found";
4540
- if (delivery.custom) {
4541
- const update = delivery.custom.fields;
4542
- update[name] = value;
4543
- Object.assign(delivery.custom.fields, update);
4544
- }
4545
- return delivery;
4546
- });
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
+ }
4547
4550
  }
4548
4551
  }
4549
4552
  setLocale(context, resource, { locale }) {
@@ -4552,6 +4555,18 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
4552
4555
  setOrderNumber(context, resource, { orderNumber }) {
4553
4556
  resource.orderNumber = orderNumber;
4554
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
+ }
4555
4570
  setPurchaseOrderNumber(context, resource, { purchaseOrderNumber }) {
4556
4571
  resource.purchaseOrderNumber = purchaseOrderNumber;
4557
4572
  }
@@ -4628,7 +4643,7 @@ var OrderRepository = class extends AbstractResourceRepository {
4628
4643
  this.actions = new OrderUpdateHandler(storage);
4629
4644
  }
4630
4645
  create(context, draft) {
4631
- (0, import_assert3.default)(draft.cart, "draft.cart is missing");
4646
+ (0, import_assert2.default)(draft.cart, "draft.cart is missing");
4632
4647
  return this.createFromCart(
4633
4648
  context,
4634
4649
  {
@@ -4683,7 +4698,7 @@ var OrderRepository = class extends AbstractResourceRepository {
4683
4698
  return this.saveNew(context, resource);
4684
4699
  }
4685
4700
  import(context, draft) {
4686
- (0, import_assert3.default)(this, "OrderRepository not valid");
4701
+ (0, import_assert2.default)(this, "OrderRepository not valid");
4687
4702
  const resource = {
4688
4703
  ...getBaseResourceProperties(),
4689
4704
  billingAddress: createAddress(
@@ -4826,7 +4841,7 @@ var OrderRepository = class extends AbstractResourceRepository {
4826
4841
  // src/repositories/my-order.ts
4827
4842
  var MyOrderRepository = class extends OrderRepository {
4828
4843
  create(context, draft) {
4829
- (0, import_assert4.default)(draft.id, "draft.id is missing");
4844
+ (0, import_assert3.default)(draft.id, "draft.id is missing");
4830
4845
  const cartIdentifier = {
4831
4846
  id: draft.id,
4832
4847
  typeId: "cart"