aboutsummaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/hooks/instance.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/merchant-backoffice-ui/src/hooks/instance.test.ts')
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/instance.test.ts429
1 files changed, 250 insertions, 179 deletions
diff --git a/packages/merchant-backoffice-ui/src/hooks/instance.test.ts b/packages/merchant-backoffice-ui/src/hooks/instance.test.ts
index c7aa63e20..76c2c47ae 100644
--- a/packages/merchant-backoffice-ui/src/hooks/instance.test.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/instance.test.ts
@@ -22,7 +22,13 @@
import { tests } from "@gnu-taler/web-util/lib/index.browser";
import { expect } from "chai";
import { MerchantBackend } from "../declaration.js";
-import { useAdminAPI, useBackendInstances, useInstanceAPI, useInstanceDetails, useManagementAPI } from "./instance.js";
+import {
+ useAdminAPI,
+ useBackendInstances,
+ useInstanceAPI,
+ useInstanceDetails,
+ useManagementAPI,
+} from "./instance.js";
import { ApiMockEnvironment } from "./testing.js";
import {
API_CREATE_INSTANCE,
@@ -30,17 +36,17 @@ import {
API_GET_CURRENT_INSTANCE,
API_LIST_INSTANCES,
API_UPDATE_CURRENT_INSTANCE,
- API_UPDATE_CURRENT_INSTANCE_AUTH, API_UPDATE_INSTANCE_BY_ID
+ API_UPDATE_CURRENT_INSTANCE_AUTH,
+ API_UPDATE_INSTANCE_BY_ID,
} from "./urls.js";
describe("instance api interaction with details", () => {
-
it("should evict cache when updating an instance", async () => {
const env = new ApiMockEnvironment();
env.addRequestExpectation(API_GET_CURRENT_INSTANCE, {
response: {
- name: 'instance_name'
+ name: "instance_name",
} as MerchantBackend.Instances.QueryInstancesResponse,
});
@@ -56,42 +62,47 @@ describe("instance 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({
- name: 'instance_name'
+ name: "instance_name",
});
env.addRequestExpectation(API_UPDATE_CURRENT_INSTANCE, {
request: {
- name: 'other_name'
+ name: "other_name",
} as MerchantBackend.Instances.InstanceReconfigurationMessage,
});
env.addRequestExpectation(API_GET_CURRENT_INSTANCE, {
response: {
- name: 'other_name'
+ name: "other_name",
} as MerchantBackend.Instances.QueryInstancesResponse,
});
api.updateInstance({
- name: 'other_name'
+ name: "other_name",
} as MerchantBackend.Instances.InstanceReconfigurationMessage);
},
({ 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({
- name: 'other_name'
+ name: "other_name",
});
},
- ], env.buildTestingContext());
+ ],
+ env.buildTestingContext(),
+ );
expect(hookBehavior).deep.eq({ result: "ok" });
expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
-
});
it("should evict cache when setting the instance's token", async () => {
@@ -99,11 +110,11 @@ describe("instance api interaction with details", () => {
env.addRequestExpectation(API_GET_CURRENT_INSTANCE, {
response: {
- name: 'instance_name',
+ name: "instance_name",
auth: {
- method: 'token',
- token: 'not-secret',
- }
+ method: "token",
+ token: "not-secret",
+ },
} as MerchantBackend.Instances.QueryInstancesResponse,
});
@@ -119,51 +130,56 @@ describe("instance 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({
- name: 'instance_name',
+ name: "instance_name",
auth: {
- method: 'token',
- token: 'not-secret',
- }
+ method: "token",
+ token: "not-secret",
+ },
});
env.addRequestExpectation(API_UPDATE_CURRENT_INSTANCE_AUTH, {
request: {
- method: 'token',
- token: 'secret'
+ method: "token",
+ token: "secret",
} as MerchantBackend.Instances.InstanceAuthConfigurationMessage,
});
env.addRequestExpectation(API_GET_CURRENT_INSTANCE, {
response: {
- name: 'instance_name',
+ name: "instance_name",
auth: {
- method: 'token',
- token: 'secret',
- }
+ method: "token",
+ token: "secret",
+ },
} as MerchantBackend.Instances.QueryInstancesResponse,
});
- api.setNewToken('secret')
+ api.setNewToken("secret");
},
({ 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({
- name: 'instance_name',
+ name: "instance_name",
auth: {
- method: 'token',
- token: 'secret',
- }
+ method: "token",
+ token: "secret",
+ },
});
},
- ], env.buildTestingContext());
+ ],
+ env.buildTestingContext(),
+ );
expect(hookBehavior).deep.eq({ result: "ok" });
expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
-
});
it("should evict cache when clearing the instance's token", async () => {
@@ -171,11 +187,11 @@ describe("instance api interaction with details", () => {
env.addRequestExpectation(API_GET_CURRENT_INSTANCE, {
response: {
- name: 'instance_name',
+ name: "instance_name",
auth: {
- method: 'token',
- token: 'not-secret',
- }
+ method: "token",
+ token: "not-secret",
+ },
} as MerchantBackend.Instances.QueryInstancesResponse,
});
@@ -191,46 +207,52 @@ describe("instance 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({
- name: 'instance_name',
+ name: "instance_name",
auth: {
- method: 'token',
- token: 'not-secret',
- }
+ method: "token",
+ token: "not-secret",
+ },
});
env.addRequestExpectation(API_UPDATE_CURRENT_INSTANCE_AUTH, {
request: {
- method: 'external',
+ method: "external",
} as MerchantBackend.Instances.InstanceAuthConfigurationMessage,
});
env.addRequestExpectation(API_GET_CURRENT_INSTANCE, {
response: {
- name: 'instance_name',
+ name: "instance_name",
auth: {
- method: 'external',
- }
+ method: "external",
+ },
} as MerchantBackend.Instances.QueryInstancesResponse,
});
api.clearToken();
},
({ 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({
- name: 'instance_name',
+ name: "instance_name",
auth: {
- method: 'external',
- }
+ method: "external",
+ },
});
},
- ], env.buildTestingContext());
+ ],
+ env.buildTestingContext(),
+ );
expect(hookBehavior).deep.eq({ result: "ok" });
expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
// const { result, waitForNextUpdate } = renderHook(
@@ -266,14 +288,12 @@ describe("instance api interaction with details", () => {
// }
// });
-
// act(async () => {
// await result.current?.api.clearToken();
// });
// expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
-
// expect(result.current.query.loading).false;
// await waitForNextUpdate({ timeout: 1 });
@@ -293,15 +313,16 @@ describe("instance api interaction with details", () => {
});
describe("instance admin api interaction with listing", () => {
-
it("should evict cache when creating a new instance", async () => {
const env = new ApiMockEnvironment();
env.addRequestExpectation(API_LIST_INSTANCES, {
response: {
- instances: [{
- name: 'instance_name'
- } as MerchantBackend.Instances.Instance]
+ instances: [
+ {
+ name: "instance_name",
+ } as MerchantBackend.Instances.Instance,
+ ],
},
});
@@ -317,53 +338,65 @@ describe("instance admin 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).false;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
expect(query.data).deep.equals({
- instances: [{
- name: 'instance_name'
- }]
+ instances: [
+ {
+ name: "instance_name",
+ },
+ ],
});
env.addRequestExpectation(API_CREATE_INSTANCE, {
request: {
- name: 'other_name'
+ name: "other_name",
} as MerchantBackend.Instances.InstanceConfigurationMessage,
});
env.addRequestExpectation(API_LIST_INSTANCES, {
response: {
- instances: [{
- name: 'instance_name'
- } as MerchantBackend.Instances.Instance,
- {
- name: 'other_name'
- } as MerchantBackend.Instances.Instance]
+ instances: [
+ {
+ name: "instance_name",
+ } as MerchantBackend.Instances.Instance,
+ {
+ name: "other_name",
+ } as MerchantBackend.Instances.Instance,
+ ],
},
});
api.createInstance({
- name: 'other_name'
+ name: "other_name",
} as MerchantBackend.Instances.InstanceConfigurationMessage);
},
({ 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({
- instances: [{
- name: 'instance_name'
- }, {
- name: 'other_name'
- }]
+ instances: [
+ {
+ name: "instance_name",
+ },
+ {
+ name: "other_name",
+ },
+ ],
});
},
- ], env.buildTestingContext());
+ ],
+ env.buildTestingContext(),
+ );
expect(hookBehavior).deep.eq({ result: "ok" });
expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
-
});
it("should evict cache when deleting an instance", async () => {
@@ -371,14 +404,16 @@ describe("instance admin api interaction with listing", () => {
env.addRequestExpectation(API_LIST_INSTANCES, {
response: {
- instances: [{
- id: 'default',
- name: 'instance_name'
- } as MerchantBackend.Instances.Instance,
- {
- id: 'the_id',
- name: 'second_instance'
- } as MerchantBackend.Instances.Instance]
+ instances: [
+ {
+ id: "default",
+ name: "instance_name",
+ } as MerchantBackend.Instances.Instance,
+ {
+ id: "the_id",
+ name: "second_instance",
+ } as MerchantBackend.Instances.Instance,
+ ],
},
});
@@ -394,45 +429,58 @@ describe("instance admin 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).false;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
expect(query.data).deep.equals({
- instances: [{
- id: 'default',
- name: 'instance_name'
- }, {
- id: 'the_id',
- name: 'second_instance'
- }]
+ instances: [
+ {
+ id: "default",
+ name: "instance_name",
+ },
+ {
+ id: "the_id",
+ name: "second_instance",
+ },
+ ],
});
- env.addRequestExpectation(API_DELETE_INSTANCE('the_id'), {});
+ env.addRequestExpectation(API_DELETE_INSTANCE("the_id"), {});
env.addRequestExpectation(API_LIST_INSTANCES, {
response: {
- instances: [{
- id: 'default',
- name: 'instance_name'
- } as MerchantBackend.Instances.Instance]
+ instances: [
+ {
+ id: "default",
+ name: "instance_name",
+ } as MerchantBackend.Instances.Instance,
+ ],
},
});
- api.deleteInstance('the_id');
+ api.deleteInstance("the_id");
},
({ 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({
- instances: [{
- id: 'default',
- name: 'instance_name'
- }]
+ instances: [
+ {
+ id: "default",
+ name: "instance_name",
+ },
+ ],
});
},
- ], env.buildTestingContext());
+ ],
+ env.buildTestingContext(),
+ );
expect(hookBehavior).deep.eq({ result: "ok" });
expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
@@ -510,14 +558,16 @@ describe("instance admin api interaction with listing", () => {
env.addRequestExpectation(API_LIST_INSTANCES, {
response: {
- instances: [{
- id: 'default',
- name: 'instance_name'
- } as MerchantBackend.Instances.Instance,
- {
- id: 'the_id',
- name: 'second_instance'
- } as MerchantBackend.Instances.Instance]
+ instances: [
+ {
+ id: "default",
+ name: "instance_name",
+ } as MerchantBackend.Instances.Instance,
+ {
+ id: "the_id",
+ name: "second_instance",
+ } as MerchantBackend.Instances.Instance,
+ ],
},
});
@@ -533,72 +583,85 @@ describe("instance admin 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).false;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
expect(query.data).deep.equals({
- instances: [{
- id: 'default',
- name: 'instance_name'
- }, {
- id: 'the_id',
- name: 'second_instance'
- }]
+ instances: [
+ {
+ id: "default",
+ name: "instance_name",
+ },
+ {
+ id: "the_id",
+ name: "second_instance",
+ },
+ ],
});
- env.addRequestExpectation(API_DELETE_INSTANCE('the_id'), {
+ env.addRequestExpectation(API_DELETE_INSTANCE("the_id"), {
qparam: {
- purge: 'YES'
- }
+ purge: "YES",
+ },
});
env.addRequestExpectation(API_LIST_INSTANCES, {
response: {
- instances: [{
- id: 'default',
- name: 'instance_name'
- } as MerchantBackend.Instances.Instance]
+ instances: [
+ {
+ id: "default",
+ name: "instance_name",
+ } as MerchantBackend.Instances.Instance,
+ ],
},
});
- api.purgeInstance('the_id')
+ api.purgeInstance("the_id");
},
({ 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({
- instances: [{
- id: 'default',
- name: 'instance_name'
- }]
+ instances: [
+ {
+ id: "default",
+ name: "instance_name",
+ },
+ ],
});
},
- ], env.buildTestingContext());
+ ],
+ env.buildTestingContext(),
+ );
expect(hookBehavior).deep.eq({ result: "ok" });
expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
-
});
});
describe("instance management api interaction with listing", () => {
-
it("should evict cache when updating an instance", async () => {
const env = new ApiMockEnvironment();
env.addRequestExpectation(API_LIST_INSTANCES, {
response: {
- instances: [{
- id: 'managed',
- name: 'instance_name'
- } as MerchantBackend.Instances.Instance]
+ instances: [
+ {
+ id: "managed",
+ name: "instance_name",
+ } as MerchantBackend.Instances.Instance,
+ ],
},
});
const hookBehavior = await tests.hookBehaveLikeThis(
() => {
- const api = useManagementAPI('managed');
+ const api = useManagementAPI("managed");
const query = useBackendInstances();
return { query, api };
},
@@ -608,53 +671,61 @@ describe("instance management 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).false;
- expect(query.ok).true
+ expect(query.ok).true;
if (!query.ok) return;
expect(query.data).deep.equals({
- instances: [{
- id: 'managed',
- name: 'instance_name'
- }]
+ instances: [
+ {
+ id: "managed",
+ name: "instance_name",
+ },
+ ],
});
- env.addRequestExpectation(API_UPDATE_INSTANCE_BY_ID('managed'), {
+ env.addRequestExpectation(API_UPDATE_INSTANCE_BY_ID("managed"), {
request: {
- name: 'other_name'
+ name: "other_name",
} as MerchantBackend.Instances.InstanceReconfigurationMessage,
});
env.addRequestExpectation(API_LIST_INSTANCES, {
response: {
instances: [
{
- id: 'managed',
- name: 'other_name'
- } as MerchantBackend.Instances.Instance]
+ id: "managed",
+ name: "other_name",
+ } as MerchantBackend.Instances.Instance,
+ ],
},
});
api.updateInstance({
- name: 'other_name'
+ name: "other_name",
} as MerchantBackend.Instances.InstanceConfigurationMessage);
},
({ 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({
- instances: [{
- id: 'managed',
- name: 'other_name'
- }]
+ instances: [
+ {
+ id: "managed",
+ name: "other_name",
+ },
+ ],
});
},
- ], env.buildTestingContext());
+ ],
+ env.buildTestingContext(),
+ );
expect(hookBehavior).deep.eq({ result: "ok" });
expect(env.assertJustExpectedRequestWereMade()).deep.eq({ result: "ok" });
-
});
-
});
-