|
1 |
| -import { render } from "@/lib/test-utils"; |
2 |
| -import { screen, waitFor } from "@testing-library/react"; |
3 |
| -import { WorkspaceMuxingModel } from "../workspace-muxing-model"; |
4 |
| -import userEvent from "@testing-library/user-event"; |
| 1 | +import { render } from '@/lib/test-utils' |
| 2 | +import { screen, waitFor } from '@testing-library/react' |
| 3 | +import { WorkspaceMuxingModel } from '../workspace-muxing-model' |
| 4 | +import userEvent from '@testing-library/user-event' |
5 | 5 |
|
6 | 6 | test('renders muxing model', async () => {
|
7 | 7 | render(
|
8 |
| - <WorkspaceMuxingModel isArchived={false} workspaceName="fake-workspace" />, |
9 |
| - ); |
10 |
| - expect(screen.getByText(/model muxing/i)).toBeVisible(); |
| 8 | + <WorkspaceMuxingModel isArchived={false} workspaceName="fake-workspace" /> |
| 9 | + ) |
| 10 | + expect(screen.getByText(/model muxing/i)).toBeVisible() |
11 | 11 | expect(
|
12 | 12 | screen.getByText(
|
13 |
| - /select the model you would like to use in this workspace. This section applies only if you are using the MUX endpoint./i, |
14 |
| - ), |
15 |
| - ).toBeVisible(); |
| 13 | + /select the model you would like to use in this workspace. This section applies only if you are using the MUX endpoint./i |
| 14 | + ) |
| 15 | + ).toBeVisible() |
16 | 16 | expect(
|
17 |
| - screen.getByRole("link", { |
| 17 | + screen.getByRole('link', { |
18 | 18 | name: /learn more/i,
|
19 |
| - }), |
20 |
| - ).toBeVisible(); |
| 19 | + }) |
| 20 | + ).toBeVisible() |
21 | 21 |
|
22 | 22 | await userEvent.type(
|
23 |
| - screen.getByRole("textbox", { |
| 23 | + screen.getByRole('textbox', { |
24 | 24 | name: /filter by/i,
|
25 | 25 | }),
|
26 |
| - ".tsx", |
27 |
| - ); |
| 26 | + '.tsx' |
| 27 | + ) |
28 | 28 |
|
29 |
| - await userEvent.click(screen.getByTestId(/workspace-models-dropdown/i)); |
| 29 | + await userEvent.click(screen.getByTestId(/workspace-models-dropdown/i)) |
30 | 30 | await userEvent.click(
|
31 |
| - screen.getByRole("option", { |
| 31 | + screen.getByRole('option', { |
32 | 32 | name: /claude-3.6/i,
|
33 |
| - }), |
34 |
| - ); |
| 33 | + }) |
| 34 | + ) |
35 | 35 |
|
36 |
| - expect(screen.getByRole("button", { name: /add filter/i })).toBeVisible(); |
37 |
| - expect(screen.getByRole("link", { name: /manage providers/i })).toBeVisible(); |
38 |
| - expect(screen.getByRole("button", { name: /revert changes/i })).toBeVisible(); |
39 |
| - expect(screen.getByRole("button", { name: /save/i })).toBeVisible(); |
40 |
| -}); |
| 36 | + expect(screen.getByRole('button', { name: /add filter/i })).toBeVisible() |
| 37 | + expect(screen.getByRole('link', { name: /manage providers/i })).toBeVisible() |
| 38 | + expect(screen.getByRole('button', { name: /revert changes/i })).toBeVisible() |
| 39 | + expect(screen.getByRole('button', { name: /save/i })).toBeVisible() |
| 40 | +}) |
41 | 41 |
|
42 |
| -test("disabled muxing fields and buttons for archived workspace", async () => { |
| 42 | +test('disabled muxing fields and buttons for archived workspace', async () => { |
43 | 43 | render(
|
44 |
| - <WorkspaceMuxingModel isArchived={true} workspaceName="fake-workspace" />, |
45 |
| - ); |
| 44 | + <WorkspaceMuxingModel isArchived={true} workspaceName="fake-workspace" /> |
| 45 | + ) |
46 | 46 |
|
47 |
| - expect(await screen.findByRole("button", { name: /save/i })).toBeDisabled(); |
48 |
| - expect(screen.getByTestId(/workspace-models-dropdown/i)).toBeDisabled(); |
| 47 | + expect(await screen.findByRole('button', { name: /save/i })).toBeDisabled() |
| 48 | + expect(screen.getByTestId(/workspace-models-dropdown/i)).toBeDisabled() |
49 | 49 | expect(
|
50 |
| - await screen.findByRole("button", { name: /add filter/i }), |
51 |
| - ).toBeDisabled(); |
52 |
| -}); |
| 50 | + await screen.findByRole('button', { name: /add filter/i }) |
| 51 | + ).toBeDisabled() |
| 52 | +}) |
53 | 53 |
|
54 |
| -test("submit additional model overrides", async () => { |
| 54 | +test('submit additional model overrides', async () => { |
55 | 55 | render(
|
56 |
| - <WorkspaceMuxingModel isArchived={false} workspaceName="fake-workspace" />, |
57 |
| - ); |
| 56 | + <WorkspaceMuxingModel isArchived={false} workspaceName="fake-workspace" /> |
| 57 | + ) |
58 | 58 |
|
59 |
| - expect(screen.getAllByRole("textbox", { name: /filter by/i }).length).toEqual( |
60 |
| - 1, |
61 |
| - ); |
62 |
| - await userEvent.type( |
63 |
| - screen.getByRole("textbox", { |
64 |
| - name: /filter by/i, |
65 |
| - }), |
66 |
| - ".tsx", |
67 |
| - ); |
68 |
| - await userEvent.click(screen.getByTestId(/workspace-models-dropdown/i)); |
| 59 | + expect(screen.getAllByRole('textbox', { name: /filter by/i }).length).toEqual( |
| 60 | + 1 |
| 61 | + ) |
| 62 | + |
| 63 | + await userEvent.click(screen.getByTestId(/workspace-models-dropdown/i)) |
69 | 64 | await userEvent.click(
|
70 |
| - screen.getByRole("option", { |
| 65 | + screen.getByRole('option', { |
71 | 66 | name: /claude-3.6/i,
|
72 |
| - }), |
73 |
| - ); |
74 |
| - |
75 |
| - await userEvent.click(screen.getByRole("button", { name: /add filter/i })); |
| 67 | + }) |
| 68 | + ) |
| 69 | + await waitFor(() => { |
| 70 | + expect(screen.getByText(/claude-3.6/i)).toBeVisible() |
| 71 | + }) |
76 | 72 |
|
77 |
| - const textFields = await screen.findAllByRole("textbox", { |
| 73 | + await userEvent.click(screen.getByRole('button', { name: /add filter/i })) |
| 74 | + const textFields = await screen.findAllByRole('textbox', { |
78 | 75 | name: /filter by/i,
|
79 |
| - }); |
80 |
| - expect(textFields.length).toEqual(2); |
| 76 | + }) |
| 77 | + expect(textFields.length).toEqual(2) |
81 | 78 | const modelsButton = await screen.findAllByTestId(
|
82 |
| - /workspace-models-dropdown/i, |
83 |
| - ); |
84 |
| - expect(modelsButton.length).toEqual(2); |
| 79 | + /workspace-models-dropdown/i |
| 80 | + ) |
| 81 | + expect(modelsButton.length).toEqual(2) |
| 82 | + |
| 83 | + await userEvent.type(textFields[1] as HTMLFormElement, '.ts') |
85 | 84 |
|
86 |
| - await userEvent.type(textFields[1] as HTMLFormElement, ".ts"); |
87 | 85 | await userEvent.click(
|
88 |
| - (await screen.findByRole("button", { |
| 86 | + (await screen.findByRole('button', { |
89 | 87 | name: /select a model/i,
|
90 |
| - })) as HTMLFormElement, |
91 |
| - ); |
| 88 | + })) as HTMLFormElement |
| 89 | + ) |
92 | 90 |
|
93 | 91 | await userEvent.click(
|
94 |
| - screen.getByRole("option", { |
| 92 | + screen.getByRole('option', { |
95 | 93 | name: /chatgpt-4p/i,
|
96 |
| - }), |
97 |
| - ); |
| 94 | + }) |
| 95 | + ) |
98 | 96 |
|
99 | 97 | await userEvent.click(screen.getByRole('button', { name: /save/i }))
|
100 | 98 |
|
101 | 99 | await waitFor(() => {
|
102 | 100 | expect(
|
103 |
| - screen.getByText(/muxing rules for fake-workspace updated/i), |
104 |
| - ).toBeVisible(); |
105 |
| - }); |
106 |
| -}); |
| 101 | + screen.getByText(/muxing rules for fake-workspace updated/i) |
| 102 | + ).toBeVisible() |
| 103 | + }) |
| 104 | +}) |
0 commit comments