@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 +51 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +51 -19
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/repositories/customer/index.test.ts +127 -0
- package/src/repositories/customer/index.ts +48 -4
- package/src/repositories/order/actions.ts +26 -12
- package/src/services/my-customer.test.ts +1 -0
- package/src/services/order.test.ts +150 -0
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: [`
|
|
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
|
|
4438
|
+
var import_assert3 = __toESM(require("assert"), 1);
|
|
4414
4439
|
|
|
4415
4440
|
// src/repositories/order/index.ts
|
|
4416
|
-
var
|
|
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
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
4844
|
+
(0, import_assert3.default)(draft.id, "draft.id is missing");
|
|
4813
4845
|
const cartIdentifier = {
|
|
4814
4846
|
id: draft.id,
|
|
4815
4847
|
typeId: "cart"
|