mirror of
https://github.com/wassname/fullcalendar.git
synced 2026-08-12 12:00:40 +08:00
dayRender test
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
|
||||
describe('dayRender', function() {
|
||||
|
||||
beforeEach(function() {
|
||||
affix('#cal');
|
||||
});
|
||||
|
||||
it('is triggered upon initialization of a view, with correct parameters', function() {
|
||||
var options = {
|
||||
defaultView: 'month',
|
||||
weekMode: 'fixed',
|
||||
defaultDate: '2014-05-01',
|
||||
dayRender: function(date, cell) {
|
||||
expect(moment.isMoment(date)).toEqual(true);
|
||||
expect(date.hasTime()).toEqual(false);
|
||||
expect(date.format()).toEqual(cell.data('date'));
|
||||
expect(cell).toBeInDOM();
|
||||
}
|
||||
};
|
||||
|
||||
spyOn(options, 'dayRender').and.callThrough();
|
||||
$('#cal').fullCalendar(options);
|
||||
expect(options.dayRender.calls.count()).toEqual(42);
|
||||
});
|
||||
|
||||
it('is called when view is changed', function() {
|
||||
var options = {
|
||||
defaultView: 'month',
|
||||
weekMode: 'fixed',
|
||||
defaultDate: '2014-05-01',
|
||||
dayRender: function(date, cell) { }
|
||||
};
|
||||
|
||||
spyOn(options, 'dayRender').and.callThrough();
|
||||
$('#cal').fullCalendar(options);
|
||||
options.dayRender.calls.reset();
|
||||
$('#cal').fullCalendar('changeView', 'basicWeek');
|
||||
expect(options.dayRender.calls.count()).toEqual(7);
|
||||
});
|
||||
|
||||
// called if the date is navigated to a different visible range
|
||||
it('is called when view is changed', function() {
|
||||
var options = {
|
||||
defaultView: 'basicWeek',
|
||||
defaultDate: '2014-05-01',
|
||||
dayRender: function(date, cell) { }
|
||||
};
|
||||
|
||||
spyOn(options, 'dayRender').and.callThrough();
|
||||
$('#cal').fullCalendar(options);
|
||||
options.dayRender.calls.reset();
|
||||
$('#cal').fullCalendar('gotoDate', '2014-05-04'); // a day in the next week
|
||||
expect(options.dayRender.calls.count()).toEqual(7);
|
||||
});
|
||||
|
||||
it('won\'t be called when date is navigated but remains in the current visible range', function() {
|
||||
var options = {
|
||||
defaultView: 'basicWeek',
|
||||
defaultDate: '2014-05-01',
|
||||
dayRender: function(date, cell) { }
|
||||
};
|
||||
|
||||
spyOn(options, 'dayRender').and.callThrough();
|
||||
$('#cal').fullCalendar(options);
|
||||
options.dayRender.calls.reset();
|
||||
$('#cal').fullCalendar('gotoDate', '2014-05-02'); // a day in the same week
|
||||
expect(options.dayRender.calls.count()).toEqual(0);
|
||||
});
|
||||
|
||||
it('allows you to modify the element', function() {
|
||||
var options = {
|
||||
defaultView: 'month',
|
||||
weekMode: 'fixed',
|
||||
defaultDate: '2014-05-01',
|
||||
dayRender: function(date, cell) {
|
||||
if (date.isSame('2014-05-01')) {
|
||||
cell.addClass('mycustomclass');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$('#cal').fullCalendar(options);
|
||||
expect($('#cal td[data-date="2014-05-01"]')).toHaveClass('mycustomclass');
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user