test dateuifield ready

This commit is contained in:
vitalets 2013-01-05 12:14:21 +04:00
parent 9b9bea9c54
commit f59cacb0df
3 changed files with 119 additions and 5 deletions

@ -35,7 +35,7 @@ require(["loader", jqurl], function(loader) {
break;
default:
date = ['test/unit/dateui'];
date = ['test/unit/dateuifield', 'test/unit/dateui'];
}
var tests = [

@ -1,12 +1,18 @@
$(function () {
var dpg;
var dpg, mode;
module("dateui", {
setup: function(){
fx = $('#async-fixture');
$.support.transition = false;
}
mode = $.fn.editable.defaults.mode;
$.fn.editable.defaults.mode = 'popup';
},
teardown: function() {
//restore mode
$.fn.editable.defaults.mode = mode;
}
});
function frmt(date, format) {
@ -17,7 +23,7 @@ $(function () {
asyncTest("container should contain datepicker with value and save new entered date", function () {
var d = '15.05.1984',
dview = '15/05/1984',
e = $('<a href="#" data-type="date" data-pk="1" data-url="post-date.php">'+dview+'</a>').appendTo(fx).editable({
e = $('<a href="#" data-type="date" data-pk="1" data-url="post-dateui.php">'+dview+'</a>').appendTo(fx).editable({
format: 'dd.mm.yyyy',
viewformat: 'dd/mm/yyyy',
datepicker: {
@ -28,7 +34,7 @@ $(function () {
nextDview = '16/05/1984';
$.mockjax({
url: 'post-date.php',
url: 'post-dateui.php',
response: function(settings) {
equal(settings.data.value, nextD, 'submitted value correct');
}

108
test/unit/dateuifield.js Normal file

@ -0,0 +1,108 @@
$(function () {
var f = 'dd.mm.yyyy', mode;
module("dateuifield", {
setup: function(){
fx = $('#async-fixture');
$.support.transition = false;
mode = $.fn.editable.defaults.mode;
$.fn.editable.defaults.mode = 'inline';
},
teardown: function() {
//restore mode
$.fn.editable.defaults.mode = mode;
}
});
function frmt(date, format) {
format = format.replace('yyyy', 'yy');
return $.datepicker.formatDate(format, date);
}
asyncTest("container should contain input with value and save new entered date", function () {
var d = '15.05.1984',
e = $('<a href="#" data-type="date" data-pk="1" data-url="post-dateuifield.php">'+d+'</a>').appendTo(fx).editable({
format: f,
viewformat: f,
datepicker: {
firstDay: 1
}
}),
nextD = '16.05.1984',
finalD = '17.05.1984';
$.mockjax({
url: 'post-dateuifield.php',
response: function(settings) {
equal(settings.data.value, finalD, 'submitted value correct');
}
});
equal(frmt(e.data('editable').value, 'dd.mm.yyyy'), d, 'value correct');
e.click();
var p = tip(e);
ok(p.find('input').is(':visible'), 'input exists');
equal(p.find('input').val(), d, 'date set correct');
//open picker
p.find('img').click();
var picker = p.find('input').datepicker('widget');
ok(picker.is(':visible'), 'picker shown');
ok(picker.find('a.ui-state-active').is(':visible'), 'active day is visible');
equal(picker.find('a.ui-state-active').text(), 15, 'day shown correct');
equal(picker.find('.ui-datepicker-calendar > thead > tr > th').eq(0).find('span').text(), 'Mo', 'weekStart correct');
//set new day by picker
picker.find('a.ui-state-active').parent().next().click();
ok(!picker.is(':visible'), 'picker closed');
equal(p.find('input').val(), nextD, 'next day set correct');
p.find('input').val(finalD).trigger('keyup');
equal(picker.find('a.ui-state-active').text(), 17, 'picker active date updated');
//submit
p.find('form').submit();
setTimeout(function() {
ok(!p.is(':visible'), 'popover closed');
ok(!picker.is(':visible'), 'picker closed');
equal(frmt(e.data('editable').value, f), finalD, 'new date saved to value');
equal(e.text(), finalD, 'new text shown');
e.remove();
start();
}, timeout);
});
test("viewformat, init by text", function () {
var dview = '15/05/1984',
d = '1984-05-15',
e = $('<a href="#" data-type="date" data-pk="1" data-url="post-date1.php">'+dview+'</a>').appendTo('#qunit-fixture').editable({
format: 'yyyy-mm-dd',
viewformat: 'dd/mm/yyyy'
}),
nextD = '1984-05-16',
nextDview = '16/05/1984';
equal(frmt(e.data('editable').value, 'yyyy-mm-dd'), d, 'value correct');
});
test("viewformat, init by value", function () {
var dview = '15/05/1984',
d = '1984-05-15',
e = $('<a href="#" data-type="date" data-pk="1" data-format="yyyy-mm-dd" data-viewformat="dd/mm/yyyy" data-value="'+d+'"></a>').appendTo('#qunit-fixture').editable();
equal(frmt(e.data('editable').value, 'yyyy-mm-dd'), d, 'value correct');
equal(e.text(), dview, 'text correct');
});
});