History

test(web): keep provider field readers private (#9952)

Julius Marminge committed 2 months ago

Commit 07d24971 parent e5a87e82 files · +2 −20Browse files

Unified · Split

2 files
  1. apps/web/src/components/settings/ProviderSettingsForm.test.ts +0 −14
  2. apps/web/src/components/settings/ProviderSettingsForm.tsx +2 −6
apps/web/src/components/settings/ProviderSettingsForm.test.ts+0−14
@@ -5,8 +5,6 @@ import { DRIVER_OPTION_BY_VALUE } from "./providerDriverMeta"; · 4 unmodified lines
5import {5import {
6 deriveProviderSettingsFields,6 deriveProviderSettingsFields,
7 nextProviderConfigWithFieldValue,7 nextProviderConfigWithFieldValue,
8 readProviderConfigBoolean,
9 readProviderConfigString,
10} from "./ProviderSettingsForm";8} from "./ProviderSettingsForm";
11 9
12describe("ProviderSettingsForm helpers", () => {10describe("ProviderSettingsForm helpers", () => {
@@ -90,10 +88,6 @@ describe("ProviderSettingsForm helpers", () => { · 77 unmodified lines
90 expect(next).toEqual({ forkOwned: 1 });88 expect(next).toEqual({ forkOwned: 1 });
91 });89 });
92 90
93 it("reads non-string config values as blank strings", () => {
94 expect(readProviderConfigString({ binaryPath: 123 }, "binaryPath")).toBe("");
95 });
96
97 it("omits false boolean fields when clearWhenEmpty is omit", () => {91 it("omits false boolean fields when clearWhenEmpty is omit", () => {
98 const next = nextProviderConfigWithFieldValue(92 const next = nextProviderConfigWithFieldValue(
99 { forkOwned: 1, experimental: true },93 { forkOwned: 1, experimental: true },
@@ -156,12 +150,4 @@ describe("ProviderSettingsForm helpers", () => { · 56 unmodified lines
156 150
157 expect(next).toEqual({ experimental: false });151 expect(next).toEqual({ experimental: false });
158 });152 });
159
160 it("reads non-boolean config values as false booleans", () => {
161 expect(readProviderConfigBoolean({ experimental: "true" }, "experimental")).toBe(false);
162 });
163
164 it("reads missing boolean config values from the supplied default", () => {
165 expect(readProviderConfigBoolean({}, "experimental", true)).toBe(true);
166 });
167});153});
apps/web/src/components/settings/ProviderSettingsForm.tsx+2−6
@@ -119,17 +119,13 @@ export function deriveProviderSettingsFields( · 118 unmodified lines
119 });119 });
120}120}
121 121
122export function readProviderConfigString(config: unknown, key: string): string {122function readProviderConfigString(config: unknown, key: string): string {
123 if (config === null || typeof config !== "object") return "";123 if (config === null || typeof config !== "object") return "";
124 const value = (config as Record<string, unknown>)[key];124 const value = (config as Record<string, unknown>)[key];
125 return typeof value === "string" ? value : "";125 return typeof value === "string" ? value : "";
126}126}
127 127
128export function readProviderConfigBoolean(128function readProviderConfigBoolean(config: unknown, key: string, defaultValue = false): boolean {
129 config: unknown,
130 key: string,
131 defaultValue = false,
132): boolean {
133 if (config === null || typeof config !== "object") return defaultValue;129 if (config === null || typeof config !== "object") return defaultValue;
134 const value = (config as Record<string, unknown>)[key];130 const value = (config as Record<string, unknown>)[key];
135 return typeof value === "boolean" ? value : defaultValue;131 return typeof value === "boolean" ? value : defaultValue;