From 76b887fc3df10da07ea3f2a1eaddf9e52429a606 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Atte=20Kein=C3=A4nen?= <atte.keinanen@gmail.com>
Date: Fri, 11 Aug 2017 11:36:46 -0700
Subject: [PATCH] Fix issue with button-wrapping React components

---
 frontend/test/__support__/integrated_tests.js        | 5 +++--
 frontend/test/admin/datamodel/FieldApp.integ.spec.js | 5 ++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/frontend/test/__support__/integrated_tests.js b/frontend/test/__support__/integrated_tests.js
index cfb5fd26b89..8ad4814f81e 100644
--- a/frontend/test/__support__/integrated_tests.js
+++ b/frontend/test/__support__/integrated_tests.js
@@ -344,13 +344,14 @@ export const clickRouterLink = click
 
 export const clickButton = (enzymeWrapper) => {
     const closestButton = enzymeWrapper.closest("button");
-    // const childButton = enzymeWrapper.children("button");
 
     if (closestButton.length === 1) {
         closestButton.simulate("submit"); // for forms with onSubmit
         closestButton.simulate("click"); // for lone buttons / forms without onSubmit
     } else {
-        throw new Error('Couldn\'t find a button element to click in clickButton');
+        // Assume that the current component wraps a button element
+        enzymeWrapper.simulate("submit");
+        enzymeWrapper.simulate("click");
     }
 }
 
diff --git a/frontend/test/admin/datamodel/FieldApp.integ.spec.js b/frontend/test/admin/datamodel/FieldApp.integ.spec.js
index a1ef3a61220..b422b33a8f2 100644
--- a/frontend/test/admin/datamodel/FieldApp.integ.spec.js
+++ b/frontend/test/admin/datamodel/FieldApp.integ.spec.js
@@ -1,6 +1,6 @@
 import {
     login,
-    createTestStore,
+    createTestStore, clickButton,
 } from "__support__/integrated_tests";
 
 import {
@@ -346,8 +346,7 @@ describe("FieldApp", () => {
             lastMapping.find(Input).simulate('change', {target: {value: "Extraordinarily awesome"}});
 
             const saveButton = valueRemappingsSection.find(ButtonWithStatus)
-            // TRY WITH clickButton !!!
-            saveButton.simulate("click");
+            clickButton(saveButton)
 
             store.waitForActions([UPDATE_FIELD_VALUES]);
         });
-- 
GitLab