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