test_utils.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. function login(client) {
  2. client.execute(
  3. function () {
  4. UserManagement.login('testuser');
  5. }, [], null
  6. );
  7. client.pause(300);
  8. client.getTitle(function (title) {
  9. this.assert.ok(title.includes("AToMPM - [Unnamed]"), "AToMPM is opened");
  10. });
  11. }
  12. function load_model(client, fnames) {
  13. for (const name of fnames) {
  14. client.execute(
  15. function (fname) {
  16. _loadModel(fname);
  17. }, [name], null
  18. );
  19. client.pause(500);
  20. client.getTitle(function (title) {
  21. this.assert.ok(title.includes(name), "Check for model: " + name);
  22. });
  23. }
  24. }
  25. function load_toolbar(client, fnames) {
  26. for (let name of fnames) {
  27. client.execute(
  28. function (fname) {
  29. _loadToolbar(fname);
  30. }, [name], null
  31. );
  32. let toolbar_name = name.replace(/\//g, "\\2f ").replace(/\./g, "\\2e ");
  33. toolbar_name = "#div_toolbar_" + toolbar_name;
  34. client.waitForElementPresent(toolbar_name, 2000, "Check for toolbar: " + name);
  35. }
  36. }
  37. let user = "./users/testuser/";
  38. let glob = require('glob');
  39. let getFiles = function (client, dir, pattern, load_function, failing_files) {
  40. glob(dir + pattern, callback(client, load_function, failing_files));
  41. };
  42. function callback(client, load_function, failing_files) {
  43. return function (err, res) {
  44. if (err) {
  45. assert(false, "Error in reading directory: " + user + "Toolbars");
  46. } else {
  47. let filenames = [];
  48. for (let i in res) {
  49. let fn = res[i];
  50. fn = "\/" + fn.replace(user, "");
  51. //skip files we know will fail
  52. if (failing_files == undefined || !failing_files.includes(fn)) {
  53. filenames.push(fn);
  54. }
  55. }
  56. //console.log(filenames);
  57. load_function(client, filenames);
  58. }
  59. }
  60. }
  61. module.exports = {
  62. '@disabled': true,
  63. login,
  64. load_model,
  65. load_toolbar,
  66. getFiles
  67. };