]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
toaster: tests Add selenium test layer source switching layer details page
authorMichael Wood <michael.g.wood@intel.com>
Mon, 22 Aug 2016 15:42:34 +0000 (16:42 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 2 Sep 2016 15:29:36 +0000 (16:29 +0100)
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.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/toaster/tests/browser/test_layerdetails_page.py

index 2fa96726733ee064481c13b89c53c7e67cf17bf7..72b6f60c2116150c8780b062022cce50125b24de 100644 (file)
@@ -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 """