test(download): testing file folder download
This commit is contained in:
@ -43,18 +43,35 @@ export default (props) => {
|
|||||||
{name: __('Download to') + '...', click: async () => {
|
{name: __('Download to') + '...', click: async () => {
|
||||||
if(dialog)
|
if(dialog)
|
||||||
{
|
{
|
||||||
const path = (await dialog.showOpenDialog({
|
// Path using in testing
|
||||||
properties: ['openDirectory']
|
let testPath = window.downloadFolderTest;
|
||||||
})).filePaths;
|
if(testPath && testPath.length > 0)
|
||||||
if(!path || path.length < 1)
|
testPath = [testPath];
|
||||||
return
|
else
|
||||||
console.log(path);
|
testPath = null
|
||||||
|
|
||||||
|
// Main path
|
||||||
|
let path;
|
||||||
|
|
||||||
|
if (!testPath)
|
||||||
|
{
|
||||||
|
path = (await dialog.showOpenDialog({
|
||||||
|
properties: ['openDirectory']
|
||||||
|
})).filePaths;
|
||||||
|
if(!path || path.length < 1)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
path = testPath;
|
||||||
|
}
|
||||||
window.torrentSocket.emit('download', props.torrent, path[0], (added) => {
|
window.torrentSocket.emit('download', props.torrent, path[0], (added) => {
|
||||||
if(props.onAdded)
|
if(props.onAdded)
|
||||||
props.onAdded(added)
|
props.onAdded(added)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
className: 'downloadDirectoryButton',
|
||||||
icon: <svg viewBox="0 0 60 60">
|
icon: <svg viewBox="0 0 60 60">
|
||||||
<g>
|
<g>
|
||||||
<path d="M54.168,0H5.832C4.271,0,3,1.271,3,2.832v54.336C3,58.729,4.271,60,5.832,60h48.336C55.729,60,57,58.729,57,57.168V2.832
|
<path d="M54.168,0H5.832C4.271,0,3,1.271,3,2.832v54.336C3,58.729,4.271,60,5.832,60h48.336C55.729,60,57,58.729,57,57.168V2.832
|
||||||
|
@ -8,10 +8,14 @@ describe("download", function() {
|
|||||||
this.timeout(30000);
|
this.timeout(30000);
|
||||||
|
|
||||||
const fileTest = config.client.downloadPath + "/Roblox_setup.exe"
|
const fileTest = config.client.downloadPath + "/Roblox_setup.exe"
|
||||||
|
const fileFolder = config.client.downloadPath + "/folderTest"
|
||||||
|
const fileFolderTest = fileFolder + "/Roblox_setup.exe"
|
||||||
|
|
||||||
it("cleanup", function() {
|
it("cleanup", function() {
|
||||||
if(fs.existsSync(fileTest))
|
if(fs.existsSync(fileTest))
|
||||||
fs.unlinkSync(fileTest);
|
fs.unlinkSync(fileTest);
|
||||||
|
if(fs.existsSync(fileFolderTest))
|
||||||
|
fs.unlinkSync(fileFolderTest);
|
||||||
})
|
})
|
||||||
|
|
||||||
it("click download", async function() {
|
it("click download", async function() {
|
||||||
@ -97,4 +101,28 @@ describe("download", function() {
|
|||||||
assert(fs.existsSync(fileTest));
|
assert(fs.existsSync(fileTest));
|
||||||
assert.equal(await md5(fileTest), '7df171da63e2013c9b17e1857615b192');
|
assert.equal(await md5(fileTest), '7df171da63e2013c9b17e1857615b192');
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it("download file to folder", async function() {
|
||||||
|
this.timeout(60000);
|
||||||
|
const { app } = this
|
||||||
|
await app.client.waitForExist('#searchInput')
|
||||||
|
await app.client.$('#searchInput').setValue('1413ba1915affdc3de7e1a81d6fdc32ef19395c9')
|
||||||
|
await app.client.click('#search')
|
||||||
|
await app.client.waitForExist('.torrentRow .downloadButton')
|
||||||
|
// Click download button (must open menu)
|
||||||
|
await app.client.click('.torrentRow .downloadButton')
|
||||||
|
await app.client.waitForExist('.torrentRow .downloadDirectoryButton')
|
||||||
|
// Click download to folder and start download
|
||||||
|
await app.client.execute((folder) => {
|
||||||
|
window.downloadFolderTest = folder
|
||||||
|
}, fileFolder)
|
||||||
|
await app.client.click('.torrentRow .downloadDirectoryButton')
|
||||||
|
// Downloading check
|
||||||
|
await app.client.waitUntil(async () => {
|
||||||
|
return (await app.client.getText('.torrentRow .progressDownloading')) === '100.0%'
|
||||||
|
}, 60000, 'expected that download will be finished', 200)
|
||||||
|
// Check downloaded to directory
|
||||||
|
assert(fs.existsSync(fileFolderTest));
|
||||||
|
assert.equal(await md5(fileFolderTest), '7df171da63e2013c9b17e1857615b192');
|
||||||
|
})
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user