1import { assert, describe, it } from "@effect/vitest"
2import { Effect, Schema } from "effect"
3import * as K8sHttpClient from "effect/cluster/K8sHttpClient"
4
5describe.concurrent("K8sHttpClient", () => {
6 describe("Pod", () => {
7 it.effect("decodes null condition lastTransitionTime values", () =>
8 Effect.gen(function*() {
9 const pod = yield* Schema.decodeUnknownEffect(K8sHttpClient.Pod)({
10 status: {
11 phase: "Running",
12 podIP: "10.0.0.1",
13 hostIP: "10.0.0.2",
14 conditions: [
15 {
16 type: "Initialized",
17 status: "True",
18 lastTransitionTime: null
19 },
20 {
21 type: "Ready",
22 status: "False",
23 lastTransitionTime: null
24 }
25 ]
26 }
27 })
28
29 assert.strictEqual(pod.status.conditions[0].lastTransitionTime, null)
30 assert.strictEqual(pod.isReady, false)
31 assert.strictEqual(pod.isReadyOrInitializing, true)
32 }))
33 })
34})