aboutsummaryrefslogtreecommitdiff
path: root/packages/demobank-ui/src/components/Transactions/test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/demobank-ui/src/components/Transactions/test.ts')
-rw-r--r--packages/demobank-ui/src/components/Transactions/test.ts148
1 files changed, 85 insertions, 63 deletions
diff --git a/packages/demobank-ui/src/components/Transactions/test.ts b/packages/demobank-ui/src/components/Transactions/test.ts
index 3f2d5fb68..b13767f7c 100644
--- a/packages/demobank-ui/src/components/Transactions/test.ts
+++ b/packages/demobank-ui/src/components/Transactions/test.ts
@@ -19,12 +19,13 @@
* @author Sebastian Javier Marchano (sebasjm)
*/
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import { ErrorType, tests } from "@gnu-taler/web-util/lib/index.browser";
import { SwrMockEnvironment } from "@gnu-taler/web-util/lib/tests/swr";
import { expect } from "chai";
import { TRANSACTION_API_EXAMPLE } from "../../endpoints.js";
import { Props } from "./index.js";
import { useComponentState } from "./state.js";
+import { HttpStatusCode } from "@gnu-taler/taler-util";
describe("Transaction states", () => {
it("should query backend and render transactions", async () => {
@@ -34,59 +35,62 @@ describe("Transaction states", () => {
account: "myAccount",
};
+ //@ts-ignore
env.addRequestExpectation(TRANSACTION_API_EXAMPLE.LIST_FIRST_PAGE, {
response: {
- transactions: [
- {
- creditorIban: "DE159593",
- creditorBic: "SANDBOXX",
- creditorName: "exchange company",
- debtorIban: "DE118695",
- debtorBic: "SANDBOXX",
- debtorName: "Name unknown",
- amount: "1",
- currency: "KUDOS",
- subject:
- "Taler Withdrawal N588V8XE9TR49HKAXFQ20P0EQ0EYW2AC9NNANV8ZP5P59N6N0410",
- date: "2022-12-12Z",
- uid: "8PPFR9EM",
- direction: "DBIT",
- pmtInfId: null,
- msgId: null,
- },
- {
- creditorIban: "DE159593",
- creditorBic: "SANDBOXX",
- creditorName: "exchange company",
- debtorIban: "DE118695",
- debtorBic: "SANDBOXX",
- debtorName: "Name unknown",
- amount: "5.00",
- currency: "KUDOS",
- subject: "HNEWWT679TQC5P1BVXJS48FX9NW18FWM6PTK2N80Z8GVT0ACGNK0",
- date: "2022-12-07Z",
- uid: "7FZJC3RJ",
- direction: "DBIT",
- pmtInfId: null,
- msgId: null,
- },
- {
- creditorIban: "DE118695",
- creditorBic: "SANDBOXX",
- creditorName: "Name unknown",
- debtorIban: "DE579516",
- debtorBic: "SANDBOXX",
- debtorName: "The Bank",
- amount: "100",
- currency: "KUDOS",
- subject: "Sign-up bonus",
- date: "2022-12-07Z",
- uid: "I31A06J8",
- direction: "CRDT",
- pmtInfId: null,
- msgId: null,
- },
- ],
+ data: {
+ transactions: [
+ {
+ creditorIban: "DE159593",
+ creditorBic: "SANDBOXX",
+ creditorName: "exchange company",
+ debtorIban: "DE118695",
+ debtorBic: "SANDBOXX",
+ debtorName: "Name unknown",
+ amount: "1",
+ currency: "KUDOS",
+ subject:
+ "Taler Withdrawal N588V8XE9TR49HKAXFQ20P0EQ0EYW2AC9NNANV8ZP5P59N6N0410",
+ date: "2022-12-12Z",
+ uid: "8PPFR9EM",
+ direction: "DBIT",
+ pmtInfId: null,
+ msgId: null,
+ },
+ {
+ creditorIban: "DE159593",
+ creditorBic: "SANDBOXX",
+ creditorName: "exchange company",
+ debtorIban: "DE118695",
+ debtorBic: "SANDBOXX",
+ debtorName: "Name unknown",
+ amount: "5.00",
+ currency: "KUDOS",
+ subject: "HNEWWT679TQC5P1BVXJS48FX9NW18FWM6PTK2N80Z8GVT0ACGNK0",
+ date: "2022-12-07Z",
+ uid: "7FZJC3RJ",
+ direction: "DBIT",
+ pmtInfId: null,
+ msgId: null,
+ },
+ {
+ creditorIban: "DE118695",
+ creditorBic: "SANDBOXX",
+ creditorName: "Name unknown",
+ debtorIban: "DE579516",
+ debtorBic: "SANDBOXX",
+ debtorName: "The Bank",
+ amount: "100",
+ currency: "KUDOS",
+ subject: "Sign-up bonus",
+ date: "2022-12-07Z",
+ uid: "I31A06J8",
+ direction: "CRDT",
+ pmtInfId: null,
+ msgId: null,
+ },
+ ],
+ },
},
});
@@ -118,7 +122,13 @@ describe("Transaction states", () => {
account: "myAccount",
};
- env.addRequestExpectation(TRANSACTION_API_EXAMPLE.LIST_NOT_FOUND, {});
+ env.addRequestExpectation(TRANSACTION_API_EXAMPLE.LIST_NOT_FOUND, {
+ response: {
+ error: {
+ description: "Transaction page 0 could not be retrieved.",
+ },
+ },
+ });
const hookBehavior = await tests.hookBehaveLikeThis(
useComponentState,
@@ -130,10 +140,13 @@ describe("Transaction states", () => {
},
({ status, error }) => {
expect(status).equals("loading-error");
- expect(error).deep.eq({
- hasError: true,
- operational: false,
- message: "Transactions page 0 was not found.",
+ if (error === undefined || error.type !== ErrorType.CLIENT) {
+ throw Error("not the expected error");
+ }
+ expect(error.payload).deep.equal({
+ error: {
+ description: "Transaction page 0 could not be retrieved.",
+ },
});
},
],
@@ -145,13 +158,19 @@ describe("Transaction states", () => {
});
it("should show error message on server error", async () => {
- const env = new SwrMockEnvironment(false);
+ const env = new SwrMockEnvironment();
const props: Props = {
account: "myAccount",
};
- env.addRequestExpectation(TRANSACTION_API_EXAMPLE.LIST_ERROR, {});
+ env.addRequestExpectation(TRANSACTION_API_EXAMPLE.LIST_ERROR, {
+ response: {
+ error: {
+ description: "Transaction page 0 could not be retrieved.",
+ },
+ },
+ });
const hookBehavior = await tests.hookBehaveLikeThis(
useComponentState,
@@ -163,10 +182,13 @@ describe("Transaction states", () => {
},
({ status, error }) => {
expect(status).equals("loading-error");
- expect(error).deep.equal({
- hasError: true,
- operational: false,
- message: "Transaction page 0 could not be retrieved.",
+ if (error === undefined || error.type !== ErrorType.SERVER) {
+ throw Error("not the expected error");
+ }
+ expect(error.payload).deep.equal({
+ error: {
+ description: "Transaction page 0 could not be retrieved.",
+ },
});
},
],