@labdigital/commercetools-mock 2.40.0 → 2.41.1
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 +57 -33
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +57 -33
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/repositories/customer/index.test.ts +94 -2
- package/src/repositories/customer/index.ts +57 -26
- 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({
|
|
@@ -3948,21 +3948,11 @@ var CustomerRepository = class extends AbstractResourceRepository {
|
|
|
3948
3948
|
(addressId) => lookupAdressId(addresses, addressId)
|
|
3949
3949
|
) ?? [];
|
|
3950
3950
|
let storesForCustomer = [];
|
|
3951
|
-
if (draft.stores) {
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
|
|
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
|
-
}));
|
|
3951
|
+
if (draft.stores && draft.stores.length > 0) {
|
|
3952
|
+
storesForCustomer = this.storeReferenceToStoreKeyReference(
|
|
3953
|
+
draft.stores,
|
|
3954
|
+
context.projectKey
|
|
3955
|
+
);
|
|
3966
3956
|
}
|
|
3967
3957
|
const resource = {
|
|
3968
3958
|
...getBaseResourceProperties(),
|
|
@@ -3975,6 +3965,7 @@ var CustomerRepository = class extends AbstractResourceRepository {
|
|
|
3975
3965
|
dateOfBirth: draft.dateOfBirth,
|
|
3976
3966
|
companyName: draft.companyName,
|
|
3977
3967
|
email: draft.email.toLowerCase(),
|
|
3968
|
+
lowercaseEmail: draft.email.toLowerCase(),
|
|
3978
3969
|
password: draft.password ? hashPassword(draft.password) : void 0,
|
|
3979
3970
|
isEmailVerified: draft.isEmailVerified || false,
|
|
3980
3971
|
addresses,
|
|
@@ -3993,6 +3984,13 @@ var CustomerRepository = class extends AbstractResourceRepository {
|
|
|
3993
3984
|
};
|
|
3994
3985
|
return this.saveNew(context, resource);
|
|
3995
3986
|
}
|
|
3987
|
+
saveUpdate(context, version, resource) {
|
|
3988
|
+
const updatedResource = {
|
|
3989
|
+
...resource,
|
|
3990
|
+
lowercaseEmail: resource.email.toLowerCase()
|
|
3991
|
+
};
|
|
3992
|
+
return super.saveUpdate(context, version, updatedResource);
|
|
3993
|
+
}
|
|
3996
3994
|
passwordResetToken(context, request) {
|
|
3997
3995
|
const results = this._storage.query(context.projectKey, this.getTypeId(), {
|
|
3998
3996
|
where: [`email="${request.email.toLocaleLowerCase()}"`]
|
|
@@ -4065,6 +4063,25 @@ var CustomerRepository = class extends AbstractResourceRepository {
|
|
|
4065
4063
|
value: token
|
|
4066
4064
|
};
|
|
4067
4065
|
}
|
|
4066
|
+
storeReferenceToStoreKeyReference(draftStores, projectKey) {
|
|
4067
|
+
const storeIds = draftStores.map((storeReference) => storeReference.id).filter(Boolean);
|
|
4068
|
+
let stores = [];
|
|
4069
|
+
if (storeIds.length > 0) {
|
|
4070
|
+
stores = this._storage.query(projectKey, "store", {
|
|
4071
|
+
where: storeIds.map((id) => `id="${id}"`)
|
|
4072
|
+
}).results;
|
|
4073
|
+
if (storeIds.length !== stores.length) {
|
|
4074
|
+
throw new CommercetoolsError({
|
|
4075
|
+
code: "ResourceNotFound",
|
|
4076
|
+
message: `Store with ID '${storeIds.find((id) => !stores.some((store) => store.id === id))}' was not found.`
|
|
4077
|
+
});
|
|
4078
|
+
}
|
|
4079
|
+
}
|
|
4080
|
+
return draftStores.map((storeReference) => ({
|
|
4081
|
+
typeId: "store",
|
|
4082
|
+
key: storeReference.key ?? stores.find((store) => store.id === storeReference.id)?.key
|
|
4083
|
+
}));
|
|
4084
|
+
}
|
|
4068
4085
|
};
|
|
4069
4086
|
|
|
4070
4087
|
// src/repositories/customer-group.ts
|
|
@@ -4427,13 +4444,12 @@ var MyCustomerRepository = class extends CustomerRepository {
|
|
|
4427
4444
|
};
|
|
4428
4445
|
|
|
4429
4446
|
// src/repositories/my-order.ts
|
|
4430
|
-
var
|
|
4447
|
+
var import_assert3 = __toESM(require("assert"), 1);
|
|
4431
4448
|
|
|
4432
4449
|
// src/repositories/order/index.ts
|
|
4433
|
-
var
|
|
4450
|
+
var import_assert2 = __toESM(require("assert"), 1);
|
|
4434
4451
|
|
|
4435
4452
|
// src/repositories/order/actions.ts
|
|
4436
|
-
var import_assert2 = __toESM(require("assert"), 1);
|
|
4437
4453
|
var OrderUpdateHandler = class extends AbstractUpdateHandler {
|
|
4438
4454
|
addPayment(context, resource, { payment }) {
|
|
4439
4455
|
const resolvedPayment = this._storage.getByResourceIdentifier(
|
|
@@ -4533,17 +4549,13 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
4533
4549
|
}
|
|
4534
4550
|
}
|
|
4535
4551
|
setDeliveryCustomField(context, resource, { deliveryId, name, value }) {
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
|
|
4543
|
-
Object.assign(delivery.custom.fields, update);
|
|
4544
|
-
}
|
|
4545
|
-
return delivery;
|
|
4546
|
-
});
|
|
4552
|
+
if (!resource.shippingInfo) {
|
|
4553
|
+
throw new Error("Resource has no shipping info");
|
|
4554
|
+
}
|
|
4555
|
+
for (const delivery of resource.shippingInfo.deliveries || []) {
|
|
4556
|
+
if (delivery.id === deliveryId && delivery.custom?.fields) {
|
|
4557
|
+
delivery.custom.fields[name] = value;
|
|
4558
|
+
}
|
|
4547
4559
|
}
|
|
4548
4560
|
}
|
|
4549
4561
|
setLocale(context, resource, { locale }) {
|
|
@@ -4552,6 +4564,18 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
4552
4564
|
setOrderNumber(context, resource, { orderNumber }) {
|
|
4553
4565
|
resource.orderNumber = orderNumber;
|
|
4554
4566
|
}
|
|
4567
|
+
setParcelCustomField(context, resource, { parcelId, name, value }) {
|
|
4568
|
+
if (!resource.shippingInfo) {
|
|
4569
|
+
throw new Error("Resource has no shipping info");
|
|
4570
|
+
}
|
|
4571
|
+
for (const delivery of resource.shippingInfo.deliveries || []) {
|
|
4572
|
+
for (const parcel of delivery.parcels || []) {
|
|
4573
|
+
if (parcel.id === parcelId && parcel.custom?.fields) {
|
|
4574
|
+
parcel.custom.fields[name] = value;
|
|
4575
|
+
}
|
|
4576
|
+
}
|
|
4577
|
+
}
|
|
4578
|
+
}
|
|
4555
4579
|
setPurchaseOrderNumber(context, resource, { purchaseOrderNumber }) {
|
|
4556
4580
|
resource.purchaseOrderNumber = purchaseOrderNumber;
|
|
4557
4581
|
}
|
|
@@ -4628,7 +4652,7 @@ var OrderRepository = class extends AbstractResourceRepository {
|
|
|
4628
4652
|
this.actions = new OrderUpdateHandler(storage);
|
|
4629
4653
|
}
|
|
4630
4654
|
create(context, draft) {
|
|
4631
|
-
(0,
|
|
4655
|
+
(0, import_assert2.default)(draft.cart, "draft.cart is missing");
|
|
4632
4656
|
return this.createFromCart(
|
|
4633
4657
|
context,
|
|
4634
4658
|
{
|
|
@@ -4683,7 +4707,7 @@ var OrderRepository = class extends AbstractResourceRepository {
|
|
|
4683
4707
|
return this.saveNew(context, resource);
|
|
4684
4708
|
}
|
|
4685
4709
|
import(context, draft) {
|
|
4686
|
-
(0,
|
|
4710
|
+
(0, import_assert2.default)(this, "OrderRepository not valid");
|
|
4687
4711
|
const resource = {
|
|
4688
4712
|
...getBaseResourceProperties(),
|
|
4689
4713
|
billingAddress: createAddress(
|
|
@@ -4826,7 +4850,7 @@ var OrderRepository = class extends AbstractResourceRepository {
|
|
|
4826
4850
|
// src/repositories/my-order.ts
|
|
4827
4851
|
var MyOrderRepository = class extends OrderRepository {
|
|
4828
4852
|
create(context, draft) {
|
|
4829
|
-
(0,
|
|
4853
|
+
(0, import_assert3.default)(draft.id, "draft.id is missing");
|
|
4830
4854
|
const cartIdentifier = {
|
|
4831
4855
|
id: draft.id,
|
|
4832
4856
|
typeId: "cart"
|