sc/qa/uitest/goalSeek/goalSeek.py | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-)
New commits: commit 5dfa4bda2cb023a6a2fbccd4ff63a704f958851f Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Tue Jun 18 11:01:49 2024 +0200 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Tue Jun 18 15:33:35 2024 +0200 tdf#118226, tdf#161462: sc: Add UItest Change-Id: Ifd7b8a92dff30fee25b1431dde0f3426b2f8bab2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169083 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sc/qa/uitest/goalSeek/goalSeek.py b/sc/qa/uitest/goalSeek/goalSeek.py index a238ea8c5fee..0cc4a5b0fe7d 100644 --- a/sc/qa/uitest/goalSeek/goalSeek.py +++ b/sc/qa/uitest/goalSeek/goalSeek.py @@ -7,7 +7,7 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. # from uitest.framework import UITestCase -from uitest.uihelper.common import get_url_for_data_file +from uitest.uihelper.common import get_url_for_data_file, get_state_as_dict from libreoffice.calc.document import get_cell_by_position from libreoffice.uno.propertyvalue import mkPropertyValues @@ -20,6 +20,9 @@ class goalSeek(UITestCase): gridwin = xCalcDoc.getChild("grid_window") gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "B4"})) with self.ui_test.execute_modeless_dialog_through_command(".uno:GoalSeekDialog", close_button="") as xDialog: + xFormulaEdit = xDialog.getChild("formulaedit") + self.assertEqual("$B$4", get_state_as_dict(xFormulaEdit)["Text"]) + xtarget = xDialog.getChild("target") xvaredit = xDialog.getChild("varedit") xtarget.executeAction("TYPE", mkPropertyValues({"TEXT":"15000"})) @@ -29,8 +32,32 @@ class goalSeek(UITestCase): with self.ui_test.execute_blocking_action(xOKBtn.executeAction, args=('CLICK', ()), close_button="yes"): pass - #verify - self.assertEqual(get_cell_by_position(calc_doc, 0, 1, 0).getValue(), 200000) - self.assertEqual(get_cell_by_position(calc_doc, 0, 1, 3).getValue(), 15000) + # tdf#118226: Without the fix in place, this test would have failed with + # AssertionError: 100000.0 != 200000 + self.assertEqual(200000, get_cell_by_position(calc_doc, 0, 1, 0).getValue()) + self.assertEqual(15000, get_cell_by_position(calc_doc, 0, 1, 3).getValue()) + + self.xUITest.executeCommand(".uno:Undo") + + self.assertEqual(100000, get_cell_by_position(calc_doc, 0, 1, 0).getValue()) + self.assertEqual(7500, get_cell_by_position(calc_doc, 0, 1, 3).getValue()) + + # tdf#161462 check settings are remembered + with self.ui_test.execute_modeless_dialog_through_command(".uno:GoalSeekDialog", close_button="") as xDialog: + xFormulaEdit = xDialog.getChild("formulaedit") + xTarget = xDialog.getChild("target") + xVarEdit = xDialog.getChild("varedit") + + self.assertEqual("$B$4", get_state_as_dict(xFormulaEdit)["Text"]) + self.assertEqual("15000", get_state_as_dict(xTarget)["Text"]) + self.assertEqual("$B$1", get_state_as_dict(xVarEdit)["Text"]) + xOKBtn = xDialog.getChild("ok") + + with self.ui_test.execute_blocking_action(xOKBtn.executeAction, args=('CLICK', ()), close_button="no"): + pass + + # Clicking on 'no' doesn't update the data + self.assertEqual(100000, get_cell_by_position(calc_doc, 0, 1, 0).getValue()) + self.assertEqual(7500, get_cell_by_position(calc_doc, 0, 1, 3).getValue()) # vim: set shiftwidth=4 softtabstop=4 expandtab: