jQuery Fullcalendar:使用Capybara触发“创建”事件

时间:2013-08-15 13:19:31

标签: capybara fullcalendar

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

1 个答案:

答案 0 :(得分:2)

我创建了demo,如果用户点击日历日,则会创建新的日历活动。

请参阅dayclick callback代码:

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文档here