Skip to content

Commit a1f0960

Browse files
authored
Merge pull request #1219 from mito-ds/nate-testing-cleanup
Add pivot tests
2 parents ffc9415 + 27298f7 commit a1f0960

File tree

8 files changed

+275
-79
lines changed

8 files changed

+275
-79
lines changed

mitosheet/src/mito/components/endo/IndexHeaders.tsx

+5
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ const IndexHeaders = (props: {
4040
<div style={indexHeadersStyle}>
4141
{Array(currentSheetView.numRowsRendered).fill(0).map((_, _rowIndex) => {
4242
const rowIndex = currentSheetView.startingRowIndex + _rowIndex;
43+
44+
if (rowIndex >= props.sheetData.numRows) {
45+
return null;
46+
}
47+
4348
const selected = getIsCellSelected(
4449
props.gridState.selections,
4550
rowIndex,

tests/streamlit_ui_tests/features/graph.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ test.describe('Graph Functionality', () => {
112112
await openGraphEditor(mito, page);
113113

114114
await expect(mito.locator('.graph-sidebar-toolbar-content .select-container').nth(1)).toHaveText('Column1');
115-
await expect(mito.locator('.graph-sidebar-toolbar-content .select-container').nth(2)).toHaveText('Column2');
115+
await expect(mito.locator('.graph-sidebar-toolbar-content .select-container').nth(2)).toHaveText('Column2');
116116
})
117117

118118
test('Change Chart type to Linear', async ({ page }) => {

tests/streamlit_ui_tests/features/merge.spec.ts

+8-23
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { FrameLocator, Page, expect, test } from '@playwright/test';
2-
import { awaitResponse, clickButtonAndAwaitResponse, closeTaskpane, getColumnHeaderContainer, getMitoFrame, getMitoFrameWithTestCSV, hasExpectedNumberOfRows, importCSV } from '../utils';
2+
import { awaitResponse, checkColumnCount, checkColumnExists, clickButtonAndAwaitResponse, closeTaskpane, getColumnHeaderContainer, getMitoFrame, getMitoFrameWithTestCSV, hasExpectedNumberOfRows, importCSV } from '../utils';
33

44

55
const changeMergeType = async (mito: FrameLocator, page: Page, mergeType: string) => {
@@ -37,9 +37,7 @@ test.describe('Merge', () => {
3737

3838
await expect(mito.getByText('Merge Dataframes')).toBeVisible();
3939

40-
// Check that Column1 exists
41-
const ch1 = await getColumnHeaderContainer(mito, 'Column1');
42-
await expect(ch1).toBeVisible();
40+
await checkColumnExists(mito, 'Column1');
4341

4442
// Close the taskpane
4543
await closeTaskpane(mito);
@@ -51,12 +49,7 @@ test.describe('Merge', () => {
5149
// Add a merge key
5250
await mito.getByRole('button', { name: '+ Add Merge Keys' }).click();
5351

54-
const newCh1 = await getColumnHeaderContainer(mito, 'Column1');
55-
await expect(newCh1).toBeVisible();
56-
const newCh2 = await getColumnHeaderContainer(mito, 'Column2');
57-
await expect(newCh2).toBeVisible();
58-
const Column3_test_1 = await getColumnHeaderContainer(mito, 'Column3_test_1');
59-
await expect(Column3_test_1).toBeVisible();
52+
await checkColumnExists(mito, ['Column1', 'Column2', 'Column3_test_1']);
6053
});
6154

6255

@@ -73,17 +66,15 @@ test.describe('Merge', () => {
7366
// Wait for the merge to be finished before continuing so adding a column works!
7467
await expect(mito.getByText('df_merge')).toBeVisible();
7568

76-
// Check that Column1 exists
77-
const ch1 = await getColumnHeaderContainer(mito, 'Column1');
78-
await expect(ch1).toBeVisible();
69+
await checkColumnExists(mito, 'Column1');
7970

8071
// Add a column
8172
await mito.locator('[id="mito-toolbar-button-add\\ column\\ to\\ the\\ right"]').getByRole('button', { name: 'Insert' }).click();
8273
await awaitResponse(page);
8374

8475
// Check that the merge table has been updated -- there should be
8576
// 5 columns from merge + 1 added
86-
await expect(mito.locator('.endo-column-header-container')).toHaveCount(6);
77+
await checkColumnCount(mito, 6);
8778

8879
// Reopen the edit merge
8980
await mito.getByText('df_merge').click({button: 'right'});
@@ -92,15 +83,9 @@ test.describe('Merge', () => {
9283
// Add a merge key
9384
await mito.getByRole('button', { name: '+ Add Merge Keys' }).click();
9485

95-
const newCh1 = await getColumnHeaderContainer(mito, 'Column1');
96-
await expect(newCh1).toBeVisible();
97-
const newCh2 = await getColumnHeaderContainer(mito, 'Column2');
98-
await expect(newCh2).toBeVisible();
99-
const Column3_test_1 = await getColumnHeaderContainer(mito, 'Column3_test_1');
100-
await expect(Column3_test_1).toBeVisible();
101-
102-
// Check that there are 5 columns still
103-
await expect(mito.locator('.endo-column-header-container')).toHaveCount(5);
86+
// Check the new columns
87+
await checkColumnExists(mito, ['Column1', 'Column2', 'Column3_test_1']);
88+
await checkColumnCount(mito, 5);
10489
});
10590

10691
test('Change Merge Type', async ({ page }) => {

0 commit comments

Comments
 (0)