fix(tests): grid

This commit is contained in:
moklick
2019-10-09 17:36:11 +02:00
parent 4ad90ea951
commit 3eea88d533
5 changed files with 21 additions and 12 deletions
+2 -2
View File
@@ -11,8 +11,8 @@ describe('Advanced Flow Rendering', () => {
it('renders a grid', () => { it('renders a grid', () => {
cy.get('.react-flow__grid'); cy.get('.react-flow__grid');
const gridStroke = Cypress.$('.react-flow__grid path').attr('stroke'); const gridStroke = Cypress.$('.react-flow__grid path').attr('fill');
expect(gridStroke).to.equal('#aaa'); expect(gridStroke).to.equal('#888');
}); });
it('connects nodes', () => { it('connects nodes', () => {
+5 -2
View File
@@ -8,8 +8,11 @@ describe('Basic Flow Rendering', () => {
cy.get('.react-flow__node').children('div').children('.react-flow__handle'); cy.get('.react-flow__node').children('div').children('.react-flow__handle');
}); });
it('does not render a grid', () => { it('renders a grid', () => {
cy.get('.react-flow__grid').should('not.exist'); cy.get('.react-flow__grid');
const gridStroke = Cypress.$('.react-flow__grid path').attr('stroke');
expect(gridStroke).to.equal('#eee');
}); });
it('selects a node', () => { it('selects a node', () => {
+6 -6
View File
@@ -22,7 +22,7 @@ const createGridLines = (width, height, xOffset, yOffset, gap) => {
const createGridDots = (width, height, xOffset, yOffset, gap, size) => { const createGridDots = (width, height, xOffset, yOffset, gap, size) => {
const lineCountX = Math.ceil(width / gap) + 1; const lineCountX = Math.ceil(width / gap) + 1;
const lineCountY = Math.ceil(height / gap) + 1; const lineCountY = Math.ceil(height / gap) + 1;
const values = Array.from({length: lineCountX}, (_, col) => { const values = Array.from({length: lineCountX}, (_, col) => {
const x = col * gap + xOffset; const x = col * gap + xOffset;
return Array.from({length: lineCountY},(_,row)=>{ return Array.from({length: lineCountY},(_,row)=>{
@@ -34,7 +34,7 @@ const createGridDots = (width, height, xOffset, yOffset, gap, size) => {
return values.join(' '); return values.join(' ');
}; };
const Grid = memo(({gap, color, size, style, className, gridStyle}) => { const Grid = memo(({gap, color, size, style, className, backgroundType}) => {
const { const {
width, width,
height, height,
@@ -46,7 +46,7 @@ const Grid = memo(({gap, color, size, style, className, gridStyle}) => {
const xOffset = x % scaledGap; const xOffset = x % scaledGap;
const yOffset = y % scaledGap; const yOffset = y % scaledGap;
const isLines = gridStyle === 'lines'; const isLines = backgroundType === 'lines';
const path = isLines const path = isLines
? createGridLines(width, height, xOffset, yOffset, scaledGap) ? createGridLines(width, height, xOffset, yOffset, scaledGap)
: createGridDots(width, height, xOffset, yOffset, scaledGap, size); : createGridDots(width, height, xOffset, yOffset, scaledGap, size);
@@ -69,16 +69,16 @@ Grid.propTypes = {
size: PropTypes.number, size: PropTypes.number,
style: PropTypes.object, style: PropTypes.object,
className: PropTypes.string, className: PropTypes.string,
gridStyle: PropTypes.oneOf(['lines', 'dots']), backgroundType: PropTypes.oneOf(['lines', 'dots']),
}; };
Grid.defaultProps = { Grid.defaultProps = {
gap: 24, gap: 24,
color: '#999', color: '#aaa',
size: .5, size: .5,
style: {}, style: {},
className: null, className: null,
gridStyle: 'dots', backgroundType: 'dots',
}; };
export default Grid; export default Grid;
+7 -1
View File
@@ -12,7 +12,13 @@ const BackgroundRenderer = memo(({
backgroundType, ...rest backgroundType, ...rest
}) => { }) => {
const BackgroundComponent = bgComponents[backgroundType]; const BackgroundComponent = bgComponents[backgroundType];
return <BackgroundComponent {...rest} />
return (
<BackgroundComponent
backgroundType={backgroundType}
{...rest}
/>
);
}); });
BackgroundRenderer.displayName = 'BackgroundRenderer'; BackgroundRenderer.displayName = 'BackgroundRenderer';
+1 -1
View File
@@ -100,7 +100,7 @@ ReactFlow.defaultProps = {
connectionLineStyle: {}, connectionLineStyle: {},
deleteKeyCode: 8, deleteKeyCode: 8,
selectionKeyCode: 16, selectionKeyCode: 16,
backgroundColor: '#999', backgroundColor: '#eee',
backgroundGap: 24, backgroundGap: 24,
showBackground: true, showBackground: true,
backgroundType: 'dots' backgroundType: 'dots'