shopify_storefront_sdk 1.0.3 → 2.0.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.
Files changed (105) hide show
  1. package/README.md +136 -70
  2. package/dist/cjs/client/client.js +110 -23
  3. package/dist/cjs/generated/shopify.js +25 -50
  4. package/dist/cjs/helpers/CartManager.js +55 -0
  5. package/dist/cjs/helpers/CustomerSession.js +41 -0
  6. package/dist/cjs/index.js +210 -25
  7. package/dist/cjs/tests/integration/sdk.test.js +266 -0
  8. package/dist/cjs/tests/unit/cache.test.js +86 -0
  9. package/dist/cjs/tests/unit/cartManager.test.js +43 -0
  10. package/dist/cjs/tests/unit/client.test.js +134 -0
  11. package/dist/cjs/tests/unit/customerSession.test.js +50 -0
  12. package/dist/cjs/tests/unit/pagination.test.js +41 -0
  13. package/dist/cjs/tests/unit/webhooks.test.js +41 -0
  14. package/dist/cjs/utils/cache.js +29 -0
  15. package/dist/cjs/utils/config.js +0 -1
  16. package/dist/cjs/utils/errors.js +53 -0
  17. package/dist/cjs/utils/pagination.js +30 -0
  18. package/dist/cjs/utils/webhooks.js +33 -0
  19. package/dist/client/client.d.ts +12 -1
  20. package/dist/client/client.d.ts.map +1 -1
  21. package/dist/client/client.js +111 -21
  22. package/dist/client/client.js.map +1 -1
  23. package/dist/generated/shopify.d.ts +4048 -2764
  24. package/dist/generated/shopify.d.ts.map +1 -1
  25. package/dist/generated/shopify.js +26 -50
  26. package/dist/generated/shopify.js.map +1 -1
  27. package/dist/helpers/CartManager.d.ts +32 -0
  28. package/dist/helpers/CartManager.d.ts.map +1 -0
  29. package/dist/helpers/CartManager.js +53 -0
  30. package/dist/helpers/CartManager.js.map +1 -0
  31. package/dist/helpers/CustomerSession.d.ts +27 -0
  32. package/dist/helpers/CustomerSession.d.ts.map +1 -0
  33. package/dist/helpers/CustomerSession.js +40 -0
  34. package/dist/helpers/CustomerSession.js.map +1 -0
  35. package/dist/index.d.ts +179 -16
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +204 -25
  38. package/dist/index.js.map +1 -1
  39. package/dist/tests/integration/sdk.test.d.ts +2 -0
  40. package/dist/tests/integration/sdk.test.d.ts.map +1 -0
  41. package/dist/tests/integration/sdk.test.js +245 -0
  42. package/dist/tests/integration/sdk.test.js.map +1 -0
  43. package/dist/tests/unit/cache.test.d.ts +2 -0
  44. package/dist/tests/unit/cache.test.d.ts.map +1 -0
  45. package/dist/tests/unit/cache.test.js +85 -0
  46. package/dist/tests/unit/cache.test.js.map +1 -0
  47. package/dist/tests/unit/cartManager.test.d.ts +2 -0
  48. package/dist/tests/unit/cartManager.test.d.ts.map +1 -0
  49. package/dist/tests/unit/cartManager.test.js +43 -0
  50. package/dist/tests/unit/cartManager.test.js.map +1 -0
  51. package/dist/tests/unit/client.test.d.ts +2 -0
  52. package/dist/tests/unit/client.test.d.ts.map +1 -0
  53. package/dist/tests/unit/client.test.js +133 -0
  54. package/dist/tests/unit/client.test.js.map +1 -0
  55. package/dist/tests/unit/customerSession.test.d.ts +2 -0
  56. package/dist/tests/unit/customerSession.test.d.ts.map +1 -0
  57. package/dist/tests/unit/customerSession.test.js +49 -0
  58. package/dist/tests/unit/customerSession.test.js.map +1 -0
  59. package/dist/tests/unit/pagination.test.d.ts +2 -0
  60. package/dist/tests/unit/pagination.test.d.ts.map +1 -0
  61. package/dist/tests/unit/pagination.test.js +40 -0
  62. package/dist/tests/unit/pagination.test.js.map +1 -0
  63. package/dist/tests/unit/webhooks.test.d.ts +2 -0
  64. package/dist/tests/unit/webhooks.test.d.ts.map +1 -0
  65. package/dist/tests/unit/webhooks.test.js +40 -0
  66. package/dist/tests/unit/webhooks.test.js.map +1 -0
  67. package/dist/utils/cache.d.ts +14 -0
  68. package/dist/utils/cache.d.ts.map +1 -0
  69. package/dist/utils/cache.js +24 -0
  70. package/dist/utils/cache.js.map +1 -0
  71. package/dist/utils/config.d.ts +6 -0
  72. package/dist/utils/config.d.ts.map +1 -1
  73. package/dist/utils/errors.d.ts +30 -0
  74. package/dist/utils/errors.d.ts.map +1 -0
  75. package/dist/utils/errors.js +48 -0
  76. package/dist/utils/errors.js.map +1 -0
  77. package/dist/utils/pagination.d.ts +20 -0
  78. package/dist/utils/pagination.d.ts.map +1 -0
  79. package/dist/utils/pagination.js +28 -0
  80. package/dist/utils/pagination.js.map +1 -0
  81. package/dist/utils/webhooks.d.ts +10 -0
  82. package/dist/utils/webhooks.d.ts.map +1 -0
  83. package/dist/utils/webhooks.js +31 -0
  84. package/dist/utils/webhooks.js.map +1 -0
  85. package/package.json +11 -7
  86. package/dist/cjs/client/client.d.ts +0 -9
  87. package/dist/cjs/client/client.d.ts.map +0 -1
  88. package/dist/cjs/client/client.js.map +0 -1
  89. package/dist/cjs/generated/shopify.d.ts +0 -9612
  90. package/dist/cjs/generated/shopify.d.ts.map +0 -1
  91. package/dist/cjs/generated/shopify.js.map +0 -1
  92. package/dist/cjs/index.d.ts +0 -34
  93. package/dist/cjs/index.d.ts.map +0 -1
  94. package/dist/cjs/index.js.map +0 -1
  95. package/dist/cjs/tests/test.d.ts +0 -34
  96. package/dist/cjs/tests/test.d.ts.map +0 -1
  97. package/dist/cjs/tests/test.js +0 -202
  98. package/dist/cjs/tests/test.js.map +0 -1
  99. package/dist/cjs/utils/config.d.ts +0 -5
  100. package/dist/cjs/utils/config.d.ts.map +0 -1
  101. package/dist/cjs/utils/config.js.map +0 -1
  102. package/dist/tests/test.d.ts +0 -34
  103. package/dist/tests/test.d.ts.map +0 -1
  104. package/dist/tests/test.js +0 -202
  105. package/dist/tests/test.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,14 +1,62 @@
