diff --git a/tests/automated/events-json-feed.js b/tests/automated/events-json-feed.js index fe69c4d..2ed7605 100644 --- a/tests/automated/events-json-feed.js +++ b/tests/automated/events-json-feed.js @@ -2,59 +2,72 @@ describe('events as a json feed', function() { var options; - var sampleResponse; beforeEach(function() { - jasmine.Ajax.install(); affix('#cal'); + options = { defaultDate: '2014-05-01', defaultView: 'month' }; - sampleResponse = { - status: 200, - responseText: JSON.stringify([ + + $.mockjax({ + url: '*', + contentType: 'text/json', + responseText: [ { title: 'my event', start: '2014-05-21' } - ]) - }; + ] + }); + $.mockjaxSettings.log = function() { }; // don't console.log + }); + + afterEach(function() { + $.mockjaxClear(); }); it('requests correctly when no timezone', function() { options.events = 'my-feed.php'; $('#cal').fullCalendar(options); - var request = jasmine.Ajax.requests.mostRecent(); - expect(request.url).toMatch(/^my-feed\.php\?start=2014-04-27&end=2014-06-08&_=/); + var request = $.mockjax.mockedAjaxCalls()[0]; + expect(request.data.start).toEqual('2014-04-27'); + expect(request.data.end).toEqual('2014-06-08'); + expect(request.data.timezone).toBeUndefined(); }); it('requests correctly when local timezone', function() { options.events = 'my-feed.php'; options.timezone = 'local'; $('#cal').fullCalendar(options); - var request = jasmine.Ajax.requests.mostRecent(); - expect(request.url).toMatch(/^my-feed\.php\?start=2014-04-27&end=2014-06-08&_=/); + var request = $.mockjax.mockedAjaxCalls()[0]; + expect(request.data.start).toEqual('2014-04-27'); + expect(request.data.end).toEqual('2014-06-08'); + expect(request.data.timezone).toBeUndefined(); }); it('requests correctly when UTC timezone', function() { options.events = 'my-feed.php'; options.timezone = 'UTC'; $('#cal').fullCalendar(options); - var request = jasmine.Ajax.requests.mostRecent(); - expect(request.url).toMatch(/^my-feed\.php\?start=2014-04-27&end=2014-06-08&timezone=UTC&_=/); + var request = $.mockjax.mockedAjaxCalls()[0]; + expect(request.data.start).toEqual('2014-04-27'); + expect(request.data.end).toEqual('2014-06-08'); + expect(request.data.timezone).toEqual('UTC'); }); it('requests correctly when custom timezone', function() { options.events = 'my-feed.php'; options.timezone = 'America/Chicago'; $('#cal').fullCalendar(options); - var request = jasmine.Ajax.requests.mostRecent(); - expect(request.url).toMatch(/^my-feed\.php\?start=2014-04-27&end=2014-06-08&timezone=America%2FChicago&_=/); + var request = $.mockjax.mockedAjaxCalls()[0]; + expect(request.data.start).toEqual('2014-04-27'); + expect(request.data.end).toEqual('2014-06-08'); + expect(request.data.timezone).toEqual('America/Chicago'); }); it('requests correctly with event source extended form', function(done) { - var request; var eventSource = { url: 'my-feed.php', className: 'customeventclass' @@ -62,17 +75,17 @@ describe('events as a json feed', function() { options.eventSources = [ eventSource ]; options.timezone = 'America/Chicago'; options.eventRender = function(eventObj, eventElm) { - expect(request.url).toMatch(/^my-feed\.php\?start=2014-04-27&end=2014-06-08&timezone=America%2FChicago&_=/); + var request = $.mockjax.mockedAjaxCalls()[0]; + expect(request.data.start).toEqual('2014-04-27'); + expect(request.data.end).toEqual('2014-06-08'); + expect(request.data.timezone).toEqual('America/Chicago'); expect(eventElm).toHaveClass('customeventclass'); done(); }; $('#cal').fullCalendar(options); - request = jasmine.Ajax.requests.mostRecent(); - request.response(sampleResponse); }); it('accepts jQuery.ajax params', function(done) { - var request; var eventSource = { url: 'my-feed.php', data: { @@ -83,18 +96,15 @@ describe('events as a json feed', function() { spyOn(eventSource, 'success').and.callThrough(); options.eventSources = [ eventSource ]; options.eventAfterAllRender = function() { - expect(request.url).toMatch(/^my-feed\.php/); - expect(request.url).toMatch(/[?&]customParam=yes/); + var request = $.mockjax.mockedAjaxCalls()[0]; + expect(request.data.customParam).toMatch('yes'); expect(eventSource.success.calls.count()).toEqual(1); done(); }; $('#cal').fullCalendar(options); - request = jasmine.Ajax.requests.mostRecent(); - request.response(sampleResponse); // needed to trigger eventAfterAllRender (bad) }); it('accepts a dynamic data function', function(done) { - var request; var eventSource = { url: 'my-feed.php', data: function() { @@ -105,13 +115,11 @@ describe('events as a json feed', function() { }; options.eventSources = [ eventSource ]; options.eventAfterAllRender = function() { - expect(request.url).toMatch(/^my-feed\.php/); - expect(request.url).toMatch(/[?&]customParam=heckyeah/); + var request = $.mockjax.mockedAjaxCalls()[0]; + expect(request.data.customParam).toMatch('heckyeah'); done(); }; $('#cal').fullCalendar(options); - request = jasmine.Ajax.requests.mostRecent(); - request.response(sampleResponse); // needed to trigger eventAfterAllRender (bad) }); });