From e94c1eeb61c2a7e51b5c81a6244f75546ca0a40a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Babi=C4=8D?= Date: Wed, 11 Dec 2019 15:47:54 +0100 Subject: [PATCH] add dropzone --- client/cypress/fixtures/logos/mcdonald.png | Bin 0 -> 3911 bytes client/cypress/integration/upload.js | 19 +++++++ client/cypress/support/commands.js | 1 + client/package-lock.json | 11 +++++ client/package.json | 2 + client/src/routes/index.svelte | 55 +++++++++++++-------- 6 files changed, 68 insertions(+), 20 deletions(-) create mode 100644 client/cypress/fixtures/logos/mcdonald.png create mode 100644 client/cypress/integration/upload.js diff --git a/client/cypress/fixtures/logos/mcdonald.png b/client/cypress/fixtures/logos/mcdonald.png new file mode 100644 index 0000000000000000000000000000000000000000..b205a7cab8adda13c0ec1a98a3f0103322f20794 GIT binary patch literal 3911 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 VxR#hgT#*0(002ovPDHLkV1h+sl!E{O literal 0 HcmV?d00001 diff --git a/client/cypress/integration/upload.js b/client/cypress/integration/upload.js new file mode 100644 index 0000000..2bf3d17 --- /dev/null +++ b/client/cypress/integration/upload.js @@ -0,0 +1,19 @@ +/// + +describe("upload route should", () => { + it.only("handle one file upload", () => { + cy.visit("/") + cy.contains("Drop files") + + cy.fixture("logos/mcdonald.png", "base64").then(fileContent => { + cy.get('[cy="dropzone"]').upload( + { + fileContent, + fileName: "mcdonald.png", + mimeType: "image/png", + }, + { subjectType: "drag-n-drop" } + ) + }) + }) +}) diff --git a/client/cypress/support/commands.js b/client/cypress/support/commands.js index c1f5a77..ebe3160 100644 --- a/client/cypress/support/commands.js +++ b/client/cypress/support/commands.js @@ -23,3 +23,4 @@ // // -- This is will overwrite an existing command -- // Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) +import "cypress-file-upload" diff --git a/client/package-lock.json b/client/package-lock.json index ab82b74..71e3ef0 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1404,6 +1404,12 @@ } } }, + "cypress-file-upload": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/cypress-file-upload/-/cypress-file-upload-3.5.0.tgz", + "integrity": "sha512-MgrsP4C2pUMvHqixH33OtXHNKkwQZV6ny0fu+APDTEP9O/uuKFh3sYcnPNU6XGfuC85/RmqVNw21ZQyyT+S5IQ==", + "dev": true + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -1442,6 +1448,11 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, + "dropzone": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/dropzone/-/dropzone-5.5.1.tgz", + "integrity": "sha512-3VduRWLxx9hbVr42QieQN25mx/I61/mRdUSuxAmDGdDqZIN8qtP7tcKMa3KfpJjuGjOJGYYUzzeq6eGDnkzesA==" + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", diff --git a/client/package.json b/client/package.json index 79413af..fa9ebcb 100644 --- a/client/package.json +++ b/client/package.json @@ -13,6 +13,7 @@ }, "dependencies": { "compression": "^1.7.1", + "dropzone": "^5.5.1", "graphql-request": "^1.8.2", "polka": "^1.0.0-next.7", "sirv": "^0.4.0" @@ -25,6 +26,7 @@ "@babel/runtime": "^7.0.0", "@types/just-throttle": "^1.1.0", "cypress": "^3.6.1", + "cypress-file-upload": "^3.5.0", "npm-run-all": "^4.1.5", "rollup": "^1.12.0", "rollup-plugin-babel": "^4.0.2", diff --git a/client/src/routes/index.svelte b/client/src/routes/index.svelte index af21d22..e9e4d7b 100644 --- a/client/src/routes/index.svelte +++ b/client/src/routes/index.svelte @@ -1,20 +1,35 @@ - - Sapper project template - - -

- - Try editing this file (src/routes/index.svelte) to test live reloading. - -

- - + + +
+ +