123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- (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();
- });
- });
- });
- QUnit.test("post, patch, put, delete", function(assert) {
- $.mockjax({
- type: 'POST',
- url: '/test-url/',
- status: 200,
- responseText: {
- 'detail': 'posted'
- }
- });
- $.mockjax({
- type: 'PATCH',
- url: '/test-url/',
- status: 200,
- responseText: {
- 'detail': 'patched'
- }
- });
- $.mockjax({
- type: 'PUT',
- url: '/test-url/',
- status: 200,
- responseText: {
- 'detail': 'put'
- }
- });
- $.mockjax({
- type: 'DELETE',
- url: '/test-url/',
- status: 200,
- responseText: {
- 'detail': 'deleted'
- }
- });
- var container = {
- context: {
- CSRF_COOKIE_NAME: 'doesnt-matter',
- '/test-url/': {
- 'detail': 'preloaded'
- }
- }
- };
- var service = getMisagoService('ajax');
- var ajax = service(container);
- var donePost = assert.async();
- var donePatch = assert.async();
- var donePut = assert.async();
- var doneDelete = assert.async();
- ajax.post('/test-url/', {}).then(function(data) {
- assert.equal(data.detail, 'posted', 'post() call succeeded');
- donePost();
- });
- ajax.patch('/test-url/', {}).then(function(data) {
- assert.equal(data.detail, 'patched', 'patch() call succeeded');
- donePatch();
- });
- ajax.put('/test-url/', {}).then(function(data) {
- assert.equal(data.detail, 'put', 'put() call succeeded');
- donePut();
- });
- ajax.delete('/test-url/').then(function(data) {
- assert.equal(data.detail, 'deleted', 'delete() call succeeded');
- doneDelete();
- });
- });
- }());
|