統合テスト内からソート可能な jQuery で作成されたソートをテストしたいと考えています。そうするために、テスト フレームワーク (カピバラ、セレン) を呼び出すことができますpage.execute_script("activeAdminSortable().sortable().update()")
。
適切なパラメーターでイベントをトリガーすることによりupdate
、ドラッグ アンド ドロップをシミュレートして、それが機能するかどうかをテストできます。JavaScript コードの関連部分は次のとおりです。
(function($) {
$(document).ready(function() {
$('tbody .grabber').parents('tbody').activeAdminSortable();
});
$.fn.activeAdminSortable = function() {
this.sortable({
update: function(event, ui) {
$.ajax({
axis: 'y',
cursor: 'move',
url: ui.item.find('[data-sort-url]').data('sort-url'),
type: 'post',
data: { position: ui.item.index() + 1 },
success: activeAdminSortableFlashFinished
});
}
});
this.disableSelection();
}
})(jQuery);
イベントをトリガーしupdate
て正しいパラメーターを渡す方法を見つける必要があります。event
そのような, andui
パラメータを作成する簡単な方法はありますか? をトリガーしupdate
ます。
別の方法として、アイテムを実際に取得、ドラッグ、ドロップする JavaScript を作成することもできますが、それはかなり脆いように思えます。それとも些細なことですか?