Skip to content

Commit ce82f3e

Browse files
committed
Merge branch 'main' into 25.13
2 parents b107ca4 + 6660920 commit ce82f3e

32 files changed

Lines changed: 680 additions & 243 deletions

packages/backend.ai-ui/package.json

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,12 @@
7575
"devDependencies": {
7676
"@jest/expect": "30.0.0-beta.3",
7777
"@jest/globals": "30.0.0-beta.3",
78-
"@storybook/addon-docs": "^9.0.0",
79-
"@storybook/addon-essentials": "^8.4.5",
80-
"@storybook/addon-interactions": "^8.4.5",
81-
"@storybook/addon-links": "^8.4.5",
82-
"@storybook/addon-onboarding": "^9.0.0",
83-
"@storybook/react-vite": "^9.0.0",
78+
"@storybook/addon-docs": "^9.1.1",
79+
"@storybook/addon-essentials": "^8.6.14",
80+
"@storybook/addon-interactions": "^8.6.14",
81+
"@storybook/addon-links": "^9.1.1",
82+
"@storybook/addon-onboarding": "^9.1.1",
83+
"@storybook/react-vite": "^9.1.1",
8484
"@testing-library/jest-dom": "^6.6.3",
8585
"@testing-library/react": "^16.2.0",
8686
"@types/big.js": "^6.2.2",
@@ -89,26 +89,28 @@
8989
"@types/react-dom": "^19.0.3",
9090
"@types/react-relay": "^18.2.1",
9191
"@types/react-resizable": "^3.0.8",
92+
"@types/relay-test-utils": "^19.0.0",
9293
"@vitejs/plugin-react": "^4.5.0",
9394
"ahooks": "^3.8.4",
9495
"dayjs": "^1.11.13",
9596
"eslint": "^8.57.1",
9697
"eslint-config-react-app": "^7.0.1",
9798
"eslint-plugin-import": "^2.31.0",
9899
"eslint-plugin-react": "^7.37.4",
99-
"eslint-plugin-storybook": "^9.0.0",
100+
"eslint-plugin-storybook": "^9.1.1",
100101
"fast-glob": "^3.3.3",
101102
"graphql": "^16.10.0",
102103
"jest": "^29.7.0",
103104
"jest-environment-jsdom": "^29.7.0",
104-
"storybook": "^9.0.0",
105+
"storybook": "^9.1.1",
105106
"ts-jest": "^29.2.5",
106107
"tus-js-client": "^4.1.0",
107108
"typescript": "^5.7.2",
108109
"vite": "^6.3.5",
109110
"vite-plugin-dts": "^4.5.4",
110111
"vite-plugin-relay-lite": "^0.11.0",
111-
"vite-plugin-svgr": "^4.3.0"
112+
"vite-plugin-svgr": "^4.3.0",
113+
"relay-test-utils": "^20.1.1"
112114
},
113115
"type": "module",
114116
"jest": {
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
import { BAISessionTypeTagStoriesQuery } from '../../__generated__/BAISessionTypeTagStoriesQuery.graphql';
2+
import RelayResolver from '../../tests/RelayResolver';
3+
import BAISessionTypeTag from './BAISessionTypeTag';
4+
import { Meta, StoryObj } from '@storybook/react-vite/*';
5+
import { graphql, useLazyLoadQuery } from 'react-relay';
6+
7+
type Story = StoryObj<typeof BAISessionTypeTag>;
8+
9+
const meta: Meta<typeof BAISessionTypeTag> = {
10+
title: 'Fragments/BAISessionTypeTag',
11+
component: BAISessionTypeTag,
12+
parameters: {
13+
layout: 'centered',
14+
},
15+
};
16+
17+
const QueryResolver = () => {
18+
const { compute_session_node } =
19+
useLazyLoadQuery<BAISessionTypeTagStoriesQuery>(
20+
graphql`
21+
query BAISessionTypeTagStoriesQuery {
22+
compute_session_node(id: "test-id") {
23+
...BAISessionTypeTagFragment
24+
}
25+
}
26+
`,
27+
{},
28+
);
29+
return (
30+
compute_session_node && (
31+
<BAISessionTypeTag sessionFrgmt={compute_session_node} />
32+
)
33+
);
34+
};
35+
36+
export const Default: Story = {
37+
name: 'INTERACTIVE',
38+
render: () => {
39+
return (
40+
<RelayResolver
41+
mockResolvers={{
42+
ComputeSessionNode: () => ({ type: 'INTERACTIVE' }),
43+
}}
44+
>
45+
<QueryResolver />
46+
</RelayResolver>
47+
);
48+
},
49+
};
50+
51+
export const Batch: Story = {
52+
name: 'BATCH',
53+
render: () => {
54+
return (
55+
<RelayResolver
56+
mockResolvers={{
57+
ComputeSessionNode: () => ({ type: 'BATCH' }),
58+
}}
59+
>
60+
<QueryResolver />
61+
</RelayResolver>
62+
);
63+
},
64+
};
65+
66+
export const Inference: Story = {
67+
name: 'INFERENCE',
68+
render: () => {
69+
return (
70+
<RelayResolver
71+
mockResolvers={{
72+
ComputeSessionNode: () => ({ type: 'INFERENCE' }),
73+
}}
74+
>
75+
<QueryResolver />
76+
</RelayResolver>
77+
);
78+
},
79+
};
80+
81+
export default meta;

packages/backend.ai-ui/src/components/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ export type { BAICardProps } from './BAICard';
55
export { default as BAIResourceWithSteppedProgress } from './BAIResourceWithSteppedProgress';
66
export type { BAIResourceWithSteppedProgressProps } from './BAIResourceWithSteppedProgress';
77
export * from './Table';
8-
98
export * from './fragments';
10-
export * from './tests';
119
export * from './provider';
1210
export * from './unsafe';

packages/backend.ai-ui/src/components/provider/BAIClientProvider/hooks/useConnectedBAIClient.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,12 @@ import { BAIClient } from '../types';
33
import { use, useContext } from 'react';
44

55
const useConnectedBAIClient = (): BAIClient => {
6-
try {
7-
const baiClientPromise = useContext(BAIClientContext);
8-
if (!baiClientPromise) {
9-
throw new Error('useBAIClient must be used within a BAIClientProvider');
10-
}
11-
const baiClient = use(baiClientPromise);
12-
return baiClient;
13-
} catch (error) {
14-
console.error('Error using BAI Client:', error);
15-
throw error;
6+
const baiClientPromise = useContext(BAIClientContext);
7+
if (!baiClientPromise) {
8+
throw new Error('useBAIClient must be used within a BAIClientProvider');
169
}
10+
const baiClient = use(baiClientPromise);
11+
return baiClient;
1712
};
1813

1914
export default useConnectedBAIClient;

packages/backend.ai-ui/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ export * from './components';
44
export * from './helper';
55
export * from './hooks';
66
export * from './icons';
7+
export * from './tests';

packages/backend.ai-ui/src/components/tests/BAITestButton.tsx renamed to packages/backend.ai-ui/src/tests/BAITestButton.tsx

File renamed without changes.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { Suspense } from 'react';
2+
import { RelayEnvironmentProvider } from 'react-relay';
3+
import {
4+
createMockEnvironment,
5+
MockPayloadGenerator,
6+
MockResolvers,
7+
} from 'relay-test-utils';
8+
9+
export interface RelayResolverProps {
10+
children?: React.ReactNode;
11+
mockResolvers?: MockResolvers;
12+
}
13+
14+
const RelayResolver = ({
15+
children,
16+
mockResolvers = {},
17+
}: RelayResolverProps) => {
18+
const environment = createMockEnvironment();
19+
environment.mock.queueOperationResolver((operation) =>
20+
MockPayloadGenerator.generate(operation, mockResolvers),
21+
);
22+
23+
return (
24+
<RelayEnvironmentProvider environment={environment}>
25+
<Suspense fallback="Loading...">{children}</Suspense>
26+
</RelayEnvironmentProvider>
27+
);
28+
};
29+
30+
export default RelayResolver;
File renamed without changes.

0 commit comments

Comments
 (0)