Skip to content

Commit 1a03f89

Browse files
committed
attempt to fix e2e
1 parent 38703f2 commit 1a03f89

File tree

3 files changed

+95
-91
lines changed

3 files changed

+95
-91
lines changed

apps/remix-ide-e2e/src/tests/file_explorer_dragdrop.test.ts

Lines changed: 92 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -3,101 +3,104 @@ import { NightwatchBrowser } from 'nightwatch'
33
import init from '../helpers/init'
44

55
const checkBrowserIsChrome = function (browser: NightwatchBrowser) {
6-
return browser.browserName.indexOf('chrome') > -1
6+
return browser.browserName.indexOf('chrome') > -1
77
}
88

99

1010
module.exports = {
11-
'@disabled': true,
12-
before: function (browser: NightwatchBrowser, done: VoidFunction) {
13-
init(browser, done)
14-
},
15-
'drag and drop file from root to contracts #group1 ': function (browser: NightwatchBrowser) {
16-
if (checkBrowserIsChrome(browser)) {
17-
browser
18-
.clickLaunchIcon('filePanel')
19-
.waitForElementVisible('*[data-id="treeViewLitreeViewItemcontracts"]')
20-
.findElement('*[data-id="treeViewLitreeViewItemcontracts"]', (el) => {
21-
console.log((el as any).value.getId())
22-
const id = (el as any).value.getId()
23-
browser
24-
.waitForElementVisible('li[data-id="treeViewLitreeViewItemREADME.txt"]')
25-
.dragAndDrop('li[data-id="treeViewLitreeViewItemREADME.txt"]', id)
26-
.waitForElementPresent('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok')
27-
.execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() })
28-
.waitForElementVisible('li[data-id="treeViewLitreeViewItemcontracts/README.txt"]')
29-
})
30-
}
31-
},
11+
'@disabled': true,
12+
before: function (browser: NightwatchBrowser, done: VoidFunction) {
13+
init(browser, done)
14+
},
15+
'drag and drop file from root to contracts #group1 ': function (browser: NightwatchBrowser) {
16+
if (checkBrowserIsChrome(browser)) {
17+
browser
18+
.clickLaunchIcon('filePanel')
19+
.waitForElementVisible('*[data-id="treeViewLitreeViewItemcontracts"]')
20+
.findElement('*[data-id="treeViewLitreeViewItemcontracts"]', (el) => {
21+
console.log((el as any).value.getId())
22+
const id = (el as any).value.getId()
23+
browser
24+
.waitForElementVisible('li[data-id="treeViewLitreeViewItemREADME.txt"]')
25+
.dragAndDrop('li[data-id="treeViewLitreeViewItemREADME.txt"]', id)
26+
.waitForElementPresent('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok')
27+
.execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() })
28+
.waitForElementVisible('li[data-id="treeViewLitreeViewItemcontracts/README.txt"]')
29+
})
30+
}
31+
},
3232

