aboutsummaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/hooks/product.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/merchant-backoffice-ui/src/hooks/product.test.ts')
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/product.test.ts142
1 files changed, 89 insertions, 53 deletions
diff --git a/packages/merchant-backoffice-ui/src/hooks/product.test.ts b/packages/merchant-backoffice-ui/src/hooks/product.test.ts
index a182b28f4..c2271eb64 100644
--- a/packages/merchant-backoffice-ui/src/hooks/product.test.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/product.test.ts
@@ -22,13 +22,18 @@
import { tests } from "@gnu-taler/web-util/lib/index.browser";
import { expect } from "chai";
import { MerchantBackend } from "../declaration.js";
-import { useInstanceProducts, useProductAPI, useProductDetails } from "./product.js";
+import {
+ useInstanceProducts,
+ useProductAPI,
+ useProductDetails,
+} from "./product.js";
import { ApiMockEnvironment } from "./testing.js";
import {
API_CREATE_PRODUCT,
- API_DELETE_PRODUCT, API_GET_PRODUCT_BY_ID,
+ API_DELETE_PRODUCT,
+ API_GET_PRODUCT_BY_ID,
API_LIST_PRODUCTS,
- API_UPDATE_PRODUCT_BY_ID
+ API_UPDATE_PRODUCT_BY_ID,
} from "./urls.js";
describe("product api interaction with listing", () => {
@@ -56,19 +61,21 @@ describe("product api interaction with listing", () => {
expect(query.loading).true;
},
({ query, api }) => {
- expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
+ expect(env.assertJustExpectedRequestWereMade()).deep.eq({
+ result: "ok",
+ });
expect(query.loading).true;
},
({ query, api }) => {
expect(query.loading).undefined;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
- expect(query.data).deep.equals([
- { id: "1234", price: "ARS:12" },
- ]);
+ expect(query.data).deep.equals([{ id: "1234", price: "ARS:12" }]);
env.addRequestExpectation(API_CREATE_PRODUCT, {
- request: { price: "ARS:23" } as MerchantBackend.Products.ProductAddDetail,
+ request: {
+ price: "ARS:23",
+ } as MerchantBackend.Products.ProductAddDetail,
});
env.addRequestExpectation(API_LIST_PRODUCTS, {
@@ -77,28 +84,37 @@ describe("product api interaction with listing", () => {
},
});
env.addRequestExpectation(API_GET_PRODUCT_BY_ID("1234"), {
- response: { price: "ARS:12" } as MerchantBackend.Products.ProductDetail,
+ response: {
+ price: "ARS:12",
+ } as MerchantBackend.Products.ProductDetail,
});
env.addRequestExpectation(API_GET_PRODUCT_BY_ID("1234"), {
- response: { price: "ARS:12" } as MerchantBackend.Products.ProductDetail,
+ response: {
+ price: "ARS:12",
+ } as MerchantBackend.Products.ProductDetail,
});
env.addRequestExpectation(API_GET_PRODUCT_BY_ID("2345"), {
- response: { price: "ARS:23" } as MerchantBackend.Products.ProductDetail,
+ response: {
+ price: "ARS:23",
+ } as MerchantBackend.Products.ProductDetail,
});
api.createProduct({
price: "ARS:23",
- } as any)
-
+ } as any);
},
({ query, api }) => {
- expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
+ expect(env.assertJustExpectedRequestWereMade()).deep.eq({
+ result: "ok",
+ });
expect(query.loading).true;
},
({ query, api }) => {
- expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
+ expect(env.assertJustExpectedRequestWereMade()).deep.eq({
+ result: "ok",
+ });
expect(query.loading).undefined;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
expect(query.data).deep.equals([
{
@@ -111,11 +127,12 @@ describe("product api interaction with listing", () => {
},
]);
},
- ], env.buildTestingContext());
+ ],
+ env.buildTestingContext(),
+ );
expect(hookBehavior).deep.eq({ result: "ok" });
expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
-
});
it("should evict cache when updating a product", async () => {
@@ -145,16 +162,18 @@ describe("product api interaction with listing", () => {
expect(query.loading).true;
},
({ query, api }) => {
- expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
+ expect(env.assertJustExpectedRequestWereMade()).deep.eq({
+ result: "ok",
+ });
expect(query.loading).undefined;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
- expect(query.data).deep.equals([
- { id: "1234", price: "ARS:12" },
- ]);
+ expect(query.data).deep.equals([{ id: "1234", price: "ARS:12" }]);
env.addRequestExpectation(API_UPDATE_PRODUCT_BY_ID("1234"), {
- request: { price: "ARS:13" } as MerchantBackend.Products.ProductPatchDetail,
+ request: {
+ price: "ARS:13",
+ } as MerchantBackend.Products.ProductPatchDetail,
});
env.addRequestExpectation(API_LIST_PRODUCTS, {
@@ -163,18 +182,21 @@ describe("product api interaction with listing", () => {
},
});
env.addRequestExpectation(API_GET_PRODUCT_BY_ID("1234"), {
- response: { price: "ARS:13" } as MerchantBackend.Products.ProductDetail,
+ response: {
+ price: "ARS:13",
+ } as MerchantBackend.Products.ProductDetail,
});
api.updateProduct("1234", {
price: "ARS:13",
- } as any)
-
+ } as any);
},
({ query, api }) => {
- expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
+ expect(env.assertJustExpectedRequestWereMade()).deep.eq({
+ result: "ok",
+ });
expect(query.loading).undefined;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
expect(query.data).deep.equals([
{
@@ -183,11 +205,12 @@ describe("product api interaction with listing", () => {
},
]);
},
- ], env.buildTestingContext());
+ ],
+ env.buildTestingContext(),
+ );
expect(hookBehavior).deep.eq({ result: "ok" });
expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
-
});
it("should evict cache when deleting a product", async () => {
@@ -217,12 +240,14 @@ describe("product api interaction with listing", () => {
expect(query.loading).true;
},
({ query, api }) => {
- expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
+ expect(env.assertJustExpectedRequestWereMade()).deep.eq({
+ result: "ok",
+ });
expect(query.loading).true;
},
({ query, api }) => {
expect(query.loading).undefined;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
expect(query.data).deep.equals([
{ id: "1234", price: "ARS:12" },
@@ -238,29 +263,34 @@ describe("product api interaction with listing", () => {
});
env.addRequestExpectation(API_GET_PRODUCT_BY_ID("1234"), {
- response: { price: "ARS:12" } as MerchantBackend.Products.ProductDetail,
+ response: {
+ price: "ARS:12",
+ } as MerchantBackend.Products.ProductDetail,
});
api.deleteProduct("2345");
},
({ query, api }) => {
- expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
+ expect(env.assertJustExpectedRequestWereMade()).deep.eq({
+ result: "ok",
+ });
expect(query.loading).true;
},
({ query, api }) => {
- expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
+ expect(env.assertJustExpectedRequestWereMade()).deep.eq({
+ result: "ok",
+ });
expect(query.loading).undefined;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
- expect(query.data).deep.equals([
- { id: "1234", price: "ARS:12" },
- ]);
+ expect(query.data).deep.equals([{ id: "1234", price: "ARS:12" }]);
},
- ], env.buildTestingContext());
+ ],
+ env.buildTestingContext(),
+ );
expect(hookBehavior).deep.eq({ result: "ok" });
expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
});
-
});
describe("product api interaction with details", () => {
@@ -285,16 +315,20 @@ describe("product api interaction with details", () => {
expect(query.loading).true;
},
({ query, api }) => {
- expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
+ expect(env.assertJustExpectedRequestWereMade()).deep.eq({
+ result: "ok",
+ });
expect(query.loading).false;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
expect(query.data).deep.equals({
description: "this is a description",
});
env.addRequestExpectation(API_UPDATE_PRODUCT_BY_ID("12"), {
- request: { description: "other description" } as MerchantBackend.Products.ProductPatchDetail,
+ request: {
+ description: "other description",
+ } as MerchantBackend.Products.ProductPatchDetail,
});
env.addRequestExpectation(API_GET_PRODUCT_BY_ID("12"), {
@@ -306,21 +340,23 @@ describe("product api interaction with details", () => {
api.updateProduct("12", {
description: "other description",
} as any);
-
},
({ query, api }) => {
- expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
+ expect(env.assertJustExpectedRequestWereMade()).deep.eq({
+ result: "ok",
+ });
expect(query.loading).false;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
expect(query.data).deep.equals({
description: "other description",
});
},
- ], env.buildTestingContext());
+ ],
+ env.buildTestingContext(),
+ );
expect(hookBehavior).deep.eq({ result: "ok" });
expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
-
- })
-}) \ No newline at end of file
+ });
+});