10_undo_test.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. let test_utils = require('./test_utils');
  2. let model_building_utils = require('./model_building_utils');
  3. let user = "./users/testuser/";
  4. module.exports = {
  5. beforeEach : function (client) {
  6. client.url('http://localhost:8124/atompm').pause(300);
  7. },
  8. 'Login' : function (client) {
  9. test_utils.login(client);
  10. },
  11. 'Check undo of deletion' : function (client) {
  12. let filename = '/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons.metamodel';
  13. test_utils.load_toolbar(client, [filename]);
  14. let classIcon = "#\\/Formalisms\\/__LanguageSyntax__\\/SimpleClassDiagram\\/SimpleClassDiagram\\.umlIcons\\.metamodel\\/ClassIcon";
  15. client.waitForElementPresent(classIcon, 2000, "Check for class icon...");
  16. client.click(classIcon);
  17. let canvas = "#div_canvas";
  18. client.waitForElementPresent(canvas, 1000, "Checking for canvas...");
  19. let num_elements = 0;
  20. //BUILD CLASS
  21. let class_div = model_building_utils.create_class(client, 50, 200, 0);
  22. //DELETE CLASS
  23. model_building_utils.delete_element(client, class_div);
  24. //CHECK FOR PRESENCE
  25. client.waitForElementNotPresent(class_div, 1000, "Class deleted");
  26. //UNDO
  27. let undoBtn = "#\\/Toolbars\\/MainMenu\\/MainMenu\\.buttons\\.model\\/undo";
  28. client.waitForElementPresent(undoBtn, 2000, "Check for undo button...");
  29. client.click(undoBtn);
  30. client.pause(1000);
  31. client.click(undoBtn);
  32. client.waitForElementPresent(class_div, 1000, "Class restored");
  33. //SECOND DELETE
  34. model_building_utils.delete_element(client, class_div);
  35. //SECOND CHECK FOR PRESENCE
  36. client.waitForElementNotPresent(class_div, 1000, "Class deleted for second time")
  37. },
  38. after : function (client) {
  39. client.end();
  40. },
  41. };