Skip to content

Commit 129b7fd

Browse files
committed
add scroll sync test
1 parent fc311bc commit 129b7fd

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

packages/main/src/components/AnalyticalTable/AnalyticalTable.cy.tsx

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4304,6 +4304,66 @@ describe('AnalyticalTable', () => {
43044304
cy.focused().should('have.text', 'Before');
43054305
});
43064306

4307+
it('vertical scroll sync', () => {
4308+
cy.mount(<AnalyticalTable columns={columns} data={generateMoreData(100)} />);
4309+
4310+
cy.get('[data-component-name="AnalyticalTableBody"]').scrollTo(0, 2000).should('have.prop', 'scrollTop', 2000);
4311+
cy.get('[data-component-name="AnalyticalTableVerticalScrollbar"]').should('have.prop', 'scrollTop', 2000);
4312+
4313+
cy.get('[data-component-name="AnalyticalTableVerticalScrollbar"]')
4314+
.scrollTo(0, 3000)
4315+
.should('have.prop', 'scrollTop', 3000);
4316+
cy.get('[data-component-name="AnalyticalTableBody"]').should('have.prop', 'scrollTop', 3000);
4317+
4318+
cy.get('[data-component-name="AnalyticalTableContainerWithScrollbar"]').realMouseWheel({ deltaY: 500 });
4319+
cy.get('[data-component-name="AnalyticalTableBody"]').should('have.prop', 'scrollTop', 3500);
4320+
cy.get('[data-component-name="AnalyticalTableVerticalScrollbar"]').should('have.prop', 'scrollTop', 3500);
4321+
4322+
cy.get('[data-component-name="AnalyticalTableVerticalScrollbar"]').realMouseWheel({ deltaY: -1000 });
4323+
cy.get('[data-component-name="AnalyticalTableVerticalScrollbar"]').should('have.prop', 'scrollTop', 2500);
4324+
cy.get('[data-component-name="AnalyticalTableBody"]').should('have.prop', 'scrollTop', 2500);
4325+
4326+
const TestComp = () => {
4327+
const [_data, setData] = useState([]);
4328+
useEffect(() => {
4329+
setTimeout(() => {
4330+
setData(generateMoreData(100));
4331+
}, 100);
4332+
}, []);
4333+
4334+
return (
4335+
<>
4336+
<div style={{ height: '500px' }}>
4337+
<AnalyticalTable
4338+
columns={columns}
4339+
data={_data}
4340+
header={<div>Header</div>}
4341+
visibleRowCountMode="AutoWithEmptyRows"
4342+
/>
4343+
</div>
4344+
</>
4345+
);
4346+
};
4347+
4348+
cy.mount(<TestComp />);
4349+
4350+
cy.get('[data-component-name="AnalyticalTableBody"]').scrollTo(0, 2000).should('have.prop', 'scrollTop', 2000);
4351+
cy.get('[data-component-name="AnalyticalTableVerticalScrollbar"]').should('have.prop', 'scrollTop', 2000);
4352+
4353+
cy.get('[data-component-name="AnalyticalTableVerticalScrollbar"]')
4354+
.scrollTo(0, 3000)
4355+
.should('have.prop', 'scrollTop', 3000);
4356+
cy.get('[data-component-name="AnalyticalTableBody"]').should('have.prop', 'scrollTop', 3000);
4357+
4358+
cy.get('[data-component-name="AnalyticalTableContainerWithScrollbar"]').realMouseWheel({ deltaY: 500 });
4359+
cy.get('[data-component-name="AnalyticalTableBody"]').should('have.prop', 'scrollTop', 3500);
4360+
cy.get('[data-component-name="AnalyticalTableVerticalScrollbar"]').should('have.prop', 'scrollTop', 3500);
4361+
4362+
cy.get('[data-component-name="AnalyticalTableVerticalScrollbar"]').realMouseWheel({ deltaY: -1000 });
4363+
cy.get('[data-component-name="AnalyticalTableVerticalScrollbar"]').should('have.prop', 'scrollTop', 2500);
4364+
cy.get('[data-component-name="AnalyticalTableBody"]').should('have.prop', 'scrollTop', 2500);
4365+
});
4366+
43074367
cypressPassThroughTestsFactory(AnalyticalTable, { data, columns });
43084368
});
43094369

0 commit comments

Comments
 (0)