@labdigital/commercetools-mock 2.5.0 → 2.6.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/README.md +21 -8
- package/dist/index.cjs +26 -18
- 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 +26 -18
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/ctMock.ts +29 -21
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
|
+
import { SetupServer } from 'msw/node';
|
|
2
3
|
import * as ctp from '@commercetools/platform-sdk';
|
|
3
4
|
import { Project, ResourceIdentifier, QueryParam, AssociateRoleDraft, AssociateRole, AssociateRoleSetNameAction, AssociateRoleSetPermissionsAction, AssociateRoleChangeBuyerAssignableAction, AssociateRoleSetCustomFieldAction, AssociateRoleAddPermissionAction, AssociateRoleRemovePermissionAction, AttributeGroupDraft, AttributeGroup, AttributeGroupSetAttributesAction, AttributeGroupChangeNameAction, AttributeGroupSetDescriptionAction, AttributeGroupSetKeyAction, BusinessUnitDraft, BusinessUnit, BusinessUnitAddAddressAction, BusinessUnitAddAssociateAction, BusinessUnitSetAssociatesAction, BusinessUnitSetContactEmailAction, BusinessUnitSetStoreModeAction, BusinessUnitChangeNameAction, BusinessUnitChangeAddressAction, BusinessUnitAddStoreAction, BusinessUnitChangeParentUnitAction, BusinessUnitChangeStatusAction, CartDraft, Cart, CartAddLineItemAction, CartAddItemShippingAddressAction, CartChangeLineItemQuantityAction, CartRemoveLineItemAction, CartSetBillingAddressAction, CartSetShippingMethodAction, CartSetCountryAction, CartSetCustomerEmailAction, CartSetCustomFieldAction, CartSetCustomTypeAction, CartSetLocaleAction, CartSetLineItemShippingDetailsAction, CartSetShippingAddressAction, CartRemoveDiscountCodeAction, LineItemDraft, LineItem, CartDiscountDraft, CartDiscount, CartDiscountUpdateAction, AssetDraft, Asset, CategoryDraft, Category, CategoryChangeAssetNameAction, CategoryChangeSlugAction, CategoryChangeNameAction, CategoryChangeParentAction, CategorySetKeyAction, CategorySetAssetDescriptionAction, CategorySetAssetSourcesAction, CategorySetDescriptionAction, CategorySetMetaDescriptionAction, CategorySetMetaKeywordsAction, CategorySetMetaTitleAction, CategorySetCustomTypeAction, CategorySetCustomFieldAction, CategoryRemoveAssetAction, CategoryAddAssetAction, ChannelDraft, Channel, ChannelUpdateAction, CustomObjectDraft, CustomObject, CustomerDraft, Customer, CustomerChangeEmailAction, CustomerSetAuthenticationModeAction, CustomerSetCustomFieldAction, CustomerGroupDraft, CustomerGroup, CustomerGroupSetKeyAction, CustomerGroupChangeNameAction, CustomerGroupSetCustomTypeAction, CustomerGroupSetCustomFieldAction, DiscountCodeDraft, DiscountCode, DiscountCodeUpdateAction, Extension, ExtensionDraft, ExtensionUpdateAction, InventoryEntryDraft, InventoryEntry, InventoryEntryChangeQuantityAction, InventoryEntrySetExpectedDeliveryAction, InventoryEntrySetCustomFieldAction, InventoryEntrySetCustomTypeAction, InventoryEntrySetRestockableInDaysAction, OrderFromCartDraft, Order, CartReference, OrderImportDraft, OrderAddPaymentAction, OrderChangeOrderStateAction, OrderChangePaymentStateAction, OrderTransitionStateAction, OrderSetBillingAddressAction, OrderSetCustomerEmailAction, OrderSetCustomFieldAction, OrderSetCustomTypeAction, OrderSetLocaleAction, OrderSetOrderNumberAction, OrderSetShippingAddressAction, OrderSetStoreAction, MyOrderFromCartDraft, OrderEditDraft, OrderEdit, OrderEditUpdateAction, PaymentDraft, Payment, TransactionDraft, Transaction, PaymentSetCustomFieldAction, PaymentSetCustomTypeAction, PaymentAddTransactionAction, PaymentChangeTransactionStateAction, PaymentTransitionStateAction, ProductDraft, Product, ProductUpdateAction, ProductDiscountDraft, ProductDiscount, ProductDiscountUpdateAction, ProductProjectionPagedSearchResponse, ProductProjection, FacetResults, TermFacetResult, FilteredFacetResult, RangeFacetResult, ProductSelectionDraft, ProductSelection, ProductSelectionUpdateAction, ProductTypeDraft, ProductType, AttributeDefinitionDraft, AttributeDefinition, ProductTypeUpdateAction, ProjectUpdateAction, QuoteDraft, Quote, QuoteUpdateAction, QuoteRequestDraft, QuoteRequest, QuoteRequestUpdateAction, ReviewDraft, Review, ReviewUpdateAction, ShippingMethodDraft, ShippingMethod, ShippingMethodUpdateAction, ShoppingListDraft, ShoppingList, StagedQuoteDraft, StagedQuote, StagedQuoteUpdateAction, StandalonePriceDraft, StandalonePrice, ChannelResourceIdentifier, ChannelReference, DiscountedPriceDraft, StandalonePriceChangeActiveAction, StandalonePriceChangeValueAction, StandalonePriceSetDiscountedPriceAction, StateDraft, State, StateUpdateAction, StoreDraft, Store, StoreUpdateAction, SubscriptionDraft, Subscription, TaxCategoryDraft, TaxCategory, TaxCategoryUpdateAction, TypeDraft, Type, TypeUpdateAction, ZoneDraft, Zone, ZoneUpdateAction, BaseResource, UpdateAction } from '@commercetools/platform-sdk';
|
|
4
5
|
|
|
@@ -643,6 +644,7 @@ declare class CommercetoolsMock {
|
|
|
643
644
|
project(projectKey?: string): ProjectAPI;
|
|
644
645
|
runServer(port?: number, options?: AppOptions): void;
|
|
645
646
|
private createApp;
|
|
647
|
+
registerHandlers(server: SetupServer): void;
|
|
646
648
|
private startServer;
|
|
647
649
|
}
|
|
648
650
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
|
+
import { SetupServer } from 'msw/node';
|
|
2
3
|
import * as ctp from '@commercetools/platform-sdk';
|
|
3
4
|
import { Project, ResourceIdentifier, QueryParam, AssociateRoleDraft, AssociateRole, AssociateRoleSetNameAction, AssociateRoleSetPermissionsAction, AssociateRoleChangeBuyerAssignableAction, AssociateRoleSetCustomFieldAction, AssociateRoleAddPermissionAction, AssociateRoleRemovePermissionAction, AttributeGroupDraft, AttributeGroup, AttributeGroupSetAttributesAction, AttributeGroupChangeNameAction, AttributeGroupSetDescriptionAction, AttributeGroupSetKeyAction, BusinessUnitDraft, BusinessUnit, BusinessUnitAddAddressAction, BusinessUnitAddAssociateAction, BusinessUnitSetAssociatesAction, BusinessUnitSetContactEmailAction, BusinessUnitSetStoreModeAction, BusinessUnitChangeNameAction, BusinessUnitChangeAddressAction, BusinessUnitAddStoreAction, BusinessUnitChangeParentUnitAction, BusinessUnitChangeStatusAction, CartDraft, Cart, CartAddLineItemAction, CartAddItemShippingAddressAction, CartChangeLineItemQuantityAction, CartRemoveLineItemAction, CartSetBillingAddressAction, CartSetShippingMethodAction, CartSetCountryAction, CartSetCustomerEmailAction, CartSetCustomFieldAction, CartSetCustomTypeAction, CartSetLocaleAction, CartSetLineItemShippingDetailsAction, CartSetShippingAddressAction, CartRemoveDiscountCodeAction, LineItemDraft, LineItem, CartDiscountDraft, CartDiscount, CartDiscountUpdateAction, AssetDraft, Asset, CategoryDraft, Category, CategoryChangeAssetNameAction, CategoryChangeSlugAction, CategoryChangeNameAction, CategoryChangeParentAction, CategorySetKeyAction, CategorySetAssetDescriptionAction, CategorySetAssetSourcesAction, CategorySetDescriptionAction, CategorySetMetaDescriptionAction, CategorySetMetaKeywordsAction, CategorySetMetaTitleAction, CategorySetCustomTypeAction, CategorySetCustomFieldAction, CategoryRemoveAssetAction, CategoryAddAssetAction, ChannelDraft, Channel, ChannelUpdateAction, CustomObjectDraft, CustomObject, CustomerDraft, Customer, CustomerChangeEmailAction, CustomerSetAuthenticationModeAction, CustomerSetCustomFieldAction, CustomerGroupDraft, CustomerGroup, CustomerGroupSetKeyAction, CustomerGroupChangeNameAction, CustomerGroupSetCustomTypeAction, CustomerGroupSetCustomFieldAction, DiscountCodeDraft, DiscountCode, DiscountCodeUpdateAction, Extension, ExtensionDraft, ExtensionUpdateAction, InventoryEntryDraft, InventoryEntry, InventoryEntryChangeQuantityAction, InventoryEntrySetExpectedDeliveryAction, InventoryEntrySetCustomFieldAction, InventoryEntrySetCustomTypeAction, InventoryEntrySetRestockableInDaysAction, OrderFromCartDraft, Order, CartReference, OrderImportDraft, OrderAddPaymentAction, OrderChangeOrderStateAction, OrderChangePaymentStateAction, OrderTransitionStateAction, OrderSetBillingAddressAction, OrderSetCustomerEmailAction, OrderSetCustomFieldAction, OrderSetCustomTypeAction, OrderSetLocaleAction, OrderSetOrderNumberAction, OrderSetShippingAddressAction, OrderSetStoreAction, MyOrderFromCartDraft, OrderEditDraft, OrderEdit, OrderEditUpdateAction, PaymentDraft, Payment, TransactionDraft, Transaction, PaymentSetCustomFieldAction, PaymentSetCustomTypeAction, PaymentAddTransactionAction, PaymentChangeTransactionStateAction, PaymentTransitionStateAction, ProductDraft, Product, ProductUpdateAction, ProductDiscountDraft, ProductDiscount, ProductDiscountUpdateAction, ProductProjectionPagedSearchResponse, ProductProjection, FacetResults, TermFacetResult, FilteredFacetResult, RangeFacetResult, ProductSelectionDraft, ProductSelection, ProductSelectionUpdateAction, ProductTypeDraft, ProductType, AttributeDefinitionDraft, AttributeDefinition, ProductTypeUpdateAction, ProjectUpdateAction, QuoteDraft, Quote, QuoteUpdateAction, QuoteRequestDraft, QuoteRequest, QuoteRequestUpdateAction, ReviewDraft, Review, ReviewUpdateAction, ShippingMethodDraft, ShippingMethod, ShippingMethodUpdateAction, ShoppingListDraft, ShoppingList, StagedQuoteDraft, StagedQuote, StagedQuoteUpdateAction, StandalonePriceDraft, StandalonePrice, ChannelResourceIdentifier, ChannelReference, DiscountedPriceDraft, StandalonePriceChangeActiveAction, StandalonePriceChangeValueAction, StandalonePriceSetDiscountedPriceAction, StateDraft, State, StateUpdateAction, StoreDraft, Store, StoreUpdateAction, SubscriptionDraft, Subscription, TaxCategoryDraft, TaxCategory, TaxCategoryUpdateAction, TypeDraft, Type, TypeUpdateAction, ZoneDraft, Zone, ZoneUpdateAction, BaseResource, UpdateAction } from '@commercetools/platform-sdk';
|
|
4
5
|
|
|
@@ -643,6 +644,7 @@ declare class CommercetoolsMock {
|
|
|
643
644
|
project(projectKey?: string): ProjectAPI;
|
|
644
645
|
runServer(port?: number, options?: AppOptions): void;
|
|
645
646
|
private createApp;
|
|
647
|
+
registerHandlers(server: SetupServer): void;
|
|
646
648
|
private startServer;
|
|
647
649
|
}
|
|
648
650
|
|
package/dist/index.js
CHANGED
|
@@ -6955,22 +6955,17 @@ var CommercetoolsMock = class {
|
|
|
6955
6955
|
});
|
|
6956
6956
|
return app;
|
|
6957
6957
|
}
|
|
6958
|
-
|
|
6959
|
-
|
|
6960
|
-
|
|
6961
|
-
|
|
6962
|
-
|
|
6963
|
-
|
|
6964
|
-
_globalListeners.forEach((listener) => listener.close());
|
|
6965
|
-
}
|
|
6966
|
-
}
|
|
6967
|
-
const server = this.app;
|
|
6968
|
-
this._mswServer = setupServer(
|
|
6958
|
+
// registerHandlers is an alternative way to work with commercetools-mock, it
|
|
6959
|
+
// allows you to manage msw server yourself and register the handlers needed
|
|
6960
|
+
// for commercetools-mock to work.
|
|
6961
|
+
registerHandlers(server) {
|
|
6962
|
+
const app = this.app;
|
|
6963
|
+
server.use(
|
|
6969
6964
|
http.post(`${this.options.authHost}/oauth/*`, async ({ request }) => {
|
|
6970
6965
|
const body = await request.text();
|
|
6971
6966
|
const url = new URL(request.url);
|
|
6972
6967
|
const headers = copyHeaders(request.headers);
|
|
6973
|
-
const res = await inject(
|
|
6968
|
+
const res = await inject(app).post(url.pathname + "?" + url.searchParams.toString()).body(body).headers(headers).end();
|
|
6974
6969
|
return new HttpResponse(res.body, {
|
|
6975
6970
|
status: res.statusCode,
|
|
6976
6971
|
headers: mapHeaderType(res.headers)
|
|
@@ -6980,7 +6975,7 @@ var CommercetoolsMock = class {
|
|
|
6980
6975
|
const body = await request.text();
|
|
6981
6976
|
const url = new URL(request.url);
|
|
6982
6977
|
const headers = copyHeaders(request.headers);
|
|
6983
|
-
const res = await inject(
|
|
6978
|
+
const res = await inject(app).get(url.pathname + "?" + url.searchParams.toString()).body(body).headers(headers).end();
|
|
6984
6979
|
if (res.statusCode === 200) {
|
|
6985
6980
|
const parsedBody = JSON.parse(res.body);
|
|
6986
6981
|
const resultCount = "count" in parsedBody ? parsedBody.count : Object.keys(parsedBody).length;
|
|
@@ -6998,7 +6993,7 @@ var CommercetoolsMock = class {
|
|
|
6998
6993
|
const body = await request.text();
|
|
6999
6994
|
const url = new URL(request.url);
|
|
7000
6995
|
const headers = copyHeaders(request.headers);
|
|
7001
|
-
const res = await inject(
|
|
6996
|
+
const res = await inject(app).get(url.pathname + "?" + url.searchParams.toString()).body(body).headers(headers).end();
|
|
7002
6997
|
return new HttpResponse(res.body, {
|
|
7003
6998
|
status: res.statusCode,
|
|
7004
6999
|
headers: mapHeaderType(res.headers)
|
|
@@ -7008,7 +7003,7 @@ var CommercetoolsMock = class {
|
|
|
7008
7003
|
const body = await request.text();
|
|
7009
7004
|
const url = new URL(request.url);
|
|
7010
7005
|
const headers = copyHeaders(request.headers);
|
|
7011
|
-
const res = await inject(
|
|
7006
|
+
const res = await inject(app).post(url.pathname + "?" + url.searchParams.toString()).body(body).headers(headers).end();
|
|
7012
7007
|
return new HttpResponse(res.body, {
|
|
7013
7008
|
status: res.statusCode,
|
|
7014
7009
|
headers: mapHeaderType(res.headers)
|
|
@@ -7018,14 +7013,26 @@ var CommercetoolsMock = class {
|
|
|
7018
7013
|
const body = await request.text();
|
|
7019
7014
|
const url = new URL(request.url);
|
|
7020
7015
|
const headers = copyHeaders(request.headers);
|
|
7021
|
-
const res = await inject(
|
|
7016
|
+
const res = await inject(app).delete(url.pathname + "?" + url.searchParams.toString()).body(body).headers(headers).end();
|
|
7022
7017
|
return new HttpResponse(res.body, {
|
|
7023
7018
|
status: res.statusCode,
|
|
7024
7019
|
headers: mapHeaderType(res.headers)
|
|
7025
7020
|
});
|
|
7026
7021
|
})
|
|
7027
7022
|
);
|
|
7028
|
-
|
|
7023
|
+
}
|
|
7024
|
+
startServer() {
|
|
7025
|
+
if (_globalListeners.length > 0) {
|
|
7026
|
+
if (this._mswServer !== void 0) {
|
|
7027
|
+
throw new Error("Server already started");
|
|
7028
|
+
} else {
|
|
7029
|
+
console.warn("Server wasn't stopped properly, clearing");
|
|
7030
|
+
_globalListeners.forEach((listener) => listener.close());
|
|
7031
|
+
}
|
|
7032
|
+
}
|
|
7033
|
+
const server = setupServer();
|
|
7034
|
+
this.registerHandlers(server);
|
|
7035
|
+
server.listen({
|
|
7029
7036
|
// We need to allow requests done by supertest
|
|
7030
7037
|
onUnhandledRequest: (request, print) => {
|
|
7031
7038
|
const url = new URL(request.url);
|
|
@@ -7035,7 +7042,8 @@ var CommercetoolsMock = class {
|
|
|
7035
7042
|
print.error();
|
|
7036
7043
|
}
|
|
7037
7044
|
});
|
|
7038
|
-
_globalListeners.push(
|
|
7045
|
+
_globalListeners.push(server);
|
|
7046
|
+
this._mswServer = server;
|
|
7039
7047
|
}
|
|
7040
7048
|
};
|
|
7041
7049
|
export {
|