diff --git a/src/common/__tests__/catalog-entity.test.ts b/src/common/__tests__/catalog-entity.test.ts new file mode 100644 index 0000000000..3785ed1d49 --- /dev/null +++ b/src/common/__tests__/catalog-entity.test.ts @@ -0,0 +1,30 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ + +import { CatalogCategory, CatalogCategorySpec } from "../catalog"; + +class TestCatalogCategory extends CatalogCategory { + public readonly apiVersion = "catalog.k8slens.dev/v1alpha1"; + public readonly kind = "CatalogCategory"; + public metadata = { + name: "Test Category", + icon: "", + }; + public spec: CatalogCategorySpec = { + group: "entity.k8slens.dev", + versions: [], + names: { + kind: "Test", + }, + }; +} + +describe("CatalogCategory", () => { + it("returns name", () => { + const category = new TestCatalogCategory(); + + expect(category.getName()).toEqual("Test Category"); + }); +}); diff --git a/src/common/catalog/catalog-entity.ts b/src/common/catalog/catalog-entity.ts index daff2e6017..2704bed2e0 100644 --- a/src/common/catalog/catalog-entity.ts +++ b/src/common/catalog/catalog-entity.ts @@ -173,6 +173,13 @@ export abstract class CatalogCategory extends (EventEmitter as new () => TypedEm return `${this.spec.group}/${this.spec.names.kind}`; } + /** + * Get the name of this category + */ + public getName(): string { + return this.metadata.name; + } + /** * Add a filter for menu items of catalogAddMenu * @param fn The function that should return a truthy value if that menu item should be displayed diff --git a/src/renderer/components/+catalog/catalog.tsx b/src/renderer/components/+catalog/catalog.tsx index e8738f135a..a3af640fc5 100644 --- a/src/renderer/components/+catalog/catalog.tsx +++ b/src/renderer/components/+catalog/catalog.tsx @@ -158,7 +158,7 @@ class NonInjectedCatalog extends React.Component { name: "catalog", action: "change-category", params: { - category: activeCategory ? activeCategory?.metadata?.name : "Browse", + category: activeCategory ? activeCategory.getName() : "Browse", }, });