From 4daae7987532eb199a8810be2586dfccaebf8053 Mon Sep 17 00:00:00 2001 From: Michael Wood Date: Mon, 22 Aug 2016 16:42:34 +0100 Subject: [PATCH] bitbake: toaster: tests Add selenium test layer source switching layer details page Add selenium tests for the new layer source switching functionality on the layer details page. Edits the values for git repository and saves and then edits the details for directory information and saves. (Bitbake rev: acdfafdd753abe38a313c42e3a9d6211338b4e73) Signed-off-by: Michael Wood Signed-off-by: Elliot Smith Signed-off-by: Richard Purdie --- .../tests/browser/test_layerdetails_page.py | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py b/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py index 2fa9672673..72b6f60c21 100644 --- a/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py +++ b/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py @@ -82,15 +82,17 @@ class TestLayerDetailsPage(SeleniumTestCase): self.get(self.url) self.click("#add-remove-layer-btn") + self.click("#edit-layer-source") + self.click("#repo") + + self.wait_until_visible("#layer-git-repo-url") # Open every edit box for btn in self.find_all("dd .glyphicon-edit"): btn.click() - self.wait_until_visible("dd input") - # Edit each value - for inputs in self.find_all("dd input[type=text]") + \ + for inputs in self.find_all("#layer-git input[type=text]") + \ self.find_all("dd textarea"): # ignore the tt inputs (twitter typeahead input) if "tt-" in inputs.get_attribute("class"): @@ -104,16 +106,20 @@ class TestLayerDetailsPage(SeleniumTestCase): inputs.send_keys("-edited") + # Save the new values for save_btn in self.find_all(".change-btn"): save_btn.click() + self.click("#save-changes-for-switch") + self.wait_until_visible("#edit-layer-source") + # Refresh the page to see if the new values are returned self.get(self.url) new_values = ["%s-edited" % old_val for old_val in self.initial_values] - for inputs in self.find_all('dd input[type="text"]') + \ + for inputs in self.find_all('#layer-git input[type="text"]') + \ self.find_all('dd textarea'): # ignore the tt inputs (twitter typeahead input) if "tt-" in inputs.get_attribute("class"): @@ -125,6 +131,24 @@ class TestLayerDetailsPage(SeleniumTestCase): "Expecting any of \"%s\" but got \"%s\"" % (new_values, value)) + # Now convert it to a local layer + self.click("#edit-layer-source") + self.click("#dir") + dir_input = self.wait_until_visible("#layer-dir-path-in-details") + + new_dir = "/home/test/my-meta-dir" + dir_input.send_keys(new_dir) + + self.click("#save-changes-for-switch") + self.wait_until_visible("#edit-layer-source") + + # Refresh the page to see if the new values are returned + self.get(self.url) + dir_input = self.find("#layer-dir-path-in-details") + self.assertTrue(new_dir in dir_input.get_attribute("value"), + "Expected %s in the dir value for layer directory" % + new_dir) + def test_delete_layer(self): """ Delete the layer """