@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/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
- startServer() {
6959
- if (_globalListeners.length > 0) {
6960
- if (this._mswServer !== void 0) {
6961
- throw new Error("Server already started");
6962
- } else {
6963
- console.warn("Server wasn't stopped properly, clearing");
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(server).post(url.pathname + "?" + url.searchParams.toString()).body(body).headers(headers).end();
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(server).get(url.pathname + "?" + url.searchParams.toString()).body(body).headers(headers).end();
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(server).get(url.pathname + "?" + url.searchParams.toString()).body(body).headers(headers).end();
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(server).post(url.pathname + "?" + url.searchParams.toString()).body(body).headers(headers).end();
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(server).delete(url.pathname + "?" + url.searchParams.toString()).body(body).headers(headers).end();
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
- this._mswServer.listen({
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(this._mswServer);
7045
+ _globalListeners.push(server);
7046
+ this._mswServer = server;
7039
7047
  }
7040
7048
  };
7041
7049
  export {