Browse Source

Add test for renaming files.

bentleyjoakes 5 years ago
parent
commit
d73a9103a1
2 changed files with 50 additions and 0 deletions
  1. 10 0
      tests/03_model_test.js
  2. 40 0
      tests/model_building_utils.js

+ 10 - 0
tests/03_model_test.js

@@ -36,6 +36,16 @@ module.exports = {
         test_utils.load_model(client, filenames);
     },
 
+    'Rename model' : function (client) {
+
+        let filename = 'Formalisms/ClassicDEVS/ClassicDEVS.model';
+        let old_filename = 'Test.model';
+        let new_filename = 'Test2.model';
+        test_utils.load_model(client, [filename]);
+        model_building_utils.save_model(client, "~", old_filename)
+        model_building_utils.rename_model(client, "~", old_filename, new_filename)
+    },
+
     after : function (client) {
         client.end();
     },

+ 40 - 0
tests/model_building_utils.js

@@ -157,6 +157,10 @@ function navigate_to_folder(client, folder_name) {
     client.waitForElementPresent(root_button, 2000, "Find root button")
         .click(root_button);
 
+    if (folder_name === "~") {
+        return;
+    }
+
     let new_folder_selector = "#new_folder";
     let folder_path = folder_name.split("/");
 
@@ -234,6 +238,41 @@ function save_model(client, folder_name, model_name) {
     );
 }
 
+function rename_model(client, folder_name, old_filename, new_filename) {
+    let load_button = "#\\2f Toolbars\\2f MainMenu\\2f MainMenu\\2e buttons\\2e model\\2f loadModel";
+
+    client.waitForElementPresent(load_button, 1000, "Looking for load button")
+        .click(load_button)
+        .waitForElementPresent("#dialog_btn", 1000, "Load menu opens");
+
+    navigate_to_folder(client, folder_name);
+
+    let rename_file_text = "#rename_file";
+    let model_selector = "#" + fix_selector(old_filename);
+    client.element('css selector', model_selector, function (result) {
+            if (result.status == -1) {
+                client.assert.ok(false, "Could not find file with name: '" + old_filename + "'");
+            } else {
+                client.click(model_selector);
+            }
+
+            client.click(rename_file_text)
+                    .pause(500)
+                    .setAlertText(new_filename)
+                    .acceptAlert();
+
+            client.assert.ok(true, "Renaming model to name: '" + new_filename + "'");
+
+            client.waitForElementPresent("#dialog_cancel_btn", 2000, "Looking for close")
+                .pause(200)
+                .click("#dialog_cancel_btn")
+                .pause(200)
+                .waitForElementNotPresent("#dialog_cancel_btn", 2000, "Load menu closes");
+
+        }
+    );
+}
+
 function load_transformation(client, folder_name, model_name) {
     compile_model(client, "transform", folder_name, model_name);
 }
@@ -326,6 +365,7 @@ module.exports = {
     click_off,
     save_model,
     load_model,
+    rename_model,
     compile_model,
     load_transformation,
     scroll_geometry_element,