Skip to content

Commit d8dc823

Browse files
committed
cleanup and update e2e - wip
1 parent 8fb2ec4 commit d8dc823

File tree

2 files changed

+38
-68
lines changed

2 files changed

+38
-68
lines changed

packages/compass-data-modeling/src/components/diagram-editor.tsx

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -122,17 +122,14 @@ const DiagramEditor: React.FunctionComponent<{
122122
editErrors?: string[];
123123
onRetryClick: () => void;
124124
onCancelClick: () => void;
125-
onApplyClick: (edit: Omit<Edit, 'id' | 'timestamp'>) => void;
126125
onApplyInitialLayout: (positions: Record<string, [number, number]>) => void;
127126
onMoveCollection: (ns: string, newPosition: [number, number]) => void;
128127
}> = ({
129128
diagramLabel,
130129
step,
131130
model,
132-
editErrors,
133131
onRetryClick,
134132
onCancelClick,
135-
onApplyClick,
136133
onApplyInitialLayout,
137134
onMoveCollection,
138135
}) => {
@@ -353,42 +350,6 @@ const DiagramEditor: React.FunctionComponent<{
353350
}}
354351
/>
355352
</div>
356-
<div className={editorContainerStyles} data-testid="apply-editor">
357-
<div className={editorContainerPlaceholderButtonStyles}>
358-
<Button
359-
onClick={applyPlaceholder('AddRelationship')}
360-
data-testid="placeholder-addrelationship-button"
361-
>
362-
Add relationship
363-
</Button>
364-
<Button
365-
onClick={applyPlaceholder('RemoveRelationship')}
366-
data-testid="placeholder-removerelationship-button"
367-
>
368-
Remove relationship
369-
</Button>
370-
</div>
371-
<div>
372-
<CodemirrorMultilineEditor
373-
language="json"
374-
text={applyInput}
375-
onChangeText={setApplyInput}
376-
maxLines={10}
377-
></CodemirrorMultilineEditor>
378-
</div>
379-
<div className={editorContainerApplyContainerStyles}>
380-
{editErrors && <ErrorSummary errors={editErrors} />}
381-
<Button
382-
onClick={() => {
383-
onApplyClick(JSON.parse(applyInput));
384-
}}
385-
data-testid="apply-button"
386-
disabled={!isEditValid}
387-
>
388-
Apply
389-
</Button>
390-
</div>
391-
</div>
392353
</div>
393354
);
394355
}
@@ -416,7 +377,6 @@ export default connect(
416377
{
417378
onRetryClick: retryAnalysis,
418379
onCancelClick: cancelAnalysis,
419-
onApplyClick: applyEdit,
420380
onApplyInitialLayout: applyInitialLayout,
421381
onMoveCollection: moveCollection,
422382
}

packages/compass-e2e-tests/tests/data-modeling-tab.test.ts

Lines changed: 38 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,15 @@ import {
1717
waitForFileDownload,
1818
} from '../helpers/downloads';
1919
import { readFileSync } from 'fs';
20+
import { first } from 'lodash';
21+
22+
interface Node {
23+
id: string;
24+
position: { x: number; y: number };
25+
}
2026

2127
type DiagramInstance = {
22-
getNodes: () => Array<{
23-
id: string;
24-
}>;
28+
getNodes: () => Array<Node>;
2529
};
2630

2731
async function setupDiagram(
@@ -70,7 +74,7 @@ async function setupDiagram(
7074
await dataModelEditor.waitForDisplayed();
7175
}
7276

73-
async function getDiagramNodes(browser: CompassBrowser): Promise<string[]> {
77+
async function getDiagramNodes(browser: CompassBrowser): Promise<Node[]> {
7478
const nodes = await browser.execute(function (selector) {
7579
const node = document.querySelector(selector);
7680
if (!node) {
@@ -80,7 +84,7 @@ async function getDiagramNodes(browser: CompassBrowser): Promise<string[]> {
8084
node as Element & { _diagram: DiagramInstance }
8185
)._diagram.getNodes();
8286
}, Selectors.DataModelEditor);
83-
return nodes.map((x) => x.id);
87+
return nodes;
8488
}
8589

8690
describe('Data Modeling tab', function () {
@@ -118,7 +122,7 @@ describe('Data Modeling tab', function () {
118122
}
119123
});
120124

121-
it('creates a new data model using an existing connection', async function () {
125+
it.only('creates a new data model using an existing connection', async function () {
122126
const dataModelName = 'Test Data Model';
123127
await setupDiagram(browser, {
124128
diagramName: dataModelName,
@@ -131,46 +135,51 @@ describe('Data Modeling tab', function () {
131135

132136
let nodes = await getDiagramNodes(browser);
133137
expect(nodes).to.have.lengthOf(2);
134-
expect(nodes).to.deep.equal([
135-
'test.testCollection1',
136-
'test.testCollection2',
137-
]);
138+
expect(nodes[0].id).to.equal('test.testCollection1');
139+
expect(nodes[1].id).to.equal('test.testCollection2');
138140

139141
// Apply change to the model
140-
const newModel = {
141-
type: 'SetModel',
142-
model: {
143-
collections: [],
144-
relationships: [],
145-
},
142+
const originalPosition = {
143+
x: Math.round(nodes[0].position.x),
144+
y: Math.round(nodes[0].position.y),
146145
};
147-
await browser.setCodemirrorEditorValue(
148-
Selectors.DataModelApplyEditor,
149-
JSON.stringify(newModel)
150-
);
151-
await browser.clickVisible(Selectors.DataModelEditorApplyButton);
146+
console.log('Before applying change to the model');
147+
console.log({ originalPosition });
148+
await browser.actions([
149+
browser
150+
.action('pointer')
151+
.move({
152+
origin: dataModelEditor,
153+
...originalPosition,
154+
})
155+
.down()
156+
.move(100, 0) // Move right by 100 pixels
157+
.up(),
158+
]);
152159
await browser.waitForAnimations(dataModelEditor);
153160

161+
const newPosition = { x: originalPosition.x + 100, y: originalPosition.y };
162+
console.log('After applying change to the model');
163+
154164
// Verify that the model is updated
155165
nodes = await getDiagramNodes(browser);
156-
expect(nodes).to.have.lengthOf(0);
166+
expect(nodes).to.have.lengthOf(2);
167+
expect(nodes[0].position).to.equal(newPosition);
157168

158169
// Undo the change
159170
await browser.clickVisible(Selectors.DataModelUndoButton);
160171
await browser.waitForAnimations(dataModelEditor);
161172
nodes = await getDiagramNodes(browser);
162173
expect(nodes).to.have.lengthOf(2);
163-
expect(nodes).to.deep.equal([
164-
'test.testCollection1',
165-
'test.testCollection2',
166-
]);
174+
expect(nodes[0].position).to.equal(originalPosition);
167175

168176
// Redo the change
169177
await browser.waitForAriaDisabled(Selectors.DataModelRedoButton, false);
170178
await browser.clickVisible(Selectors.DataModelRedoButton);
171179
await browser.waitForAnimations(dataModelEditor);
172180
nodes = await getDiagramNodes(browser);
173-
expect(nodes).to.have.lengthOf(0);
181+
expect(nodes).to.have.lengthOf(2);
182+
expect(nodes[0].position).to.equal(newPosition);
174183

175184
// Open a new tab
176185
await browser.openNewTab();
@@ -181,7 +190,8 @@ describe('Data Modeling tab', function () {
181190

182191
// Verify that the diagram has the latest changes
183192
nodes = await getDiagramNodes(browser);
184-
expect(nodes).to.have.lengthOf(0);
193+
expect(nodes).to.have.lengthOf(2);
194+
expect(nodes[0].position).to.equal(newPosition);
185195

186196
// Open a new tab
187197
await browser.openNewTab();

0 commit comments

Comments
 (0)