1. /* global QUnit, DateTimeShortcuts */
    
  2. 'use strict';
    
  3. 
    
  4. QUnit.module('admin.DateTimeShortcuts');
    
  5. 
    
  6. QUnit.test('init', function(assert) {
    
  7.     const $ = django.jQuery;
    
  8. 
    
  9.     const dateField = $('<input type="text" class="vDateField" value="2015-03-16"><br>');
    
  10.     $('#qunit-fixture').append(dateField);
    
  11. 
    
  12.     DateTimeShortcuts.init();
    
  13. 
    
  14.     const shortcuts = $('.datetimeshortcuts');
    
  15.     assert.equal(shortcuts.length, 1);
    
  16.     assert.equal(shortcuts.find('a:first').text(), 'Today');
    
  17.     assert.equal(shortcuts.find('a:last .date-icon').length, 1);
    
  18. 
    
  19.     // To prevent incorrect timezone warnings on date/time widgets, timezoneOffset
    
  20.     // should be 0 when a timezone offset isn't set in the HTML body attribute.
    
  21.     assert.equal(DateTimeShortcuts.timezoneOffset, 0);
    
  22. });
    
  23. 
    
  24. QUnit.test('custom time shortcuts', function(assert) {
    
  25.     const $ = django.jQuery;
    
  26.     const timeField = $('<input type="text" name="time_test" class="vTimeField">');
    
  27.     $('#qunit-fixture').append(timeField);
    
  28.     DateTimeShortcuts.clockHours.time_test = [['3 a.m.', 3]];
    
  29.     DateTimeShortcuts.init();
    
  30.     assert.equal($('.clockbox').find('a').first().text(), '3 a.m.');
    
  31. });
    
  32. 
    
  33. QUnit.test('time zone offset warning', function(assert) {
    
  34.     const $ = django.jQuery;
    
  35.     const savedOffset = $('body').attr('data-admin-utc-offset');
    
  36.     const timeField = $('<input type="text" name="time_test" class="vTimeField">');
    
  37.     $('#qunit-fixture').append(timeField);
    
  38.     $('body').attr('data-admin-utc-offset', new Date().getTimezoneOffset() * -60 + 3600);
    
  39.     DateTimeShortcuts.init();
    
  40.     $('body').attr('data-admin-utc-offset', savedOffset);
    
  41.     assert.equal($('.timezonewarning').text(), 'Note: You are 1 hour behind server time.');
    
  42. });