Skip to content

Commit cc4aba2

Browse files
authored
Merge pull request #1240 from mito-ds/code-config-tests
Add code config tests
2 parents d13ad63 + b73e1d2 commit cc4aba2

File tree

3 files changed

+29
-19
lines changed

3 files changed

+29
-19
lines changed

mitosheet/src/mito/components/taskpanes/CodeOptions/CodeOptionsTaskpane.tsx

+1-7
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,8 @@ interface CodeOptionsTaskpaneProps {
2929
const CodeOptionsTaskpane = (props: CodeOptionsTaskpaneProps): JSX.Element => {
3030

3131
const [codeOptions, setCodeOptions] = useState(() => props.analysisData.codeOptions);
32-
const [firstRender, setFirstRender] = useState(true);
3332

3433
useDebouncedEffect(() => {
35-
if (firstRender) {
36-
setFirstRender(false);
37-
return;
38-
}
39-
4034
void props.mitoAPI.updateCodeOptions(codeOptions);
4135
}, [codeOptions], 500);
4236

@@ -62,7 +56,7 @@ const CodeOptionsTaskpane = (props: CodeOptionsTaskpaneProps): JSX.Element => {
6256
</Col>
6357
<Col>
6458
<Toggle
65-
value={props.analysisData.codeOptions.as_function}
59+
value={codeOptions.as_function}
6660
onChange={function (): void {
6761
const newCodeOptions = {...codeOptions};
6862
newCodeOptions.as_function = !newCodeOptions.as_function;

tests/streamlit_test.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
st.set_page_config(layout="wide")
55

66

7-
spreadsheet(import_folder='data')
7+
dfs, code = spreadsheet(import_folder='data')
8+
st.code(code)
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,33 @@
1-
import { test } from '@playwright/test';
1+
import { expect, test } from '@playwright/test';
22
import { checkOpenTaskpane, clickTab, getMitoFrameWithTestCSV } from '../utils';
33

44

55
test.describe('Code Config', () => {
6-
test.skip('Test Configure Code', async ({ page }) => {
7-
const mito = await getMitoFrameWithTestCSV(page);
8-
await clickTab(page, mito, 'Code');
6+
test('Configure Code to generate function with new name for function', async ({ page }) => {
7+
const mito = await getMitoFrameWithTestCSV(page);
8+
await clickTab(page, mito, 'Code');
9+
10+
await mito.getByRole('button', { name: 'Configure Code' }).click();
11+
await checkOpenTaskpane(mito, 'Generated Code Options');
12+
13+
await mito.locator('.spacing-row', { hasText: 'Generate Function' }).locator('.toggle').click();
14+
await mito.getByRole('textbox').fill('new name');
915

10-
await mito.getByRole('button', { name: 'Configure Code' }).click();
11-
await checkOpenTaskpane(mito, 'Generated Code Options');
16+
await expect(page.locator('.stCodeBlock')).toContainText('def new_name():');
17+
});
18+
19+
test('Configure Code to generate function with parameters', async ({ page }) => {
20+
const mito = await getMitoFrameWithTestCSV(page);
21+
await clickTab(page, mito, 'Code');
22+
23+
await mito.getByRole('button', { name: 'Configure Code' }).click();
24+
await checkOpenTaskpane(mito, 'Generated Code Options');
25+
26+
await mito.locator('.spacing-row', { hasText: 'Generate Function' }).locator('.toggle').click();
27+
await mito.getByRole('textbox').fill('new name');
28+
await mito.getByText('Add').click();
29+
await mito.locator('.mito-dropdown-item', { hasText: 'CSV Import File Path' }).click();
1230

13-
await mito.locator('.toggle').first().click();
14-
await mito.getByRole('textbox').fill('new name');
15-
16-
// TODO: check some output
17-
});
31+
await expect(page.locator('.stCodeBlock')).toContainText('def new_name(r\'');
32+
});
1833
});

0 commit comments

Comments
 (0)