Testing the dayname (at least the current) in basicDay and agendaDay views

This commit is contained in:
David Asabina
2014-05-23 17:21:15 +02:00
parent 107cf134f2
commit dfe3fc72b1
+134
View File
@@ -0,0 +1,134 @@
// TODO: fix dates in moment
describe('day names', function() {
var settings = {};
var dayClasses = [
'.fc-sun',
'.fc-mon',
'.fc-tue',
'.fc-wed',
'.fc-thu',
'.fc-fri',
'.fc-sat',
];
beforeEach(function() {
affix('#cal');
settings = { }
});
describe('when view is basicDay', function() {
beforeEach(function() {
moment.lang();
settings.defaultView = 'basicDay';
});
describe('when lang is default', function() {
beforeEach(function() {
settings.lang = 'en';
});
it('should be in the default language and order', function() {
$('#cal').fullCalendar(settings);
var weekdays = moment.weekdays();
$('.fc-day-header').each(function(index, item) {
expect(item).toHaveText(weekdays[moment().weekday()]);
});
});
});
describe('when lang is not default', function() {
var languages = [ 'es', 'fr', 'de', 'zh-cn', 'es' ];
$.each(languages, function(index, language) {
it('should be in the selected language and corresponding order', function() {
settings.lang = language;
$('#cal').fullCalendar(settings);
moment.lang(language);
var dow = moment.langData(language)._week.dow
var weekdays = moment.weekdays();
$('.fc-day-header').each(function(index, item) {
expect(item).toContainText(weekdays[(moment().weekday() + dow) % 7]);
});
});
});
});
describe('when daynames are specified', function() {
it('should contain the specified names in the given order', function() {
var days = [
'Hovjaj', 'maSjaj', 'veSjaj', 'mechjaj', 'jevjaj', 'parmaqjaj', 'HoSjaj'
];
moment.lang('en'); // TODO: figure out why 'en' is explicitely needed to get dow set
settings.dayNames = days;
$('#cal').fullCalendar(settings);
$('.fc-day-header').each(function(index, item) {
expect(item).toContainText(days[moment().weekday()]);
});
});
});
});
describe('when view is agendaDay', function() {
beforeEach(function() {
settings.defaultView = 'agendaDay';
});
describe('when lang is default', function() {
beforeEach(function() {
moment.lang('en');
});
it('should contain the proper dayname', function() {
$('#cal').fullCalendar(settings);
var currentWeekday = moment.weekdays()[moment().weekday()];
var itemClasses = '.fc-col0.fc-widget-header';
expect($(itemClasses)[0]).toContainText(currentWeekday);
});
});
describe('when lang is not default', function() {
it('should contain the dayname in the selected lang', function() {
var language = 'es';
settings.lang = language;
moment.lang(language);
$('#cal').fullCalendar(settings);
var dow = moment.langData(language)._week.dow
console.log('dow is ' + dow);
var currentWeekday = moment.weekdays()[(moment().weekday() + dow) % 7];
var dayClasses = '.fc-col0.fc-widget-header';
console.log('today is ' + currentWeekday + ' UI:' + $(dayClasses)[0].innerHTML);
expect($(dayClasses)[0]).toContainText(currentWeekday);
});
});
describe('when daynames are specified', function() {
it('should contain the specified names in the given order', function() {
var days = [
'Hovjaj', 'maSjaj', 'veSjaj', 'mechjaj', 'jevjaj', 'parmaqjaj', 'HoSjaj'
];
settings.dayNames = days;
moment.lang('en'); // TODO: figure out how to reload moment.js defauls
$('#cal').fullCalendar(settings);
var currentWeekday = days[moment().weekday()];
var dayClasses = '.fc-col0.fc-widget-header';
expect($(dayClasses)[0]).toContainText(currentWeekday);
});
});
});
});