apiService.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. var apiService = angular.module('apiService', []);
  2. apiService.factory('API', ['$location', 'Runs', 'Results', function($location, Runs, Results) {
  3. return {
  4. launchTest: function(url, settings) {
  5. var runObject = {
  6. url: url,
  7. waitForResponse: false,
  8. screenshot: true,
  9. jsTimeline: true,
  10. device: settings.device
  11. };
  12. if (settings.waitForSelector && settings.waitForSelector !== '') {
  13. runObject.waitForSelector = settings.waitForSelector;
  14. }
  15. if (settings.cookie && settings.cookie !== '') {
  16. runObject.cookie = settings.cookie;
  17. }
  18. if (settings.authUser && settings.authUser !== '' && settings.authPass && settings.authPass !== '') {
  19. runObject.authUser = settings.authUser;
  20. runObject.authPass = settings.authPass;
  21. }
  22. Runs.save(runObject, function(data) {
  23. $location.path('/queue/' + data.runId);
  24. }, function(response) {
  25. if (response.status === 429) {
  26. alert('Too many requests, you reached the max number of requests allowed in 24h');
  27. } else {
  28. alert('An error occured...');
  29. }
  30. });
  31. },
  32. relaunchTest: function(result) {
  33. this.launchTest(result.params.url, result.params.options);
  34. }
  35. };
  36. }]);