From 9ad1f2712a92d58804e090a7c3dd4cc0a41ee1d9 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 3 Jan 2023 10:01:04 -0300 Subject: pretty --- .../src/hooks/instance.test.ts | 429 ++++++++++++--------- 1 file changed, 250 insertions(+), 179 deletions(-) (limited to 'packages/merchant-backoffice-ui/src/hooks/instance.test.ts') 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" }); - }); - }); - -- cgit v1.2.3