From 95d152936ab3cdf6a08e882fd2f599116fe1dac7 Mon Sep 17 00:00:00 2001 From: "Hung-Han (Henry) Chen" Date: Mon, 11 Oct 2021 17:04:14 +0300 Subject: [PATCH] Add 'can mutate entity' to catalog-entity-registry.test.ts Signed-off-by: Hung-Han (Henry) Chen --- .../__tests__/catalog-entity-registry.test.ts | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/main/catalog/__tests__/catalog-entity-registry.test.ts b/src/main/catalog/__tests__/catalog-entity-registry.test.ts index ee8450ae26..348777ca3c 100644 --- a/src/main/catalog/__tests__/catalog-entity-registry.test.ts +++ b/src/main/catalog/__tests__/catalog-entity-registry.test.ts @@ -92,6 +92,38 @@ describe("CatalogEntityRegistry", () => { expect(registry.items.length).toEqual(1); }); + it ("can mutate entity", () => { + const source = observable.array([]); + + registry.addObservableSource("test", source); + source.push(entity); + + const index = source.findIndex((i) => i.metadata.uid === entity.metadata.uid); + + const updateEntity = new WebLink({ + metadata: { + uid: "test", + name: "test-link", + source: "test", + labels: {} + }, + spec: { + url: "https://k8slens.dev" + }, + status: { + phase: "unavailable" + } + }); + + source.splice(index, 1, updateEntity); + expect(registry.items.length).toEqual(1); + + const found = registry.items.find((i) => i.metadata.uid === updateEntity.metadata.uid); + + expect(found).toBeDefined(); + expect(found.status.phase).toBe("unavailable"); + }); + it ("added source change triggers reaction", (done) => { const source = observable.array([]);