]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/pybind/mgr/dashboard/frontend/e2e/block/mirroring.e2e-spec.ts
import 15.2.0 Octopus source
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / e2e / block / mirroring.e2e-spec.ts
index e15cb53efba5516c371b0e4bf03d304c5fe538c2..3327cf161bbb6d7688a12afea6b3b3d1c2266e55 100644 (file)
@@ -1,34 +1,63 @@
-import { Helper } from '../helper.po';
-import { MirroringPage } from './mirroring.po';
+import { PoolPageHelper } from '../pools/pools.po';
+import { MirroringPageHelper } from './mirroring.po';
 
 describe('Mirroring page', () => {
-  let page: MirroringPage;
+  let pools: PoolPageHelper;
+  let mirroring: MirroringPageHelper;
 
   beforeAll(() => {
-    page = new MirroringPage();
+    mirroring = new MirroringPageHelper();
+    pools = new PoolPageHelper();
   });
 
-  afterEach(() => {
-    Helper.checkConsole();
+  afterEach(async () => {
+    await MirroringPageHelper.checkConsole();
   });
 
   describe('breadcrumb and tab tests', () => {
-    beforeAll(() => {
-      page.navigateTo();
+    beforeAll(async () => {
+      await mirroring.navigateTo();
     });
 
-    it('should open and show breadcrumb', () => {
-      Helper.waitTextToBePresent(Helper.getBreadcrumb(), 'Mirroring');
+    it('should open and show breadcrumb', async () => {
+      await mirroring.waitTextToBePresent(mirroring.getBreadcrumb(), 'Mirroring');
     });
 
-    it('should show three tabs', () => {
-      expect(Helper.getTabsCount()).toEqual(3);
+    it('should show three tabs', async () => {
+      await expect(mirroring.getTabsCount()).toEqual(3);
     });
 
-    it('should show text for all tabs', () => {
-      expect(Helper.getTabText(0)).toEqual('Issues');
-      expect(Helper.getTabText(1)).toEqual('Syncing');
-      expect(Helper.getTabText(2)).toEqual('Ready');
+    it('should show text for all tabs', async () => {
+      await expect(mirroring.getTabText(0)).toEqual('Issues');
+      await expect(mirroring.getTabText(1)).toEqual('Syncing');
+      await expect(mirroring.getTabText(2)).toEqual('Ready');
+    });
+  });
+
+  describe('checks that edit mode functionality shows in the pools table', () => {
+    const poolName = 'mirroring_test';
+
+    beforeAll(async () => {
+      await pools.navigateTo('create'); // Need pool for mirroring testing
+      await pools.create(poolName, 8, 'rbd');
+      await pools.navigateTo();
+      await pools.exist(poolName, true);
+    });
+
+    it('tests editing mode for pools', async () => {
+      await mirroring.navigateTo();
+
+      await mirroring.editMirror(poolName, 'Pool');
+      await expect(mirroring.getFirstTableCellWithText('pool').isPresent()).toBe(true);
+      await mirroring.editMirror(poolName, 'Image');
+      await expect(mirroring.getFirstTableCellWithText('image').isPresent()).toBe(true);
+      await mirroring.editMirror(poolName, 'Disabled');
+      await expect(mirroring.getFirstTableCellWithText('disabled').isPresent()).toBe(true);
+    });
+
+    afterAll(async () => {
+      await pools.navigateTo();
+      await pools.delete(poolName);
     });
   });
 });