在 Rails 项目中,我们有一个使用pickadate
v3.6.2 的日期选择器。测试已经工作了一段时间,但最近从一些功能规范转移到失败moment.js
。luxon.js
IRL,该功能工作正常。我认为这是关于我们如何设置日期输入。我正在尝试获得正确的功能来驱动capybara
设置日期输入。
日期输入位于已初始化的表单元素中
$("#the_date_input").pickadate()
一个消费脚本的工作原理(IRL)如下:
const startDateField = this.element.find(this.opts.the_date_inputs_field);
const datePicker = startDateField.pickadate('picker');
if (datePicker) {
// this logs the correct value in the browser console
console.log(datePicker.get('select', 'yyyy-mm-dd'));
...
}
浏览器中的日期格式看起来像12, October, 2020
- 长的可呈现日期格式。
我们的capybara
代码尝试设置值Rails
默认to_date
字符串格式,我认为是YYYY-MM-DD
.
page.execute_script("$('#the_date_input').val('#{start_date.to_date}');")
我需要格式化val
为长英文日期字符串吗?或者有没有更好的方法pickadate
在这些测试中注入值或设置值(使用 JS)。