Page MenuHomeSoftware Heritage

D1840.id6287.diff
No OneTemporary

D1840.id6287.diff

diff --git a/cypress/integration/admin.spec.js b/cypress/integration/admin.spec.js
new file mode 100644
--- /dev/null
+++ b/cypress/integration/admin.spec.js
@@ -0,0 +1,71 @@
+/**
+ * Copyright (C) 2019 The Software Heritage developers
+ * See the AUTHORS file at the top-level directory of this distribution
+ * License: GNU Affero General Public License version 3, or any later version
+ * See top-level LICENSE file for more information
+ */
+
+const username = 'admin';
+const password = 'admin';
+const defaultRedirect = '/admin/origin/save/';
+
+let url;
+
+function login(username, password) {
+ cy.visit(url);
+ cy.get('input[name="username"]')
+ .type(username)
+ .get('input[name="password"]')
+ .type(password)
+ .get('form')
+ .submit();
+}
+
+function logout() {
+ cy.contains('a', 'logout')
+ .click();
+}
+
+describe('Test Admin Features', function() {
+ before(function() {
+ url = this.Urls.admin();
+ });
+
+ beforeEach(function() {
+ login(username, password);
+ });
+
+ it('should redirect to default page', function() {
+ cy.location('pathname')
+ .should('be.equal', defaultRedirect);
+
+ logout();
+ });
+
+ it('should display admin-origin-save and deposit in sidebar', function() {
+ cy.get(`.sidebar a[href="${this.Urls.admin_origin_save()}"]`)
+ .should('be.visible');
+
+ cy.get(`.sidebar a[href="${this.Urls.admin_deposit()}"]`)
+ .should('be.visible');
+
+ logout();
+ });
+
+ it('should display username on top-right', function() {
+ cy.get('.swh-position-right')
+ .should('contain', username);
+
+ logout();
+ });
+
+ it('should prevent unauthorized access after logout', function() {
+ logout();
+ cy.visit(this.Urls.admin_origin_save())
+ .location('pathname')
+ .should('be.equal', '/admin/login/');
+ cy.visit(this.Urls.admin_deposit())
+ .location('pathname')
+ .should('be.equal', '/admin/login/');
+ });
+});

File Metadata

Mime Type
text/plain
Expires
Jan 30 2025, 10:18 AM (6 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3215738

Event Timeline