tests and build

This commit is contained in:
yuneng-jiang 2025-12-31 14:53:52 -08:00
parent e20254b4c8
commit 16f17fc1b8
4 changed files with 34 additions and 32 deletions

View file

@ -9,34 +9,24 @@ vi.mock("@/components/networking", () => ({
credentialListCall: vi.fn().mockResolvedValue({ credentials: [] }),
modelInfoCall: vi.fn().mockResolvedValue({ data: [] }),
modelCostMap: vi.fn().mockResolvedValue({}),
modelMetricsCall: vi.fn().mockResolvedValue({ data: [], all_api_bases: [] }),
streamingModelMetricsCall: vi.fn().mockResolvedValue({ data: [], all_api_bases: [] }),
modelExceptionsCall: vi.fn().mockResolvedValue({ data: [], exception_types: [] }),
modelMetricsSlowResponsesCall: vi.fn().mockResolvedValue([]),
getPassThroughEndpointsCall: vi.fn().mockResolvedValue({ endpoints: {} }),
getCallbacksCall: vi.fn().mockResolvedValue({ router_settings: {} }),
setCallbacksCall: vi.fn().mockResolvedValue(undefined),
modelSettingsCall: vi.fn().mockResolvedValue([]),
adminGlobalActivityExceptions: vi.fn().mockResolvedValue({ sum_num_rate_limit_exceptions: 0, daily_data: [] }),
adminGlobalActivityExceptionsPerDeployment: vi.fn().mockResolvedValue([]),
allEndUsersCall: vi.fn().mockResolvedValue([]),
latestHealthChecksCall: vi.fn().mockResolvedValue({ latest_health_checks: {} }),
getPassThroughEndpointsCall: vi.fn().mockResolvedValue({ endpoints: {} }),
getGuardrailsList: vi.fn().mockResolvedValue([]),
tagListCall: vi.fn().mockResolvedValue([]),
modelAvailableCall: vi.fn().mockResolvedValue({ data: [] }),
modelHubCall: vi.fn().mockResolvedValue({ data: [] }),
getModelCostMapReloadStatus: vi.fn().mockResolvedValue({
scheduled: false,
interval_hours: null,
last_run: null,
next_run: null,
}),
getUiSettings: vi.fn().mockResolvedValue({ values: {} }),
}));
vi.mock("@/app/(dashboard)/models-and-endpoints/components/ModelAnalyticsTab/ModelAnalyticsTab", () => ({
default: () => null,
}));
vi.mock("@/components/add_model/add_auto_router_tab", () => ({
default: () => null,
}));
vi.mock("@/components/add_model/AddModelForm", () => ({
default: () => null,
}));
vi.mock("@/app/(dashboard)/hooks/useTeams", () => ({
default: () => ({
teams: [],
@ -54,6 +44,16 @@ vi.mock("@/app/(dashboard)/hooks/uiSettings/useUISettings", () => ({
useUISettings: () => mockUseUISettings(),
}));
const mockUseModelCostMap = vi.fn();
vi.mock("@/app/(dashboard)/hooks/models/useModelCostMap", () => ({
useModelCostMap: () => mockUseModelCostMap(),
}));
const mockUseAuthorized = vi.fn();
vi.mock("@/app/(dashboard)/hooks/useAuthorized", () => ({
default: () => mockUseAuthorized(),
}));
const createQueryClient = () =>
new QueryClient({
defaultOptions: { queries: { retry: false, gcTime: 0 } },
@ -69,6 +69,17 @@ describe("ModelsAndEndpointsView", () => {
mockUseUISettings.mockReturnValue({
data: { values: {} },
});
mockUseModelCostMap.mockReturnValue({
data: {},
isLoading: false,
error: null,
});
mockUseAuthorized.mockReturnValue({
accessToken: "123",
token: "123",
userRole: "Admin",
userId: "123",
});
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(global as any).ResizeObserver = class {
observe() {}
@ -82,10 +93,7 @@ describe("ModelsAndEndpointsView", () => {
const { findByText } = render(
<QueryClientProvider client={queryClient}>
<ModelsAndEndpointsView
accessToken="123"
token="123"
userRole="123"
userID="123"
modelData={{ data: [] }}
keys={[]}
setModelData={() => {}}

View file

@ -1,6 +1,6 @@
import { useCredentials } from "@/app/(dashboard)/hooks/credentials/useCredentials";
import { useModelsInfo } from "@/app/(dashboard)/hooks/models/useModels";
import { useModelCostMap } from "@/app/(dashboard)/hooks/models/useModelCostMap";
import { useModelsInfo } from "@/app/(dashboard)/hooks/models/useModels";
import { useUISettings } from "@/app/(dashboard)/hooks/uiSettings/useUISettings";
import AllModelsTab from "@/app/(dashboard)/models-and-endpoints/components/AllModelsTab";
import ModelRetrySettingsTab from "@/app/(dashboard)/models-and-endpoints/components/ModelRetrySettingsTab";
@ -17,7 +17,7 @@ import { useQueryClient } from "@tanstack/react-query";
import { Col, Grid, Icon, Tab, TabGroup, TabList, TabPanel, TabPanels, Text } from "@tremor/react";
import type { UploadProps } from "antd";
import { Form, Typography } from "antd";
import React, { useEffect, useRef, useState } from "react";
import React, { useEffect, useState } from "react";
import AddModelTab from "../../../components/add_model/add_model_tab";
import HealthCheckComponent from "../../../components/model_dashboard/HealthCheckComponent";
import ModelGroupAliasSettings from "../../../components/model_group_alias_settings";

View file

@ -6,17 +6,14 @@ import { useState } from "react";
import ModelsAndEndpointsView from "@/app/(dashboard)/models-and-endpoints/ModelsAndEndpointsView";
const ModelsAndEndpointsPage = () => {
const { token, accessToken, userRole, userId, premiumUser } = useAuthorized();
const { token, premiumUser } = useAuthorized();
const [keys, setKeys] = useState<null | any[]>([]);
const { teams } = useTeams();
return (
<ModelsAndEndpointsView
accessToken={accessToken}
token={token}
userRole={userRole}
userID={userId}
modelData={{ data: [] }}
keys={keys}
setModelData={() => {}}

View file

@ -323,11 +323,8 @@ export default function CreateKeyPage() {
/>
) : page == "models" ? (
<OldModelDashboard
userID={userID}
userRole={userRole}
token={token}
keys={keys}
accessToken={accessToken}
modelData={modelData}
setModelData={setModelData}
premiumUser={premiumUser}