فهرست منبع

Add tests to scale and rotate elements.

Bentley James Oakes 7 سال پیش
والد
کامیت
f87a6e9138
3فایلهای تغییر یافته به همراه45 افزوده شده و 2 حذف شده
  1. 2 0
      client/geometry_utils.js
  2. 27 1
      tests/05_creating_dsl.js
  3. 16 1
      tests/model_building_utils.js

+ 2 - 0
client/geometry_utils.js

@@ -305,6 +305,7 @@ GeometryUtils = function(){
 					var img = $('<img>');
 					img.attr('class', 'geometry_ctrl');
 					img.attr('src', 'client/media/'+x+'.png');
+					img.attr('id', x + "_btn");
 
 					let wheelFunc = function(event)
 					{
@@ -327,6 +328,7 @@ GeometryUtils = function(){
 			var img = $('<img>');
 			img.attr('class', 'geometry_ctrl');
 			img.attr('src', 'client/media/ok.png');
+			img.attr('id', "ok_btn");
 			img.click(function(event) {GeometryUtils.transformSelection(__GEOM_TRANSF);});
 			geometryControlsOverlay.append(img);
 		}

+ 27 - 1
tests/05_creating_dsl.js

@@ -633,13 +633,39 @@ module.exports = {
             model_building_utils.click_off(client);
 
         }
-        
+
+        //SCALE AND ROTATE TESTS
+
+        let scale_element_div = "#\\/autotest\\/autotest\\.defaultIcons\\/ClassDIcon\\/3\\.instance";
+        model_building_utils.move_to_element_ratio(client, scale_element_div, 50, 50);
+        client.mouseButtonClick('left').pause(300);
+        //client.setValue(scale_element_div, client.Keys.CONTROL);
+
+        //TODO: Can't send CONTROL key
+        client.execute(function () {
+            GeometryUtils.showGeometryControlsOverlay();
+        }, [], null);
+
+
+        let resize_btn_div = "#resize_btn";
+        let resizeH_btn_div = "#resizeH_btn";
+        let resizeW_btn_div = "#resizeW_btn";
+        let rotate_btn_div = "#rotate_btn";
+        let ok_btn_div = "#ok_btn";
+
+        model_building_utils.scroll_geometry_element(client, resize_btn_div, 120, 8);
+        model_building_utils.scroll_geometry_element(client, resizeH_btn_div, -60, 8);
+        model_building_utils.scroll_geometry_element(client, resizeW_btn_div, -60, 8);
+        model_building_utils.scroll_geometry_element(client, rotate_btn_div, 120, 8);
+        client.click(ok_btn_div);
+
         // SAVE INSTANCE MODEL
         let folder_name = "autotest";
         model_building_utils.save_model(client, folder_name, "autotest_instance.model");
 
         client.pause(1000);
 
+
     },
 
     after: function (client) {

+ 16 - 1
tests/model_building_utils.js

@@ -188,6 +188,20 @@ function delete_element(client, element){
     this.click_off(client);
 }
 
+function scroll_geometry_element(client, element, scrollAmount, scrollTimes){
+        client.waitForElementPresent(element, 2000, element + " present");
+        this.move_to_element_ratio(client, element, 50, 50);
+        client.execute(function(btn_div, scrollAmount, scrollTimes){
+            let element = $(btn_div);
+            for (let i=0; i < scrollTimes; i++){
+                element.get(0).onwheel(scrollAmount);
+            }
+        }, [element, scrollAmount, scrollTimes], null);
+
+        client.pause(1000);
+}
+
+
 module.exports = {
     '@disabled': true,
     get_element_div,
@@ -201,5 +215,6 @@ module.exports = {
     move_to_element_ratio,
     click_off,
     save_model,
-    compile_model
+    compile_model,
+    scroll_geometry_element
 };