describe('Test admin deposit page', function() { it('Does not do much!', function () { expect(true).to.equal(true); }); it('parseOrigin should parse correctly origin', function () { function parseOrigin(data) { "Extract origin if pattern found, null otherwise" let originPattern = ';origin='; let originPatternIdx = data.indexOf(originPattern); if (originPatternIdx !== -1) { let originUrl = data.slice(originPatternIdx + originPattern.length); let nextSepPattern = ';'; let nextSepPatternIdx = originUrl.indexOf(nextSepPattern); if (nextSepPatternIdx !== -1) { /* Remove extra context */ originUrl = originUrl.slice(0, nextSepPatternIdx); } return originUrl; } return null; } let data = "swh:1:rev:abc;origin=https://g.c/user/repo;visit=swh:1:snp:dev;path=/" let actual_origin = parseOrigin(data) expect(actual_origin).to.equal("https://g.c/user/repo") let data2 = "swh:1:rev:abc;origin=something;path=/some/other" let actual_origin2 = parseOrigin(data2) expect(actual_origin2).to.equal("something") let data3 = "swh:1:rev:abc;origin=https://f.s.o/repositories/swh-web" let actual_origin3 = parseOrigin(data3) expect(actual_origin3).to.equal("https://f.s.o/repositories/swh-web") }); it ('Should test deposit page', function (){ cy.visit(this.Urls.admin_deposit()); // FIXME: cypress anti-pattern, do not use ui to log login(username, password); cy.server(); cy.log("admin deposit list api url: ", this.Urls.admin_deposit_list()) cy.route({ method: 'GET', url: `${this.Urls.admin_deposit_list()}**`, response: { "draw": 1, "recordsTotal": 2, "recordsFiltered": 2, "data": [ { "id": 614, "external_id": "check-deposit-2020-05-18T13:48:26.812334", "reception_date": "2020-05-18T13:48:27.135170Z", "status": "done", "status_detail": null, "swh_anchor_id": "swh:1:rev:d24a75c9528f569107d665aa3e37c31fffb148af", "swh_anchor_id_context": "swh:1:rev:d24a75c9528f569107d665aa3e37c31fffb148af;origin=https://www.softwareheritage.org/check-deposit-2020-05-18T13:48:26.812334", "swh_id": "swh:1:dir:ef04a768181417fbc5eef4243e2507915f24deea", "swh_id_context": "swh:1:dir:ef04a768181417fbc5eef4243e2507915f24deea;origin=https://www.softwareheritage.org/check-deposit-2020-05-18T13:48:26.812334;visit=swh:1:snp:b234be1e0b0ecdbc76836a9c77a09846cf4d6dc2;anchor=swh:1:rev:d24a75c9528f569107d665aa3e37c31fffb148af;path=/" }, { "id": 613, "external_id": "check-deposit-2020-05-18T11:20:16.079754", "reception_date": "2020-05-18T11:20:16.414994Z", "status": "done", "status_detail": null, "swh_anchor_id": "swh:1:rev:3d1eba044ba3d0c3f8668676c464367af94d76bc", "swh_anchor_id_context": "swh:1:rev:3d1eba044ba3d0c3f8668676c464367af94d76bc;origin=https://www.softwareheritage.org/check-deposit-2020-05-18T11:20:16.079754", "swh_id": "swh:1:dir:ef04a768181417fbc5eef4243e2507915f24deea", "swh_id_context": "swh:1:dir:ef04a768181417fbc5eef4243e2507915f24deea;origin=https://www.softwareheritage.org/check-deposit-2020-05-18T11:20:16.079754;visit=swh:1:snp:8c32a2efdd7308d7753f7f52255ce7b6ced2dd76;anchor=swh:1:rev:3d1eba044ba3d0c3f8668676c464367af94d76bc;path=/"}, ] } }).as("listDeposits"); cy.location('pathname') .should('be.equal', this.Urls.admin_deposit()); cy.url().should('include', '/admin/deposit') cy.get('#swh-admin-deposit-list') .should('exist'); cy.get('#swh-admin-deposit-list-error') .should("not.contain", "An error occurred while retrieving the list of deposits"); cy.get('#swh-admin-deposit-list') .should("contain", "status"); cy.wait('@listDeposits', {"log": true}); // cy.get('#swh-admin-deposit-list') // .should("contain", "https://www.softwareheritage.org/check-deposit-2020-05-18T13:48:26.812334"); cy.get('td.sorting-1').should("contain", 614); cy.get('td.sorting-2').should("contain", 613); }); });