33-
'drag and drop file from contracts to root #group1': function (browser: NightwatchBrowser) {
34-
if (checkBrowserIsChrome(browser)) {
35-
browser.findElement('*[data-id="treeViewUltreeViewMenu"]', (el) => {
36-
console.log((el as any).value.getId())
37-
const id = (el as any).value.getId()
38-
browser
39-
.waitForElementVisible('li[data-id="treeViewLitreeViewItemcontracts/1_Storage.sol"]')
40-
.dragAndDrop('li[data-id="treeViewLitreeViewItemcontracts/1_Storage.sol"]', id)
41-
.waitForElementPresent('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok')
42-
.execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() })
43-
})
44-
browser.pause(1000)
45-
.waitForElementVisible('li[data-id="treeViewLitreeViewItem1_Storage.sol"]')
46-
}
47-
},
48-
'drag and drop scripts from root to contracts #group1': function (browser: NightwatchBrowser) {
49-
if (checkBrowserIsChrome(browser)) {
50-
browser
51-
.waitForElementVisible('*[data-id="treeViewLitreeViewItemcontracts"]')
52-
.findElement('*[data-id="treeViewLitreeViewItemcontracts"]', (el) => {
53-
console.log((el as any).value.getId())
54-
const id = (el as any).value.getId()
55-
browser
56-
.waitForElementVisible('li[data-id="treeViewLitreeViewItemscripts"]')
57-
.dragAndDrop('li[data-id="treeViewLitreeViewItemscripts"]', id)
58-
.waitForElementPresent('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok')
59-
.execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() })
60-
.waitForElementVisible('li[data-id="treeViewLitreeViewItemcontracts/scripts"]')
61-
})
62-
}
63-
},
64-
'drag scripts from contracts to root #group1': function (browser: NightwatchBrowser) {
65-
if (checkBrowserIsChrome(browser)) {
66-
browser.findElement('*[data-id="treeViewUltreeViewMenu"]', (el) => {
67-
console.log((el as any).value.getId())
68-
const id = (el as any).value.getId()
69-
browser
70-
.waitForElementVisible('li[data-id="treeViewLitreeViewItemcontracts/scripts"]')
71-
.dragAndDrop('li[data-id="treeViewLitreeViewItemcontracts/scripts"]', id)
72-
.waitForElementPresent('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok')
73-
.execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() })
74-
})
75-
browser.pause(1000)
76-
.waitForElementVisible('li[data-id="treeViewLitreeViewItemscripts"]')
77-
}
78-
},
79-
'drag into nested folder': function (browser: NightwatchBrowser) {
80-
if (checkBrowserIsChrome(browser)) {
81-
browser.waitForElementVisible('li[data-id="treeViewLitreeViewItemscripts"]')
82-
.rightClick('li[data-id="treeViewLitreeViewItemscripts"]')
83-
.waitForElementPresent('[data-id="contextMenuItemnewFolder')
84-
.click('[data-id="contextMenuItemnewFolder')
85-
.waitForElementVisible('*[data-id$="fileExplorerTreeItemInput"]')
86-
.sendKeys('*[data-id$="fileExplorerTreeItemInput"]', 'nested')
87-
.sendKeys('*[data-id$="fileExplorerTreeItemInput"]', browser.Keys.ENTER)
88-
.findElement('*[data-id="treeViewLitreeViewItemscripts/nested"]', (el) => {
89-
console.log((el as any).value.getId())
90-
const id = (el as any).value.getId()
91-
browser
92-
.waitForElementVisible('li[data-id="treeViewLitreeViewItemcontracts/README.txt"]')
93-
.dragAndDrop('li[data-id="treeViewLitreeViewItemcontracts/README.txt"]', id)
94-
.waitForElementPresent('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok')
95-
.execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() })
96-
.waitForElementVisible('li[data-id="treeViewLitreeViewItemscripts/nested/README.txt"]')
97-
})
98-
}
33+
'drag and drop file from contracts to root #group1': function (browser: NightwatchBrowser) {
34+
if (checkBrowserIsChrome(browser)) {
35+
browser.findElement('*[data-id="treeViewUltreeViewMenu"]', (el) => {
36+
console.log((el as any).value.getId())
37+
const id = (el as any).value.getId()
38+
browser
39+
.waitForElementVisible('li[data-id="treeViewLitreeViewItemcontracts/1_Storage.sol"]')
40+
.dragAndDrop('li[data-id="treeViewLitreeViewItemcontracts/1_Storage.sol"]', id)
41+
.waitForElementPresent('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok')
42+
.execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() })
43+
})
44+
browser.pause(1000)
45+
.waitForElementVisible('li[data-id="treeViewLitreeViewItem1_Storage.sol"]')
46+
}
47+
},
48+
'drag and drop scripts from root to contracts #group1': function (browser: NightwatchBrowser) {
49+
if (checkBrowserIsChrome(browser)) {
50+
browser
51+
.waitForElementVisible('*[data-id="treeViewLitreeViewItemcontracts"]')
52+
.findElement('*[data-id="treeViewLitreeViewItemcontracts"]', (el) => {
53+
console.log((el as any).value.getId())
54+
const id = (el as any).value.getId()
55+
browser
56+
.waitForElementVisible('li[data-id="treeViewLitreeViewItemscripts"]')
57+
.dragAndDrop('div[data-id="treeViewDivDraggableItemscripts"]', id)
58+
.pause()
59+
.waitForElementPresent('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok')
60+
.pause()
61+
.execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() })
62+
.pause()
63+
.waitForElementVisible('li[data-id="treeViewLitreeViewItemcontracts/scripts"]')
64+
})
65+
}
66+
},
67+
'drag scripts from contracts to root #group1': function (browser: NightwatchBrowser) {
68+
if (checkBrowserIsChrome(browser)) {
69+
browser.findElement('*[data-id="treeViewUltreeViewMenu"]', (el) => {
70+
console.log((el as any).value.getId())
71+
const id = (el as any).value.getId()
72+
browser
73+
.waitForElementVisible('li[data-id="treeViewLitreeViewItemcontracts/scripts"]')
74+
.dragAndDrop('li[data-id="treeViewLitreeViewItemcontracts/scripts"]', id)
75+
.waitForElementPresent('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok')
76+
.execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() })
77+
})
78+
browser.pause(1000)
79+
.waitForElementVisible('li[data-id="treeViewLitreeViewItemscripts"]')
9980
}
81+
},
82+
'drag into nested folder': function (browser: NightwatchBrowser) {
83+
if (checkBrowserIsChrome(browser)) {
84+
browser.waitForElementVisible('li[data-id="treeViewLitreeViewItemscripts"]')
85+
.rightClick('li[data-id="treeViewLitreeViewItemscripts"]')
86+
.waitForElementPresent('[data-id="contextMenuItemnewFolder')
87+
.click('[data-id="contextMenuItemnewFolder')
88+
.waitForElementVisible('*[data-id$="fileExplorerTreeItemInput"]')
89+
.sendKeys('*[data-id$="fileExplorerTreeItemInput"]', 'nested')
90+
.sendKeys('*[data-id$="fileExplorerTreeItemInput"]', browser.Keys.ENTER)
91+
.findElement('*[data-id="treeViewLitreeViewItemscripts/nested"]', (el) => {
92+
console.log((el as any).value.getId())
93+
const id = (el as any).value.getId()
94+
browser
95+
.waitForElementVisible('li[data-id="treeViewLitreeViewItemcontracts/README.txt"]')
96+
.dragAndDrop('li[data-id="treeViewLitreeViewItemcontracts/README.txt"]', id)
97+
.waitForElementPresent('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok')
98+
.execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() })
99+
.waitForElementVisible('li[data-id="treeViewLitreeViewItemscripts/nested/README.txt"]')
100+
})
101+
}
102+
}
100103

101104

102105

103-
}
106+
}

libs/remix-ui/workspace/src/lib/components/flat-tree-drop.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export const FlatTreeDrop = (props: FlatTreeDropProps) => {
6161
} else {
6262
dragDestination = getFlatTreeItem(target.path)
6363
}
64-
64+
console.log(dragDestination)
6565
if (dragDestination.isDirectory) {
6666
if (dragSource.isDirectory) {
6767
moveFolder(dragDestination.path, dragSource.path)

libs/remix-ui/workspace/src/lib/components/flat-tree.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ export const FlatTree = (props: FlatTreeProps) => {
186186
}, [focusEdit])
187187

188188
const showIcons = (file: FileType) =>
189-
file.path === hover ? (
189+
file.path === hover && !isDragging ? (
190190
<div>
191191
<FileHoverIcons
192192
file={file}
@@ -224,6 +224,7 @@ export const FlatTree = (props: FlatTreeProps) => {
224224
editModeOff={editModeOff}
225225
file={file} /> :
226226
<><div
227+
data-id={`treeViewDivDraggableItem${file.path}`}
227228
draggable={true}
228229
onDragStart={onDragStart}
229230
onDragEnd={onDragEnd}

0 commit comments

Comments
 (0)