Source: synchronous/ajax.js

  1. import Ember from 'ember';
  2. /**
  3. * @module
  4. */
  5. /**
  6. * Sets up the Ajax events for unit tests
  7. *
  8. * @class
  9. */
  10. class AjaxHelper {
  11. /**
  12. * Emulate the beginning of an AJAX request
  13. *
  14. * @function
  15. * @static
  16. * @param {String} [endpoint]
  17. * @returns {undefined}
  18. */
  19. static begin( endpoint ) {
  20. Ember.run( () => {
  21. if ( endpoint ) {
  22. Ember.$( document ).trigger( 'ajaxSend', [ null, { url: endpoint } ] );
  23. } else {
  24. Ember.$( document ).trigger( 'ajaxStart' );
  25. }
  26. });
  27. }
  28. /**
  29. * Emulate the conclusion of an AJAX request
  30. *
  31. * @function
  32. * @static
  33. * @param {String} [endpoint]
  34. * @returns {undefined}
  35. */
  36. static end( endpoint ) {
  37. Ember.run( () => {
  38. if ( endpoint ) {
  39. Ember.$( document ).trigger( 'ajaxComplete', [ null, { url: endpoint } ] );
  40. } else {
  41. Ember.$( document ).trigger( 'ajaxStop' );
  42. }
  43. });
  44. }
  45. }
  46. export default AjaxHelper;