瀏覽代碼

resolve test code

Quang Luong 5 年之前
父節點
當前提交
e349e2b6b3
共有 2 個文件被更改,包括 20 次插入3 次删除
  1. 3 3
      packages/docmanager/test/widgetmanager.spec.ts
  2. 17 0
      testutils/src/common.ts

+ 3 - 3
packages/docmanager/test/widgetmanager.spec.ts

@@ -22,7 +22,7 @@ import { IMessageHandler, Message, MessageLoop } from '@lumino/messaging';
 
 import { Widget } from '@lumino/widgets';
 
-import { acceptDialog, dismissDialog } from '@jupyterlab/testutils';
+import { dangerDialog, dismissDialog } from '@jupyterlab/testutils';
 
 import * as Mock from '@jupyterlab/testutils/lib/mock';
 
@@ -280,7 +280,7 @@ describe('@jupyterlab/docmanager', () => {
         const widget = manager.createWidget(widgetFactory, context);
         const closed = manager.onClose(widget);
 
-        await Promise.all([acceptDialog(), closed]);
+        await Promise.all([dangerDialog(), closed]);
 
         expect(widget.isDisposed).toBe(true);
       });
@@ -315,7 +315,7 @@ describe('@jupyterlab/docmanager', () => {
         const readonly = manager.createWidget(readOnlyFactory, context);
         const closed = manager.onClose(writable);
 
-        await acceptDialog();
+        await dangerDialog();
         await closed;
 
         expect(writable.isDisposed).toBe(true);

+ 17 - 0
testutils/src/common.ts

@@ -332,6 +332,23 @@ export async function acceptDialog(
   }
 }
 
+/**
+ * Click on the warning button in a dialog after it is attached
+ *
+ */
+export async function dangerDialog(
+  host: HTMLElement = document.body,
+  timeout: number = 250
+): Promise<void> {
+  await waitForDialog(host, timeout);
+
+  const node = host.getElementsByClassName('jp-mod-warn')[0];
+
+  if (node) {
+    simulate(node as HTMLElement, 'click', { button: 1 });
+  }
+}
+
 /**
  * Dismiss a dialog after it is attached.
  *