From b117806646325af9ebd3f2c08d9bc1a2e52b54e7 Mon Sep 17 00:00:00 2001
From: Josiah Neuberger <josiah@wikimylife.org>
Date: Sat, 23 Sep 2017 16:21:02 -0400
Subject: [PATCH] fixed "Load Project (fullscreen) integration test.

  ** This test was failing because using window.miximize() on the
     chromedriver would hang indefinitely. This seems to be a bug
     introduced in chrome stable 60+. relevant bug report:

     https://bugs.chromium.org/p/chromedriver/issues/detail?id=1901

  1. Updated test to use workaround: setSize(1920, 1080).

  2. Updated test to restore driver to previous size so any unit test
     run after this one will be run in the default browser size.
---
 test/integration/test.js | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/test/integration/test.js b/test/integration/test.js
index 0b2eaab95..d629d0de9 100644
--- a/test/integration/test.js
+++ b/test/integration/test.js
@@ -77,9 +77,13 @@ describe('costumes, sounds and variables', () => {
     });
 
     test('Load a project by ID (fullscreen)', async () => {
+        const prevSize = driver.manage()
+            .window()
+            .getSize();
+        await new Promise(resolve => setTimeout(resolve, 2000));
         driver.manage()
             .window()
-            .maximize();
+            .setSize(1920, 1080);
         const projectId = '96708228';
         await driver.get(`file://${uri}#${projectId}`);
         await new Promise(resolve => setTimeout(resolve, 2000));
@@ -87,6 +91,11 @@ describe('costumes, sounds and variables', () => {
         await clickXpath('//img[@title="Go"]');
         await new Promise(resolve => setTimeout(resolve, 2000));
         await clickXpath('//img[@title="Stop"]');
+        prevSize.then(value => {
+            driver.manage()
+                .window()
+                .setSize(value.width, value.height);
+        });
         const logs = await getLogs(errorWhitelist);
         await expect(logs).toEqual([]);
     });
-- 
GitLab