3

我想使用 Capybara 在 jQuery Fullcalendar 中触发“创建”事件,但我不知道要单击哪个元素。无论如何,我不确定Capybara是否可能......

4

1 回答 1

2

我创建了一个演示,如果用户单击日历日,则会创建一个新的日历事件。

查看dayclick 回调代码:

dayClick: function(date, allDay, jsEvent, view) {
    if (allDay) {
        alert('Clicked on the entire day: ' + date);
    }else{
        alert('Clicked on the slot: ' + date);
    }

    // change the day's background to highlight the fact that its been clicked
    $(this).css('background-color', 'red');

    // Create a new event for the day that was clicked
    var myEvent = {
      title:"my new event",
      allDay: true,
      start: date,
      end: date
    };
    cal.fullCalendar( 'renderEvent', myEvent );
}

然后,您可以使用 Capybara 在 jQuery Fullcalendar 中单击一个日期(当上述代码到位时,这将触发一个新事件的创建),如下所示:

page.find(:css, "td[data-date='2013-11-06']").click()

请注意,您需要定制 CSS 以准确选择要单击的 FullCalendar 日(即 TD 元素),但这只是一个示例。

有关如何执行此操作,请参阅此处的 Caybara 文档。

于 2013-11-06T18:31:08.270 回答