Skip to content

Commit 31157c8

Browse files
authored
Merge pull request #34 from SubBoost/ryan/dev
Align TypeScript test fixtures
2 parents 98fe02f + b5c8056 commit 31157c8

6 files changed

Lines changed: 20 additions & 16 deletions

File tree

packages/core/src/generator/index.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ describe("generateClashConfig", () => {
470470
alterId: 0,
471471
cipher: "auto",
472472
"client-fingerprint": 1,
473-
} as ParsedNode,
473+
} as unknown as ParsedNode,
474474
{
475475
name: "VLESS TCP",
476476
type: "vless",

packages/core/src/generator/rules.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ describe("rule generator", () => {
468468
{
469469
id: "custom-set",
470470
name: "Custom Set",
471-
behavior: "classical",
471+
behavior: "classical" as never,
472472
path: "https://rules.example.com/custom.yaml",
473473
target: { kind: "custom", id: "regional" },
474474
noResolve: true,
@@ -504,7 +504,7 @@ describe("rule generator", () => {
504504
{
505505
id: "custom-set",
506506
name: "Custom Set",
507-
behavior: "classical",
507+
behavior: "classical" as never,
508508
path: "https://rules.example.com/custom.yaml",
509509
target: { kind: "custom", id: "regional" },
510510
noResolve: true,

packages/core/src/templates/config-template.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ describe("validateSubBoostTemplateConfig", () => {
182182
expect(result.ok).toBe(true);
183183
if (!result.ok) return;
184184
expect(result.config.hiddenProxyGroups).toEqual([]);
185-
expect(result.config.proxyGroupAdvanced[moduleId]).toEqual({ sourceIds: ["source-a"] });
185+
expect(result.config.proxyGroupAdvanced?.[moduleId]).toEqual({ sourceIds: ["source-a"] });
186186
expect(result.config.customRuleSets).toEqual([]);
187187
expect(result.config.builtinRuleEdits).toEqual({});
188188
expect(result.config.proxyGroupNameOverrides).toEqual({});

packages/ui/src/product/converter/advanced-mode/sections/proxy-group-advanced-panel-interactions.test.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,10 @@ function node(name: string): ParsedNode {
7979
} as ParsedNode;
8080
}
8181

82-
function flattenElements(value: React.ReactNode): React.ReactElement[] {
83-
const out: React.ReactElement[] = [];
82+
type TestElement = React.ReactElement<Record<string, any>>;
83+
84+
function flattenElements(value: React.ReactNode): TestElement[] {
85+
const out: TestElement[] = [];
8486
const visit = (item: React.ReactNode): void => {
8587
if (Array.isArray(item)) {
8688
item.forEach(visit);
@@ -91,7 +93,7 @@ function flattenElements(value: React.ReactNode): React.ReactElement[] {
9193
visit((item.type as (props: unknown) => React.ReactNode)(item.props));
9294
return;
9395
}
94-
out.push(item);
96+
out.push(item as TestElement);
9597
visit((item.props as { children?: React.ReactNode }).children);
9698
};
9799
visit(value);

packages/ui/src/product/converter/advanced-mode/sections/proxy-groups-module-card.test.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ vi.mock("./proxy-groups-module-rules-panel", () => ({
7373

7474
import { ProxyGroupsModuleCard } from "./proxy-groups-module-card";
7575

76+
type ModuleCardProps = React.ComponentProps<typeof ProxyGroupsModuleCard>;
77+
7678
const baseModule: ProxyGroupModule = {
7779
id: "gemini",
7880
name: "Gemini",
@@ -86,7 +88,7 @@ const baseModule: ProxyGroupModule = {
8688
],
8789
};
8890

89-
function props(overrides: Record<string, unknown> = {}) {
91+
function props(overrides: Partial<ModuleCardProps> = {}): ModuleCardProps {
9092
return {
9193
module: baseModule,
9294
display: { full: "Gemini Display" },
@@ -183,10 +185,11 @@ describe("ProxyGroupsModuleCard", () => {
183185
});
184186

185187
it("handles optional description editing and advanced rule rendering", () => {
188+
const onChangeEditingDescription = vi.fn();
186189
const editingHandlers = props({
187190
isEditing: true,
188191
editingDescription: "Draft description",
189-
onChangeEditingDescription: vi.fn(),
192+
onChangeEditingDescription,
190193
isRulesExpanded: false,
191194
});
192195
renderToStaticMarkup(React.createElement(ProxyGroupsModuleCard, editingHandlers));
@@ -200,16 +203,15 @@ describe("ProxyGroupsModuleCard", () => {
200203
descriptionInput.onChange({ target: { value: "Updated description" } });
201204
descriptionInput.onKeyDown({ key: "Enter" });
202205
descriptionInput.onKeyDown({ key: "Escape" });
203-
expect(editingHandlers.onChangeEditingDescription).toHaveBeenCalledWith(
204-
"Updated description",
205-
);
206+
expect(onChangeEditingDescription).toHaveBeenCalledWith("Updated description");
206207
expect(editingHandlers.onCommitEditing).toHaveBeenCalled();
207208
expect(editingHandlers.onCancelEditing).toHaveBeenCalled();
208209

209210
mocks.inputs = [];
211+
const onChangeEmptyDescription = vi.fn();
210212
const emptyDescriptionHandlers = props({
211213
isEditing: true,
212-
onChangeEditingDescription: vi.fn(),
214+
onChangeEditingDescription: onChangeEmptyDescription,
213215
isRulesExpanded: false,
214216
});
215217
renderToStaticMarkup(
@@ -284,7 +286,7 @@ describe("ProxyGroupsModuleCard", () => {
284286
ProxyGroupsModuleCard,
285287
props({
286288
description: "Override description",
287-
module: { ...baseModule, description: undefined },
289+
module: { ...baseModule, description: undefined as never },
288290
display: { full: "Override" },
289291
})
290292
)
@@ -297,7 +299,7 @@ describe("ProxyGroupsModuleCard", () => {
297299
props({
298300
extraRules: [],
299301
manualRules: [],
300-
module: { ...baseModule, description: undefined, rules: [] },
302+
module: { ...baseModule, description: undefined as never, rules: [] },
301303
rulesContentOverride: null,
302304
rulesCountOverride: 0,
303305
})

packages/ui/src/product/converter/advanced-mode/sections/proxy-groups-rules-library.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,7 @@ describe("ProxyGroupsRulesLibrary", () => {
572572
expect(renderLibrary().html).toContain("域名");
573573

574574
vi.clearAllMocks();
575-
mocks.interactions = {};
575+
mocks.interactions = { ruleAdded: vi.fn() };
576576
mocks.store.customRuleSets = [];
577577
mocks.search.searchResults = [telegramRule];
578578
renderLibrary({ 0: [telegramRule], 1: "custom:custom-1" });

0 commit comments

Comments
 (0)