]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/pybind/mgr/dashboard/frontend/cypress/integration/ui/notification.e2e-spec.ts
import 15.2.4
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / cypress / integration / ui / notification.e2e-spec.ts
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/cypress/integration/ui/notification.e2e-spec.ts b/ceph/src/pybind/mgr/dashboard/frontend/cypress/integration/ui/notification.e2e-spec.ts
new file mode 100644 (file)
index 0000000..b69f26f
--- /dev/null
@@ -0,0 +1,56 @@
+import { PoolPageHelper } from '../pools/pools.po';
+import { NotificationSidebarPageHelper } from './notification.po';
+
+describe('Notification page', () => {
+  const notification = new NotificationSidebarPageHelper();
+  const pools = new PoolPageHelper();
+  const poolName = 'e2e_notification_pool';
+
+  before(() => {
+    cy.login();
+    pools.navigateTo('create');
+    pools.create(poolName, 8);
+    pools.edit_pool_pg(poolName, 4, false);
+  });
+
+  after(() => {
+    cy.login();
+    pools.navigateTo();
+    pools.delete(poolName);
+  });
+
+  beforeEach(() => {
+    cy.login();
+    pools.navigateTo();
+  });
+
+  it('should open notification sidebar', () => {
+    notification.getSidebar().should('not.be.visible');
+    notification.open();
+    notification.getSidebar().should('be.visible');
+  });
+
+  it('should display a running task', () => {
+    notification.getToast().should('not.exist');
+
+    // Check that running task is shown.
+    notification.open();
+    notification.getTasks().contains(poolName).should('exist');
+
+    // Delete pool after task is complete (otherwise we get an error).
+    notification.getTasks().contains(poolName, { timeout: 300000 }).should('not.exist');
+  });
+
+  it('should have notifications', () => {
+    notification.open();
+    notification.getNotifications().should('have.length.gt', 0);
+  });
+
+  it('should clear notifications', () => {
+    notification.getToast().should('not.exist');
+    notification.open();
+    notification.getNotifications().should('have.length.gt', 0);
+    notification.getClearNotficationsBtn().should('be.visible');
+    notification.clearNotifications();
+  });
+});