ajax.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. (function () {
  2. 'use strict';
  3. QUnit.module("Ajax", {
  4. afterEach: function() {
  5. $.mockjax.clear();
  6. }
  7. });
  8. QUnit.test("service factory", function(assert) {
  9. var container = { context: { CSRF_COOKIE_NAME: 'doesnt-matter' } };
  10. var service = getMisagoService('ajax');
  11. var ajax = service(container);
  12. assert.ok(ajax,
  13. "service factory has returned service instance.");
  14. });
  15. QUnit.test("ajax success", function(assert) {
  16. $.mockjax({
  17. url: '/working-url/',
  18. status: 200,
  19. responseText: {
  20. 'detail': 'ok'
  21. }
  22. });
  23. var container = { context: { CSRF_COOKIE_NAME: 'doesnt-matter' } };
  24. var service = getMisagoService('ajax');
  25. var ajax = service(container);
  26. var done = assert.async();
  27. ajax.ajax('GET', '/working-url/').then(function(data) {
  28. assert.equal(data.detail, 'ok', 'ajax succeeded on /working-url/');
  29. done();
  30. });
  31. });
  32. QUnit.test("ajax fail", function(assert) {
  33. $.mockjax({
  34. url: '/failing-url/',
  35. status: 400,
  36. responseText: {
  37. 'detail': 'fail'
  38. }
  39. });
  40. var container = { context: { CSRF_COOKIE_NAME: 'doesnt-matter' } };
  41. var service = getMisagoService('ajax');
  42. var ajax = service(container);
  43. var done = assert.async();
  44. ajax.ajax('GET', '/failing-url/').then(function() {
  45. assert.ok(false, 'ajax succeeded on /failing-url/');
  46. }, function(rejection) {
  47. assert.equal(rejection.detail, 'fail',
  48. 'ajax handled error from /failing-url/');
  49. done();
  50. });
  51. });
  52. }());