Merge branch '19836-upload-binary-mode' into main
[arvados.git] / cypress / support / commands.js
index 74f44f7a5ae83fc6ef7d5c2ec640f5cda72d4fc0..f09d959b8fe9ac6ec35b36f35bde9e7aa36799c2 100644 (file)
@@ -387,9 +387,11 @@ Cypress.Commands.add(
     {
         prevSubject: 'element',
     },
-    (subject, file, fileName) => {
+    (subject, file, fileName, binaryMode = true) => {
         cy.window().then(window => {
-            const blob = b64toBlob(file, '', 512);
+            const blob = binaryMode
+                ? b64toBlob(file, '', 512)
+                : new Blob([file], {type: 'text/plain'});
             const testFile = new window.File([blob], fileName);
 
             cy.wrap(subject).trigger('drop', {
@@ -423,7 +425,10 @@ function b64toBlob(b64Data, contentType = '', sliceSize = 512) {
 // From https://github.com/cypress-io/cypress/issues/7306#issuecomment-1076451070=
 // This command requires the async package (https://www.npmjs.com/package/async)
 Cypress.Commands.add('waitForDom', () => {
-    cy.window().then(win => {
+    cy.window().then({
+        // Don't timeout before waitForDom finishes
+        timeout: 10000
+    }, win => {
       let timeElapsed = 0;
 
       cy.log("Waiting for DOM mutations to complete");