From 94e60859c7154e9f877f0d28fcf917767361a643 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Mon, 12 Apr 2021 13:48:14 -0400 Subject: [PATCH] add some unit tests Signed-off-by: Sebastian Malton --- src/renderer/api/__tests__/crd.test.ts | 91 ++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 src/renderer/api/__tests__/crd.test.ts diff --git a/src/renderer/api/__tests__/crd.test.ts b/src/renderer/api/__tests__/crd.test.ts new file mode 100644 index 0000000000..faa6334e37 --- /dev/null +++ b/src/renderer/api/__tests__/crd.test.ts @@ -0,0 +1,91 @@ +import { CustomResourceDefinition } from "../endpoints"; +import { IKubeObjectMetadata } from "../kube-object"; + +describe("Crds", () => { + describe("getVersion", () => { + it("should get the first version name from the list of versions", () => { + const crd = new CustomResourceDefinition({ + apiVersion: "foo", + kind: "CustomResourceDefinition", + metadata: {} as IKubeObjectMetadata, + }); + + crd.spec = { + versions: [ + { + name: "123", + served: false, + storage: false, + } + ] + } as any; + + expect(crd.getVersion()).toBe("123"); + }); + + it("should get the first version name from the list of versions (length 2)", () => { + const crd = new CustomResourceDefinition({ + apiVersion: "foo", + kind: "CustomResourceDefinition", + metadata: {} as IKubeObjectMetadata, + }); + + crd.spec = { + versions: [ + { + name: "123", + served: false, + storage: false, + }, + { + name: "1234", + served: false, + storage: false, + } + ] + } as any; + + expect(crd.getVersion()).toBe("123"); + }); + + it("should get the first version name from the list of versions (length 2) even with version field", () => { + const crd = new CustomResourceDefinition({ + apiVersion: "foo", + kind: "CustomResourceDefinition", + metadata: {} as IKubeObjectMetadata, + }); + + crd.spec = { + version: "abc", + versions: [ + { + name: "123", + served: false, + storage: false, + }, + { + name: "1234", + served: false, + storage: false, + } + ] + } as any; + + expect(crd.getVersion()).toBe("123"); + }); + + it("should get the first version name from the version field", () => { + const crd = new CustomResourceDefinition({ + apiVersion: "foo", + kind: "CustomResourceDefinition", + metadata: {} as IKubeObjectMetadata, + }); + + crd.spec = { + version: "abc" + } as any; + + expect(crd.getVersion()).toBe("abc"); + }); + }); +});