123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- (function () {
- 'use strict';
- QUnit.module("Ajax", {
- afterEach: function() {
- $.mockjax.clear();
- }
- });
- QUnit.test("service factory", function(assert) {
- var container = {context: {CSRF_COOKIE_NAME: 'doesnt-matter'}};
- var service = getMisagoService('ajax');
- var ajax = service(container);
- assert.ok(ajax,
- "service factory has returned service instance.");
- });
- QUnit.test("ajax success", function(assert) {
- $.mockjax({
- url: '/working-url/',
- status: 200,
- responseText: {
- 'detail': 'ok'
- }
- });
- var container = { context: { CSRF_COOKIE_NAME: 'doesnt-matter' } };
- var service = getMisagoService('ajax');
- var ajax = service(container);
- var done = assert.async();
- ajax.ajax('GET', '/working-url/').then(function(data) {
- assert.equal(data.detail, 'ok', 'ajax succeeded on /working-url/');
- done();
- });
- });
- QUnit.test("ajax fail", function(assert) {
- $.mockjax({
- url: '/failing-url/',
- status: 400,
- responseText: {
- 'detail': 'fail'
- }
- });
- var container = { context: { CSRF_COOKIE_NAME: 'doesnt-matter' } };
- var service = getMisagoService('ajax');
- var ajax = service(container);
- var done = assert.async();
- ajax.ajax('GET', '/failing-url/').then(function() {
- assert.ok(false, 'ajax succeeded on /failing-url/');
- }, function(rejection) {
- assert.equal(rejection.detail, 'fail',
- 'ajax handled error from /failing-url/');
- done();
- });
- });
- QUnit.test("get", function(assert) {
- $.mockjax({
- url: '/test-url/',
- status: 200,
- responseText: {
- 'detail': 'backend'
- }
- });
- var container = {
- context: {
- CSRF_COOKIE_NAME: 'doesnt-matter',
- '/test-url/': {
- 'detail': 'preloaded'
- }
- }
- };
- var service = getMisagoService('ajax');
- var ajax = service(container);
- var done = assert.async();
- ajax.get('/test-url/').then(function(data) {
- assert.equal(data.detail, 'preloaded', 'get() read preloaded data');
- ajax.get('/test-url/').then(function(data) {
- assert.equal(data.detail, 'backend', 'get() read backend data');
- done();
- });
- });
- });
- }());
|