|
|
@@ -1,26 +1,30 @@
|
|
|
-describe('refetchEventSources', function() {
|
|
|
+ddescribe('refetchEventSources', function() {
|
|
|
var calendarEl;
|
|
|
- var eventCount;
|
|
|
var options;
|
|
|
|
|
|
+ // used by createEventGenerator
|
|
|
+ var eventCount;
|
|
|
+ var fetchId;
|
|
|
+
|
|
|
beforeEach(function() {
|
|
|
affix('#cal');
|
|
|
calendarEl = $('#cal');
|
|
|
eventCount = 1;
|
|
|
+ fetchId = 7;
|
|
|
options = {
|
|
|
now: '2015-08-07',
|
|
|
defaultView: 'agendaWeek',
|
|
|
eventSources: [
|
|
|
{
|
|
|
- events: createEventGenerator('source1'),
|
|
|
+ events: createEventGenerator('source1-'),
|
|
|
color: 'green'
|
|
|
},
|
|
|
{
|
|
|
- events: createEventGenerator('source2'),
|
|
|
+ events: createEventGenerator('source2-'),
|
|
|
color: 'blue'
|
|
|
},
|
|
|
{
|
|
|
- events: createEventGenerator('source3'),
|
|
|
+ events: createEventGenerator('source3-'),
|
|
|
rendering: 'background',
|
|
|
color: 'green'
|
|
|
}
|
|
|
@@ -32,9 +36,9 @@ describe('refetchEventSources', function() {
|
|
|
it('only refetches events for the specified event source', function(done) {
|
|
|
calendarEl.fullCalendar(options);
|
|
|
|
|
|
- expect($('.source1').length).toEqual(1);
|
|
|
- expect($('.source2').length).toEqual(1);
|
|
|
- expect($('.source3').length).toEqual(1);
|
|
|
+ expect($('.source1-7').length).toEqual(1);
|
|
|
+ expect($('.source2-7').length).toEqual(1);
|
|
|
+ expect($('.source3-7').length).toEqual(1);
|
|
|
|
|
|
var allEventSources = calendarEl.fullCalendar('getEventSources');
|
|
|
var blueEventSource = $.grep(allEventSources, function(eventSource) {
|
|
|
@@ -43,13 +47,19 @@ describe('refetchEventSources', function() {
|
|
|
|
|
|
// increase the number of events for the refetched source
|
|
|
eventCount = 2;
|
|
|
+ fetchId = 8;
|
|
|
|
|
|
calendarEl.fullCalendar('refetchEventSources', blueEventSource);
|
|
|
|
|
|
- // ensure events have been updated
|
|
|
- expect($('.source1').length).toEqual(1);
|
|
|
- expect($('.source2').length).toEqual(2);
|
|
|
- expect($('.source3').length).toEqual(1);
|
|
|
+ // events from unaffected sources remain
|
|
|
+ expect($('.source1-7').length).toEqual(1);
|
|
|
+ expect($('.source3-7').length).toEqual(1);
|
|
|
+
|
|
|
+ // events from old fetch were cleared
|
|
|
+ expect($('.source2-7').length).toEqual(0);
|
|
|
+
|
|
|
+ // events from new fetch were rendered
|
|
|
+ expect($('.source2-8').length).toEqual(2);
|
|
|
|
|
|
done();
|
|
|
});
|
|
|
@@ -59,9 +69,9 @@ describe('refetchEventSources', function() {
|
|
|
it('only refetches events for the specified event sources', function(done) {
|
|
|
calendarEl.fullCalendar(options);
|
|
|
|
|
|
- expect($('.source1').length).toEqual(1);
|
|
|
- expect($('.source2').length).toEqual(1);
|
|
|
- expect($('.source3').length).toEqual(1);
|
|
|
+ expect($('.source1-7').length).toEqual(1);
|
|
|
+ expect($('.source2-7').length).toEqual(1);
|
|
|
+ expect($('.source3-7').length).toEqual(1);
|
|
|
|
|
|
var allEventSources = calendarEl.fullCalendar('getEventSources');
|
|
|
var greenEventSources = $.grep(allEventSources, function(eventSource) {
|
|
|
@@ -70,19 +80,26 @@ describe('refetchEventSources', function() {
|
|
|
|
|
|
// increase the number of events for the refetched sources
|
|
|
eventCount = 2;
|
|
|
+ fetchId = 8;
|
|
|
|
|
|
calendarEl.fullCalendar('refetchEventSources', greenEventSources);
|
|
|
|
|
|
- // ensure events have been updated
|
|
|
- expect($('.source1').length).toEqual(2);
|
|
|
- expect($('.source2').length).toEqual(1);
|
|
|
- expect($('.source3').length).toEqual(2);
|
|
|
+ // events from unaffected sources remain
|
|
|
+ expect($('.source2-7').length).toEqual(1);
|
|
|
+
|
|
|
+ // events from old fetch were cleared
|
|
|
+ expect($('.source1-7').length).toEqual(0);
|
|
|
+ expect($('.source3-7').length).toEqual(0);
|
|
|
+
|
|
|
+ // events from new fetch were rendered
|
|
|
+ expect($('.source1-8').length).toEqual(2);
|
|
|
+ expect($('.source3-8').length).toEqual(2);
|
|
|
|
|
|
done();
|
|
|
});
|
|
|
});
|
|
|
|
|
|
- function createEventGenerator(className) {
|
|
|
+ function createEventGenerator(classNamePrefix) {
|
|
|
return function(start, end, timezone, callback) {
|
|
|
var events = [];
|
|
|
|
|
|
@@ -90,8 +107,8 @@ describe('refetchEventSources', function() {
|
|
|
events.push({
|
|
|
start: '2015-08-07T02:00:00',
|
|
|
end: '2015-08-07T03:00:00',
|
|
|
- className: className,
|
|
|
- title: className // also make it the title
|
|
|
+ className: classNamePrefix + fetchId,
|
|
|
+ title: classNamePrefix // also make it the title
|
|
|
});
|
|
|
}
|
|
|
|