1
1
  import ShopifyClient from "./client/client.js";
2
- import { CartBuyerIdentityUpdateDocument, CartCreateDocument, CartLinesAddDocument, CartLinesRemoveDocument, CartLinesUpdateDocument, CustomerAccessTokenCreateDocument, CustomerCreateDocument, CustomerRecoverDocument, CustomerUpdateDocument, GetAllProductTypesDocument, GetArticlesDocument, GetBlogsDocument, GetCartDocument, GetCollectionsDocument, GetCustomerDocument, GetCustomerOrdersDocument, GetProductByHandleDocument, GetProductByIdDocument, GetProductRecommendationsDocument, GetProductsDocument, GetSingleArticleDocument, } from "./generated/shopify.js";
2
+ import { CartBuyerIdentityUpdateDocument, CartCreateDocument, CartLinesAddDocument, CartLinesRemoveDocument, CartLinesUpdateDocument, CustomerAccessTokenCreateDocument, CustomerCreateDocument, CustomerRecoverDocument, CustomerUpdateDocument, GetAllProductTypesDocument, GetArticlesDocument, GetBlogsDocument, GetCartDocument, GetCollectionsDocument, GetCustomerDocument, GetCustomerOrdersDocument, GetProductByHandleDocument, GetProductByIdDocument, GetProductRecommendationsDocument, GetProductsDocument, GetSingleArticleDocument, GetShopInfoDocument, } from "./generated/shopify.js";
3
+ // Export Custom Error Classes
4
+ export { ShopifyError, ShopifyNetworkError, ShopifyGraphQLError, ShopifyUserError, ShopifyInvalidRequestError, } from "./utils/errors.js";
5
+ // Export Cache utilities
6
+ export { InMemoryCache } from "./utils/cache.js";
7
+ import { autoPaginate } from "./utils/pagination.js";
8
+ import { verifyWebhook } from "./utils/webhooks.js";
9
+ import { CartManager } from "./helpers/CartManager.js";
10
+ import { CustomerSession } from "./helpers/CustomerSession.js";
3
11
  class ShopifyStorefront {
4
12
  client;
5
13
  constructor(config) {
6
14
  this.client = new ShopifyClient(config);
7
15
  }
16
+ /**
17
+ * Returns a stateful CustomerSession wrapper.
18
+ * This automatically injects the customer's access token into subsequent requests.
19
+ *
20
+ * @param customerAccessToken The active access token for the logged-in customer.
21
+ * @returns CustomerSession instance.
22
+ */
23
+ customer(customerAccessToken) {
24
+ return new CustomerSession(this, customerAccessToken);
25
+ }
26
+ /**
27
+ * Returns a stateful CartManager to effortlessly manage a shopping cart.
28
+ * If a cartId is not provided, the manager will lazily create one on the first operation.
29
+ *
30
+ * @param cartId An optional existing cart ID.
31
+ * @returns CartManager instance.
32
+ */
33
+ cart(cartId) {
34
+ return new CartManager(this, cartId);
35
+ }
36
+ /**
37
+ * Verifies the authenticity of a Shopify webhook.
38
+ * @param rawBody The raw string/buffer payload of the webhook.
39
+ * @param hmacHeader The X-Shopify-Hmac-Sha256 header.
40
+ * @param secret Your Shopify API secret key.
41
+ * @returns true if the webhook is authentic.
42
+ */
43
+ static verifyWebhook(rawBody, hmacHeader, secret) {
44
+ return verifyWebhook(rawBody, hmacHeader, secret);
45
+ }
46
+ /**
47
+ * Fetches a paginated list of products from the store.
48
+ * @param variables Includes `first`, `after`, `last`, `before`, and `query` to control pagination and filtering.
49
+ * @returns A promise resolving to the products connection.
50
+ */
8
51
  async getProducts({ first, last, after, before, query, }) {
9
52
  const data = await this.client.query(GetProductsDocument, { first, last, after, before, query });
10
53
  return data;
11
54
  }
55
+ /**
56
+ * Fetches a single product by its global ID.
57
+ * @param variables The `id` of the product and optional `metafields` array.
58
+ * @returns A promise resolving to the requested product.
59
+ */
12
60
  async getProductById({ id, metafields }) {
13
61
  const data = await this.client.query(GetProductByIdDocument, {
14
62
  id,
@@ -16,18 +64,38 @@ class ShopifyStorefront {
16
64
  });
17
65
  return data;
18
66
  }
67
+ /**
68
+ * Fetches recommended products based on a given product ID.
69
+ * @param variables The `productId` for which to fetch recommendations.
70
+ * @returns A promise resolving to an array of recommended products.
71
+ */
19
72
  async getProductRecommendations({ productId, }) {
20
73
  const data = await this.client.query(GetProductRecommendationsDocument, { productId });
21
74
  return data;
22
75
  }
76
+ /**
77
+ * Fetches a single product by its handle.
78
+ * @param variables The `handle` of the product.
79
+ * @returns A promise resolving to the requested product.
80
+ */
23
81
  async getProductByHandle({ handle }) {
24
82
  const data = await this.client.query(GetProductByHandleDocument, { handle });
25
83
  return data;
26
84
  }
27
- async getAllProductType({ first }) {
85
+ /**
86
+ * Fetches a paginated list of product types available in the store.
87
+ * @param variables Includes `first` to limit the number of types returned.
88
+ * @returns A promise resolving to the product types connection.
89
+ */
90
+ async getProductTypes({ first }) {
28
91
  const data = await this.client.query(GetAllProductTypesDocument, { first });
29
92
  return data;
30
93
  }
94
+ /**
95
+ * Fetches a paginated list of collections from the store.
96
+ * @param variables Includes `first` and `after` for pagination.
97
+ * @returns A promise resolving to the collections connection.
98
+ */
31
99
  async getCollections({ first, after }) {
32
100
  const data = await this.client.query(GetCollectionsDocument, {
33
101
  first,
@@ -35,7 +103,12 @@ class ShopifyStorefront {
35
103
  });
36
104
  return data;
37
105
  }
38
- async createUser({ firstName, lastName, password, acceptsMarketing, email, phone, }) {
106
+ /**
107
+ * Creates a new customer account.
108
+ * @param variables The customer details including `firstName`, `lastName`, `email`, `password`, `phone`, and `acceptsMarketing`.
109
+ * @returns A promise resolving to the customer creation payload. Throws ShopifyUserError if validation fails.
110
+ */
111
+ async createCustomer({ firstName, lastName, password, acceptsMarketing, email, phone, }) {
39
112
  const data = await this.client.query(CustomerCreateDocument, {
40
113
  firstName,
41
114
  lastName,
@@ -54,7 +127,12 @@ class ShopifyStorefront {
54
127
  });
55
128
  return data;
56
129
  }
57
- async loginUser({ email, password }) {
130
+ /**
131
+ * Authenticates a customer using their email and password to generate an access token.
132
+ * @param variables The `email` and `password` of the customer.
133
+ * @returns A promise resolving to the access token payload. Throws ShopifyUserError on invalid credentials.
134
+ */
135
+ async loginCustomer({ email, password }) {
58
136
  const data = await this.client.query(CustomerAccessTokenCreateDocument, {
59
137
  email,
60
138
  password,
@@ -65,25 +143,50 @@ class ShopifyStorefront {
65
143
  });
66
144
  return data;
67
145
  }
68
- async verifyUserToken({ token }) {
146
+ /**
147
+ * Retrieves customer details using an active customer access token.
148
+ * @param variables The customer access `token`.
149
+ * @returns A promise resolving to the customer details.
150
+ */
151
+ async verifyCustomerToken({ token }) {
69
152
  const data = await this.client.query(GetCustomerDocument, { token });
70
153
  return data;
71
154
  }
72
- async customerRecover({ email }) {
155
+ /**
156
+ * Initiates the password recovery flow for a customer.
157
+ * @param variables The `email` of the customer recovering their account.
158
+ * @returns A promise resolving to the recovery payload.
159
+ */
160
+ async recoverCustomer({ email }) {
73
161
  const data = await this.client.query(CustomerRecoverDocument, { email });
74
162
  return data;
75
163
  }
76
- async customerUpdate({ customerAccessToken, customer, }) {
164
+ /**
165
+ * Updates an existing customer's information.
166
+ * @param variables The `customerAccessToken` and the `customer` input fields to update.
167
+ * @returns A promise resolving to the update payload.
168
+ */
169
+ async updateCustomer({ customerAccessToken, customer, }) {
77
170
  const data = await this.client.query(CustomerUpdateDocument, {
78
171
  customerAccessToken,
79
172
  customer,
80
173
  });
81
174
  return data;
82
175
  }
176
+ /**
177
+ * Retrieves an existing cart by its ID.
178
+ * @param variables The `cartId` and optional `first` limit for lines.
179
+ * @returns A promise resolving to the cart details.
180
+ */
83
181
  async getCart({ cartId, first }) {
84
182
  const data = await this.client.query(GetCartDocument, { cartId, first });
85
183
  return data;
86
184
  }
185
+ /**
186
+ * Creates a new cart with optional initial line items.
187
+ * @param variables The `input` configuration for the new cart.
188
+ * @returns A promise resolving to the created cart payload.
189
+ */
87
190
  async createCart({ input, first }) {
88
191
  const data = await this.client.query(CartCreateDocument, {
89
192
  input,
@@ -91,21 +194,36 @@ class ShopifyStorefront {
91
194
  });
92
195
  return data;
93
196
  }
94
- async cartLinesAdd({ cartId, lines }) {
197
+ /**
198
+ * Adds line items to an existing cart.
199
+ * @param variables The `cartId` and the `lines` to add.
200
+ * @returns A promise resolving to the updated cart payload.
201
+ */
202
+ async addCartLines({ cartId, lines }) {
95
203
  const data = await this.client.query(CartLinesAddDocument, {
96
204
  cartId,
97
205
  lines,
98
206
  });
99
207
  return data;
100
208
  }
101
- async cartLinesRemove({ cartId, lineIds }) {
209
+ /**
210
+ * Removes line items from an existing cart.
211
+ * @param variables The `cartId` and the `lineIds` to remove.
212
+ * @returns A promise resolving to the updated cart payload.
213
+ */
214
+ async removeCartLines({ cartId, lineIds }) {
102
215
  const data = await this.client.query(CartLinesRemoveDocument, {
103
216
  cartId,
104
217
  lineIds,
105
218
  });
106
219
  return data;
107
220
  }
108
- async cartLinesUpdate({ cartId, first, lines, }) {
221
+ /**
222
+ * Updates line items in an existing cart (e.g., changing quantity).
223
+ * @param variables The `cartId`, the updated `lines`, and optional `first` limit.
224
+ * @returns A promise resolving to the updated cart payload.
225
+ */
226
+ async updateCartLines({ cartId, first, lines, }) {
109
227
  const data = await this.client.query(CartLinesUpdateDocument, {
110
228
  cartId,
111
229
  first,
@@ -113,7 +231,12 @@ class ShopifyStorefront {
113
231
  });
114
232
  return data;
115
233
  }
116
- async cartBuyerIdentityUpdate({ cartId, buyerIdentity: { email, phone, preferences, companyLocationId, countryCode, customerAccessToken, }, }) {
234
+ /**
235
+ * Updates the buyer identity (e.g., email, customer access token) for a cart.
236
+ * @param variables The `cartId` and the `buyerIdentity` object.
237
+ * @returns A promise resolving to the updated cart payload.
238
+ */
239
+ async updateCartBuyerIdentity({ cartId, buyerIdentity: { email, phone, preferences, companyLocationId, countryCode, customerAccessToken, }, }) {
117
240
  const data = await this.client.query(CartBuyerIdentityUpdateDocument, {
118
241
  cartId,
119
242
  buyerIdentity: {
@@ -127,43 +250,99 @@ class ShopifyStorefront {
127
250
  });
128
251
  return data;
129
252
  }
130
- async cartMetafieldsSet({ metafields }) {
253
+ /**
254
+ * Sets metafields on an existing cart.
255
+ * @param variables The `metafields` array containing key-value pairs.
256
+ * @returns A promise resolving to the updated cart payload.
257
+ */
258
+ async setCartMetafields({ metafields }) {
131
259
  const data = await this.client.query(CartBuyerIdentityUpdateDocument, {
132
260
  metafields,
133
261
  });
134
262
  return data;
135
263
  }
264
+ /**
265
+ * Fetches a paginated list of blogs from the store.
266
+ * @param variables Includes `first` for pagination.
267
+ * @returns A promise resolving to the blogs connection.
268
+ */
136
269
  async getBlogs({ first }) {
137
- const data = await this.client.query(GetBlogsDocument, {
138
- first,
139
- });
270
+ const data = await this.client.query(GetBlogsDocument, { first });
140
271
  return data;
141
272
  }
273
+ /**
274
+ * Fetches a specific blog by its handle.
275
+ * @param variables The `handle` of the blog and `first` pagination parameter for its articles.
276
+ * @returns A promise resolving to the requested blog.
277
+ */
142
278
  async getBlog({ first, handle }) {
143
- const data = await this.client.query(GetBlogsDocument, {
144
- first,
145
- handle,
146
- });
279
+ const data = await this.client.query(GetBlogsDocument, // Original used GetBlogsDocument here, not GetBlogDocument
280
+ { first, handle });
147
281
  return data;
148
282
  }
283
+ /**
284
+ * Fetches a paginated list of all articles across all blogs.
285
+ * @param variables Includes `first` for pagination.
286
+ * @returns A promise resolving to the articles connection.
287
+ */
149
288
  async getArticles({ first }) {
150
- const data = await this.client.query(GetArticlesDocument, {
151
- first,
152
- });
289
+ const data = await this.client.query(GetArticlesDocument, { first });
153
290
  return data;
154
291
  }
155
- async getArticle({ blogHandle, articleHandle, }) {
156
- const data = await this.client.query(GetSingleArticleDocument, { blogHandle, articleHandle });
292
+ /**
293
+ * Fetches a single article by its handle and its parent blog's handle.
294
+ * @param variables The `articleHandle` and `blogHandle`.
295
+ * @returns A promise resolving to the requested article.
296
+ */
297
+ async getArticle({ articleHandle, blogHandle, }) {
298
+ const data = await this.client.query(GetSingleArticleDocument, {
299
+ articleHandle,
300
+ blogHandle,
301
+ });
157
302
  return data;
158
303
  }
304
+ /**
305
+ * Fetches the order history for an authenticated customer.
306
+ * @param variables The `customerAccessToken` and pagination limits.
307
+ * @returns A promise resolving to the customer's orders connection.
308
+ */
159
309
  async getCustomerOrders({ customerAccessToken, first, }) {
160
- const data = await this.client.query(GetCustomerOrdersDocument, { customerAccessToken, first });
310
+ const data = await this.client.query(GetCustomerOrdersDocument, {
311
+ customerAccessToken,
312
+ first,
313
+ });
314
+ return data;
315
+ }
316
+ /**
317
+ * Fetches general information about the store (name, description, payment settings).
318
+ * @returns A promise resolving to the shop information.
319
+ */
320
+ async getShopInfo() {
321
+ const data = await this.client.query(GetShopInfoDocument, {});
161
322
  return data;
162
323
  }
324
+ /**
325
+ * Executes a custom GraphQL query or mutation against the Storefront API.
326
+ * Use this when the built-in SDK methods do not cover your specific use case.
327
+ *
328
+ * @param query The raw GraphQL query or mutation string.
329
+ * @param variables An object containing variables for the GraphQL query.
330
+ * @returns A promise resolving to the generic requested data structure `T`.
331
+ */
163
332
  async customQuery(query, variables) {
164
333
  const data = await this.client.query(query, variables);
165
334
  return data;
166
335
  }
336
+ /**
337
+ * Automatically fetches all pages of a Shopify GraphQL Connection and flattens the nodes into an array.
338
+ *
339
+ * @param fetchPage A function that takes an optional cursor and returns a promise of the API response.
340
+ * @param getConnection A selector function that extracts the Connection object from the API response.
341
+ * @returns A flat array of all nodes across all pages.
342
+ */
343
+ async autoPaginate(fetchPage, getConnection) {
344
+ return autoPaginate(fetchPage, getConnection);
345
+ }
167
346
  }
168
347
  export default ShopifyStorefront;
169
348
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sdk.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.test.d.ts","sourceRoot":"","sources":["../../../src/tests/integration/sdk.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,245 @@
1
+ import { describe, it, expect, beforeAll } from "vitest";
2
+ import ShopifyStoreFront from "../../index.js";
3
+ import * as dotenv from "dotenv";
4
+ dotenv.config();
5
+ const { SHOPIFY_STORE_DOMAIN, SHOPIFY_STOREFRONT_TOKEN } = process.env;
6
+ // Only run these tests if the environment variables are present
7
+ const runLiveTests = !!(SHOPIFY_STORE_DOMAIN && SHOPIFY_STOREFRONT_TOKEN);
8
+ describe.runIf(runLiveTests)("Shopify SDK Integration Tests", () => {
9
+ let client;
10
+ // Shared state for the test chain
11
+ let firstProductId;
12
+ let firstProductHandle;
13
+ let firstVariantId;
14
+ let blogHandle;
15
+ let articleHandle;
16
+ let customerEmail = `testuser_${Date.now()}@example.com`;
17
+ let customerPassword = "Testing123!";
18
+ let customerAccessToken;
19
+ let cartId;
20
+ let lineItemId;
21
+ beforeAll(() => {
22
+ client = new ShopifyStoreFront({
23
+ storeUrl: String(SHOPIFY_STORE_DOMAIN),
24
+ storefrontToken: String(SHOPIFY_STOREFRONT_TOKEN),
25
+ });
26
+ });
27
+ describe("Products & Collections", () => {
28
+ it("should fetch products", async () => {
29
+ const products = await client.getProducts({ first: 10 });
30
+ expect(products).toBeDefined();
31
+ expect(products.products?.edges).toBeInstanceOf(Array);
32
+ const firstEdge = products.products?.edges[0];
33
+ if (firstEdge) {
34
+ firstProductId = firstEdge.node.id;
35
+ firstProductHandle = firstEdge.node.handle;
36
+ firstVariantId = firstEdge.node.variants?.edges[0]?.node.id || "";
37
+ }
38
+ });
39
+ it("should fetch a product by ID", async () => {
40
+ if (!firstProductId)
41
+ return;
42
+ const product = await client.getProductById({
43
+ id: firstProductId,
44
+ metafields: [],
45
+ });
46
+ expect(product?.product?.id).toBe(firstProductId);
47
+ });
48
+ it("should fetch a product by handle", async () => {
49
+ if (!firstProductHandle)
50
+ return;
51
+ const product = await client.getProductByHandle({
52
+ handle: firstProductHandle,
53
+ });
54
+ expect(product?.product?.handle).toBe(firstProductHandle);
55
+ });
56
+ it("should fetch all product types", async () => {
57
+ const types = await client.getProductTypes({ first: 50 });
58
+ expect(types?.products?.edges).toBeInstanceOf(Array);
59
+ });
60
+ it("should fetch product recommendations", async () => {
61
+ if (!firstProductId)
62
+ return;
63
+ const recommendations = await client.getProductRecommendations({
64
+ productId: firstProductId,
65
+ });
66
+ expect(recommendations?.productRecommendations).toBeInstanceOf(Array);
67
+ });
68
+ });
69
+ describe("Blogs & Articles", () => {
70
+ it("should fetch blogs", async () => {
71
+ const blogs = await client.getBlogs({ first: 10 });
72
+ expect(blogs?.blogs?.edges).toBeInstanceOf(Array);
73
+ const firstBlog = blogs?.blogs?.edges[0]?.node;
74
+ if (firstBlog) {
75
+ blogHandle = firstBlog.handle;
76
+ }
77
+ });
78
+ it("should fetch a specific blog", async () => {
79
+ if (!blogHandle)
80
+ return;
81
+ const blog = await client.getBlog({ first: 10, handle: blogHandle });
82
+ expect(blog?.blog?.handle).toBe(blogHandle);
83
+ });
84
+ it("should fetch articles", async () => {
85
+ const articles = await client.getArticles({ first: 10 });
86
+ expect(articles?.articles?.edges).toBeInstanceOf(Array);
87
+ const firstArticle = articles?.articles?.edges[0]?.node;
88
+ if (firstArticle) {
89
+ articleHandle = firstArticle.handle;
90
+ }
91
+ });
92
+ it("should fetch a specific article", async () => {
93
+ if (!blogHandle || !articleHandle)
94
+ return;
95
+ const article = await client.getArticle({
96
+ blogHandle: blogHandle,
97
+ articleHandle: articleHandle,
98
+ });
99
+ expect(article).toBeDefined();
100
+ });
101
+ });
102
+ describe("Customers", () => {
103
+ it("should create a customer", async () => {
104
+ const user = await client.createCustomer({
105
+ email: customerEmail,
106
+ password: customerPassword,
107
+ firstName: "SDK",
108
+ lastName: "User",
109
+ });
110
+ expect(user?.customerCreate?.customer?.firstName).toBe("SDK");
111
+ });
112
+ it("should login a customer", async () => {
113
+ const login = await client.loginCustomer({
114
+ email: customerEmail,
115
+ password: customerPassword,
116
+ });
117
+ const token = login?.customerAccessTokenCreate?.customerAccessToken?.accessToken;
118
+ expect(token).toBeDefined();
119
+ if (token)
120
+ customerAccessToken = token;
121
+ });
122
+ it("should verify customer token", async () => {
123
+ if (!customerAccessToken)
124
+ return;
125
+ const verify = await client.verifyCustomerToken({ token: customerAccessToken });
126
+ expect(verify?.customer?.email).toBe(customerEmail);
127
+ });
128
+ it("should request customer recovery", async () => {
129
+ const resetReq = await client.recoverCustomer({ email: customerEmail });
130
+ expect(resetReq?.customerRecover?.customerUserErrors).toBeDefined();
131
+ });
132
+ it("should fetch customer orders", async () => {
133
+ if (!customerAccessToken)
134
+ return;
135
+ const orders = await client.getCustomerOrders({
136
+ customerAccessToken,
137
+ first: 50,
138
+ });
139
+ expect(orders?.customer?.orders?.edges).toBeDefined();
140
+ });
141
+ });
142
+ describe("Carts", () => {
143
+ it("should create a cart", async () => {
144
+ if (!firstVariantId)
145
+ return;
146
+ const cart = await client.createCart({
147
+ input: {
148
+ lines: [
149
+ {
150
+ quantity: 1,
151
+ merchandiseId: firstVariantId,
152
+ },
153
+ ],
154
+ },
155
+ first: 20,
156
+ });
157
+ expect(cart?.cartCreate?.cart?.id).toBeDefined();
158
+ if (cart?.cartCreate?.cart?.id) {
159
+ cartId = cart.cartCreate.cart.id;
160
+ lineItemId = cart.cartCreate.cart.lines?.edges[0]?.node?.id ?? "";
161
+ }
162
+ });
163
+ it("should update cart buyer identity", async () => {
164
+ if (!cartId || !customerAccessToken)
165
+ return;
166
+ const identity = await client.updateCartBuyerIdentity({
167
+ cartId: cartId,
168
+ buyerIdentity: {
169
+ customerAccessToken: customerAccessToken,
170
+ email: customerEmail,
171
+ phone: "00000000000",
172
+ },
173
+ });
174
+ expect(identity?.cartBuyerIdentityUpdate?.cart?.id).toBeDefined();
175
+ });
176
+ it("should fetch an existing cart", async () => {
177
+ if (!cartId)
178
+ return;
179
+ const existingCart = await client.getCart({ cartId, first: 20 });
180
+ expect(existingCart?.cart?.id).toBe(cartId);
181
+ });
182
+ it("should add lines to a cart", async () => {
183
+ if (!cartId || !firstVariantId)
184
+ return;
185
+ const addToCart = await client.addCartLines({
186
+ cartId,
187
+ lines: [
188
+ {
189
+ quantity: 1,
190
+ merchandiseId: firstVariantId,
191
+ },
192
+ ],
193
+ });
194
+ expect(addToCart?.cartLinesAdd?.cart?.id).toBeDefined();
195
+ });
196
+ it("should update lines in a cart", async () => {
197
+ if (!cartId || !firstVariantId || !lineItemId)
198
+ return;
199
+ const updatedCart = await client.updateCartLines({
200
+ cartId,
201
+ first: 20,
202
+ lines: [
203
+ {
204
+ id: lineItemId,
205
+ quantity: 2,
206
+ merchandiseId: firstVariantId,
207
+ },
208
+ ],
209
+ });
210
+ expect(updatedCart?.cartLinesUpdate?.cart?.id).toBeDefined();
211
+ });
212
+ it("should remove lines from a cart", async () => {
213
+ if (!cartId || !lineItemId)
214
+ return;
215
+ const removedCart = await client.removeCartLines({
216
+ cartId,
217
+ lineIds: [lineItemId],
218
+ });
219
+ expect(removedCart?.cartLinesRemove?.cart?.id).toBeDefined();
220
+ });
221
+ });
222
+ describe("Shop Info", () => {
223
+ it("should fetch shop info using the dedicated method", async () => {
224
+ const shopInfo = await client.getShopInfo();
225
+ expect(shopInfo?.shop?.name).toBeDefined();
226
+ });
227
+ });
228
+ describe("Custom Queries", () => {
229
+ it("should successfully execute a custom query", async () => {
230
+ const customQuery = await client.customQuery(`query getShopInfo {
231
+ shop {
232
+ name
233
+ description
234
+ paymentSettings {
235
+ currencyCode
236
+ countryCode
237
+ enabledPresentmentCurrencies
238
+ }
239
+ }
240
+ }`, {});
241
+ expect(customQuery?.shop?.name).toBeDefined();
242
+ });
243
+ });
244
+ });
245
+ //# sourceMappingURL=sdk.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.test.js","sourceRoot":"","sources":["../../../src/tests/integration/sdk.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cache.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.test.d.ts","sourceRoot":"","sources":["../../../src/tests/unit/cache.test.ts"],"names":[],"mappings":""}