From 2ac74e6513050a1dce5ecec00927891b8c67c9a2 Mon Sep 17 00:00:00 2001
From: Ben Wheeler <wheeler.benjamin@gmail.com>
Date: Mon, 15 Oct 2018 13:36:27 -0400
Subject: [PATCH] added test for menu-bar enabled and disabled elements

---
 src/playground/render-gui.jsx     |  4 ---
 test/integration/menu-bar.test.js | 60 +++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 4 deletions(-)
 create mode 100644 test/integration/menu-bar.test.js

diff --git a/src/playground/render-gui.jsx b/src/playground/render-gui.jsx
index c4c8c86eb..3e665c1c8 100644
--- a/src/playground/render-gui.jsx
+++ b/src/playground/render-gui.jsx
@@ -41,10 +41,6 @@ export default appTarget => {
         <WrappedGui
             canCreateNew
             backpackOptions={backpackOptions}
-            canRemix={false}
-            canSave={false}
-            canSaveAsCopy={false}
-            canShare={false}
         />,
         appTarget);
 };
diff --git a/test/integration/menu-bar.test.js b/test/integration/menu-bar.test.js
new file mode 100644
index 000000000..a5c4ede2b
--- /dev/null
+++ b/test/integration/menu-bar.test.js
@@ -0,0 +1,60 @@
+import path from 'path';
+import SeleniumHelper from '../helpers/selenium-helper';
+
+const {
+    clickXpath,
+    findByXpath,
+    getDriver,
+    loadUri
+} = new SeleniumHelper();
+
+const uri = path.resolve(__dirname, '../../build/index.html');
+
+let driver;
+
+describe('Menu bar settings', () => {
+    beforeAll(() => {
+        driver = getDriver();
+    });
+
+    afterAll(async () => {
+        await driver.quit();
+    });
+
+    test('File->New should be enabled', async () => {
+        await loadUri(uri);
+        await clickXpath('//button[@title="Try It"]');
+        await clickXpath(
+            '//div[contains(@class, "menu-bar_menu-bar-item") and ' +
+            'contains(@class, "menu-bar_hoverable")][span[text()="File"]]'
+        );
+        await findByXpath('//*[li[span[text()="New"]] and not(@data-tip="tooltip")]');
+    });
+
+    test('File->Save now should NOT be enabled', async () => {
+        await loadUri(uri);
+        await clickXpath('//button[@title="Try It"]');
+        await clickXpath(
+            '//div[contains(@class, "menu-bar_menu-bar-item") and ' +
+            'contains(@class, "menu-bar_hoverable")][span[text()="File"]]'
+        );
+        await findByXpath('//*[li[span[text()="Save now"]] and @data-tip="tooltip"]');
+    });
+
+
+    test('File->Save as a copy should NOT be enabled', async () => {
+        await loadUri(uri);
+        await clickXpath('//button[@title="Try It"]');
+        await clickXpath(
+            '//div[contains(@class, "menu-bar_menu-bar-item") and ' +
+            'contains(@class, "menu-bar_hoverable")][span[text()="File"]]'
+        );
+        await findByXpath('//*[li[span[text()="Save as a copy"]] and @data-tip="tooltip"]');
+    });
+
+    test('Share button should NOT be enabled', async () => {
+        await loadUri(uri);
+        await clickXpath('//button[@title="Try It"]');
+        await findByXpath('//div[span[div[span[text()="Share"]]] and @data-tip="tooltip"]');
+    });
+});
-- 
GitLab