From eb8475db2d411419fe2acc1732fb936c944c09a5 Mon Sep 17 00:00:00 2001 From: mlam Date: Tue, 7 Jun 2011 15:29:46 -0400 Subject: [PATCH 1/3] FLUID-4208: UIO integration tests. Refactoring to come. --- .../uiOptions/js/UIOptionsTests.js | 75 ++++++++++++++++++- 1 file changed, 72 insertions(+), 3 deletions(-) diff --git a/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js b/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js index 885c06efa2..39b055fc91 100644 --- a/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js +++ b/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js @@ -28,13 +28,15 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt var bwSkin = { textSize: "1.8", textFont: "verdana", - theme: "bw" + theme: "bw", + lineSpacing: 2 }; var bwSkin2 = { textSize: "11", textFont: "italic", - theme: "bw" + theme: "cw", + lineSpacing: 1 }; var saveCalled = false; @@ -219,7 +221,74 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt jqUnit.assertDeepEq("hc setting was saved", bwSkin.theme, uiOptions.uiEnhancer.model.theme); }, autoSaveOptions); - }); + }); + + /******************************** + * UI Options Integration tests * + * ****************************** + */ + + var checkUIOComponents = function (uiOptions, uiEnhancer) { + jqUnit.assertTrue("", uiOptions.options.components.uiEnhancer); + jqUnit.assertTrue("", uiOptions.options.components.textControls); + jqUnit.assertTrue("", uiOptions.options.components.layoutControls); + jqUnit.assertTrue("", uiOptions.options.components.linksControls); + jqUnit.assertTrue("", uiOptions.options.components.preview); + jqUnit.assertTrue("", uiOptions.options.components.settingsStore); + jqUnit.assertTrue("", uiEnhancer.options.components.tableOfContents); + jqUnit.assertTrue("", uiEnhancer.options.components.settingsStore); + }; + + var applierRequestChanges = function (uiOptions, selectionOptions) { + uiOptions.applier.requestChange("selections.textFont", selectionOptions.textFont); + uiOptions.applier.requestChange("selections.theme", selectionOptions.theme); + uiOptions.applier.requestChange("selections.textSize", selectionOptions.textSize); + uiOptions.applier.requestChange("selections.lineSpacing", selectionOptions.lineSpacing); + }; + + tests.asyncTest("UIOptions Integration tests", function () { + testUIOptions(function (uiOptions, uiEnhancer) { + checkUIOComponents(uiOptions, uiEnhancer); + + var modelSelections = uiOptions.model.selections; + var savedSelections = uiOptions.options.savedSelections; + var defaultSettings = uiOptions.settingsStore.options.defaultSiteSettings; + + applierRequestChanges(uiOptions, bwSkin); + + jqUnit.assertEquals("", bwSkin.textFont, modelSelections.textFont); + jqUnit.assertEquals("", bwSkin.theme, modelSelections.theme); + jqUnit.assertEquals("", bwSkin.textSize, modelSelections.textSize); + jqUnit.assertEquals("", bwSkin.lineSpacing, modelSelections.lineSpacing); + + var saveButton = uiOptions.locate("save"); + saveButton.click(); + + jqUnit.assertEquals("", bwSkin.textFont, savedSelections.textFont); + jqUnit.assertEquals("", bwSkin.theme, savedSelections.theme); + jqUnit.assertEquals("", bwSkin.textSize, savedSelections.textSize); + jqUnit.assertEquals("", bwSkin.lineSpacing, savedSelections.lineSpacing); + + applierRequestChanges(uiOptions, bwSkin2); + + var cancelButton = uiOptions.locate("cancel"); + cancelButton.click(); + + jqUnit.assertEquals("", bwSkin.textFont, savedSelections.textFont); + jqUnit.assertEquals("", bwSkin.theme, savedSelections.theme); + jqUnit.assertEquals("", bwSkin.textSize, savedSelections.textSize); + jqUnit.assertEquals("", bwSkin.lineSpacing, savedSelections.lineSpacing); + + var resetButton = uiOptions.locate("reset"); + resetButton.click(); + + modelSelections = uiOptions.model.selections; + jqUnit.assertEquals("Reset model text font", modelSelections.textFont, defaultSettings.textFont); + jqUnit.assertEquals("Reset model theme", modelSelections.theme, defaultSettings.theme); + jqUnit.assertEquals("Reset model text size", modelSelections.textSize, defaultSettings.textSize); + jqUnit.assertEquals("Reset model line spacing", modelSelections.lineSpacing, defaultSettings.lineSpacing); + }); + }); }); })(jQuery); From df489af495204f00f4cd9437810774aa59294c92 Mon Sep 17 00:00:00 2001 From: mlam Date: Tue, 7 Jun 2011 16:21:02 -0400 Subject: [PATCH 2/3] FLUID-4208: Refactored integration tests. --- .../uiOptions/js/UIOptionsTests.js | 55 +++++++------------ 1 file changed, 19 insertions(+), 36 deletions(-) diff --git a/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js b/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js index 39b055fc91..4a399122ab 100644 --- a/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js +++ b/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js @@ -228,6 +228,13 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt * ****************************** */ + var applierRequestChanges = function (uiOptions, selectionOptions) { + uiOptions.applier.requestChange("selections.textFont", selectionOptions.textFont); + uiOptions.applier.requestChange("selections.theme", selectionOptions.theme); + uiOptions.applier.requestChange("selections.textSize", selectionOptions.textSize); + uiOptions.applier.requestChange("selections.lineSpacing", selectionOptions.lineSpacing); + }; + var checkUIOComponents = function (uiOptions, uiEnhancer) { jqUnit.assertTrue("", uiOptions.options.components.uiEnhancer); jqUnit.assertTrue("", uiOptions.options.components.textControls); @@ -239,54 +246,30 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt jqUnit.assertTrue("", uiEnhancer.options.components.settingsStore); }; - var applierRequestChanges = function (uiOptions, selectionOptions) { - uiOptions.applier.requestChange("selections.textFont", selectionOptions.textFont); - uiOptions.applier.requestChange("selections.theme", selectionOptions.theme); - uiOptions.applier.requestChange("selections.textSize", selectionOptions.textSize); - uiOptions.applier.requestChange("selections.lineSpacing", selectionOptions.lineSpacing); + var checkModelSelections = function (expectedSelections, actualSelections) { + jqUnit.assertEquals("", expectedSelections.textFont, actualSelections.textFont); + jqUnit.assertEquals("", expectedSelections.theme, actualSelections.theme); + jqUnit.assertEquals("", expectedSelections.textSize, actualSelections.textSize); + jqUnit.assertEquals("", expectedSelections.lineSpacing, actualSelections.lineSpacing); }; tests.asyncTest("UIOptions Integration tests", function () { testUIOptions(function (uiOptions, uiEnhancer) { checkUIOComponents(uiOptions, uiEnhancer); - var modelSelections = uiOptions.model.selections; - var savedSelections = uiOptions.options.savedSelections; - var defaultSettings = uiOptions.settingsStore.options.defaultSiteSettings; + var saveButton = uiOptions.locate("save"); + var cancelButton = uiOptions.locate("cancel"); + var resetButton = uiOptions.locate("reset"); applierRequestChanges(uiOptions, bwSkin); - - jqUnit.assertEquals("", bwSkin.textFont, modelSelections.textFont); - jqUnit.assertEquals("", bwSkin.theme, modelSelections.theme); - jqUnit.assertEquals("", bwSkin.textSize, modelSelections.textSize); - jqUnit.assertEquals("", bwSkin.lineSpacing, modelSelections.lineSpacing); - - var saveButton = uiOptions.locate("save"); + checkModelSelections(bwSkin, uiOptions.model.selections); saveButton.click(); - - jqUnit.assertEquals("", bwSkin.textFont, savedSelections.textFont); - jqUnit.assertEquals("", bwSkin.theme, savedSelections.theme); - jqUnit.assertEquals("", bwSkin.textSize, savedSelections.textSize); - jqUnit.assertEquals("", bwSkin.lineSpacing, savedSelections.lineSpacing); - + checkModelSelections(bwSkin, uiOptions.options.savedSelections); applierRequestChanges(uiOptions, bwSkin2); - - var cancelButton = uiOptions.locate("cancel"); cancelButton.click(); - - jqUnit.assertEquals("", bwSkin.textFont, savedSelections.textFont); - jqUnit.assertEquals("", bwSkin.theme, savedSelections.theme); - jqUnit.assertEquals("", bwSkin.textSize, savedSelections.textSize); - jqUnit.assertEquals("", bwSkin.lineSpacing, savedSelections.lineSpacing); - - var resetButton = uiOptions.locate("reset"); + checkModelSelections(bwSkin, uiOptions.options.savedSelections); resetButton.click(); - - modelSelections = uiOptions.model.selections; - jqUnit.assertEquals("Reset model text font", modelSelections.textFont, defaultSettings.textFont); - jqUnit.assertEquals("Reset model theme", modelSelections.theme, defaultSettings.theme); - jqUnit.assertEquals("Reset model text size", modelSelections.textSize, defaultSettings.textSize); - jqUnit.assertEquals("Reset model line spacing", modelSelections.lineSpacing, defaultSettings.lineSpacing); + checkModelSelections(uiOptions.model.selections, uiOptions.settingsStore.options.defaultSiteSettings); }); }); }); From fbe0e7b2ad29fe043a9651ef7368a538cabaa8b0 Mon Sep 17 00:00:00 2001 From: mlam Date: Tue, 7 Jun 2011 16:46:19 -0400 Subject: [PATCH 3/3] FLUID-4208: Add labels to tests. --- .../uiOptions/js/UIOptionsTests.js | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js b/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js index 4a399122ab..8bd6fe633c 100644 --- a/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js +++ b/src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js @@ -236,21 +236,21 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt }; var checkUIOComponents = function (uiOptions, uiEnhancer) { - jqUnit.assertTrue("", uiOptions.options.components.uiEnhancer); - jqUnit.assertTrue("", uiOptions.options.components.textControls); - jqUnit.assertTrue("", uiOptions.options.components.layoutControls); - jqUnit.assertTrue("", uiOptions.options.components.linksControls); - jqUnit.assertTrue("", uiOptions.options.components.preview); - jqUnit.assertTrue("", uiOptions.options.components.settingsStore); - jqUnit.assertTrue("", uiEnhancer.options.components.tableOfContents); - jqUnit.assertTrue("", uiEnhancer.options.components.settingsStore); + jqUnit.assertTrue("Check that uiEnhancer is present", uiOptions.options.components.uiEnhancer); + jqUnit.assertTrue("Check that textControls sub-component is present", uiOptions.options.components.textControls); + jqUnit.assertTrue("Check that layoutControls sub-component is present", uiOptions.options.components.layoutControls); + jqUnit.assertTrue("Check that linkControls sub-component is present", uiOptions.options.components.linksControls); + jqUnit.assertTrue("Check that preview sub-component is present", uiOptions.options.components.preview); + jqUnit.assertTrue("Check that store sub-component is present", uiOptions.options.components.settingsStore); + jqUnit.assertTrue("Check that tableOfContents sub-component is present", uiEnhancer.options.components.tableOfContents); + jqUnit.assertTrue("Check that store sub-component is present", uiEnhancer.options.components.settingsStore); }; var checkModelSelections = function (expectedSelections, actualSelections) { - jqUnit.assertEquals("", expectedSelections.textFont, actualSelections.textFont); - jqUnit.assertEquals("", expectedSelections.theme, actualSelections.theme); - jqUnit.assertEquals("", expectedSelections.textSize, actualSelections.textSize); - jqUnit.assertEquals("", expectedSelections.lineSpacing, actualSelections.lineSpacing); + jqUnit.assertEquals("Text font correctly updated", expectedSelections.textFont, actualSelections.textFont); + jqUnit.assertEquals("Theme correctly updated", expectedSelections.theme, actualSelections.theme); + jqUnit.assertEquals("Text size correctly updated", expectedSelections.textSize, actualSelections.textSize); + jqUnit.assertEquals("Line spacing correctly updated", expectedSelections.lineSpacing, actualSelections.lineSpacing); }; tests.asyncTest("UIOptions Integration tests", function () {