diff --git a/assets/src/bundles/vault/vault-ui.js b/assets/src/bundles/vault/vault-ui.js --- a/assets/src/bundles/vault/vault-ui.js +++ b/assets/src/bundles/vault/vault-ui.js @@ -127,9 +127,11 @@ if (cookingTask.object_type === 'directory') { cookingTask.swhid = `swh:1:dir:${cookingTask.object_id}`; cookingTask.bundle_type = 'flat'; + cookingTask.fetch_url = Urls.api_1_vault_fetch_flat(cookingTask.swhid); } else if (cookingTask.object_type === 'revision') { cookingTask.swhid = `swh:1:rev:${cookingTask.object_id}`; cookingTask.bundle_type = 'gitfast'; + cookingTask.fetch_url = Urls.api_1_vault_fetch_gitfast(cookingTask.swhid); } else { // Log to the console + Sentry console.error(`Unexpected cookingTask.object_type: ${cookingTask.object_type}`); diff --git a/cypress/integration/vault.spec.js b/cypress/integration/vault.spec.js --- a/cypress/integration/vault.spec.js +++ b/cypress/integration/vault.spec.js @@ -25,13 +25,8 @@ return JSON.parse(window.localStorage.getItem('swh-vault-cooking-tasks')); } -function updateVaultItemList(vaultUrl, vaultItems) { - cy.visit(vaultUrl) - .then(() => { - // Add uncooked task to localStorage - // which updates it in vault items list - window.localStorage.setItem('swh-vault-cooking-tasks', JSON.stringify(vaultItems)); - }); +function updateVaultItemList(vaultItems) { + window.localStorage.setItem('swh-vault-cooking-tasks', JSON.stringify(vaultItems)); } // Mocks API response : /api/1/vault/(:bundleType)/(:swhid) @@ -177,7 +172,7 @@ it('should display previous cooking tasks', function() { - updateVaultItemList(this.Urls.browse_vault(), this.vaultItems); + updateVaultItemList(this.vaultItems); cy.visit(this.Urls.browse_vault()); @@ -186,19 +181,16 @@ }); it('should display and upgrade previous cooking tasks from the legacy format', function() { - updateVaultItemList(this.Urls.browse_vault(), this.legacyVaultItems); - - // updateVaultItemList doesn't work in this test?!?! - window.localStorage.setItem('swh-vault-cooking-tasks', JSON.stringify(this.vaultItems)); + updateVaultItemList(this.legacyVaultItems); cy.visit(this.Urls.browse_vault()); // Check it is displayed cy.contains(`#vault-task-${CSS.escape(this.revision)} button`, 'Download') - .click(); - - // Check the LocalStorage was upgraded - expect(getVaultItemList()).to.deep.equal(this.vaultItems); + .then(() => { + // Check the LocalStorage was upgraded + expect(getVaultItemList()).to.deep.equal(this.vaultItems); + }); }); it('should create a directory cooking task and report the success', function() { @@ -409,7 +401,7 @@ it('should offer to recook an archive if no more available to download', function() { - updateVaultItemList(this.Urls.browse_vault(), this.vaultItems); + updateVaultItemList(this.vaultItems); // Send 404 when fetching vault item cy.intercept({url: this.vaultFetchRevisionUrl}, { @@ -423,7 +415,8 @@ } }).as('fetchCookedArchive'); - cy.get(`#vault-task-${CSS.escape(this.revision)} .vault-dl-link button`) + cy.visit(this.Urls.browse_vault()) + .get(`#vault-task-${CSS.escape(this.revision)} .vault-dl-link button`) .click(); cy.wait('@fetchCookedArchive').then(() => { @@ -449,9 +442,10 @@ it('should remove selected vault items', function() { - updateVaultItemList(this.Urls.browse_vault(), this.vaultItems); + updateVaultItemList(this.vaultItems); - cy.get(`#vault-task-${CSS.escape(this.revision)}`) + cy.visit(this.Urls.browse_vault()) + .get(`#vault-task-${CSS.escape(this.revision)}`) .find('input[type="checkbox"]') .click({force: true}); cy.contains('button', 'Remove selected tasks')