为什么我的 Stimulus 更改事件不会在 Heroku 中触发 CI

Why my Stimulus change event doesn't trigger in Heroku CI

我有两个 datetime 输入,它们有一个变化事件(通过刺激),当值变化时触发一个函数。如果两个字段中的日期(无论时间)相同,它会从下面的 div 中删除 d-none class 以允许用户填写补充字段。

该功能完美运行,我所有的本地测试也都通过了。问题是当我将分支投入生产时:我的测试失败了,因为 div 中本应显示的文本仍然隐藏。

这是我对每个输入的刺激事件: action: "change->client-timeslots-repeat#toggleRepeatContainer"

测试失败的部分:

within "#proposal-timeslots-creation-form" do
  fill_in "timeslots_proposal[client_timeslots_attributes][0][starts_at]", with: "15022022\t1800"
  fill_in "timeslots_proposal[client_timeslots_attributes][0][ends_at]", with: "15022022\t2000"
  expect(page).to have_content "Répéter ce créneau horaire"
end

错误: expected to find text "Répéter ce créneau horaire" in "Début de la dispo\nFin". (However, it was found 1 time including non-visible text.)

出于某种我不知道的原因,该事件没有被触发,可能是因为环境不同,但它的确切部分是什么......我不知道你是否需要更多信息来解决我的问题?

感谢您的帮助!

尝试通过字符串值填充日期时间控件时,所需的顺序取决于浏览器设置的区域设置。从您指定字符串的顺序来看,我猜您在欧洲某个地方,而 Herokus 服务器很可能配置为美国。这会导致您的字符串无效(没有第 15 个月),因此无法更改 date/time。而是尝试像

这样的东西
fill_in "timeslots_proposal[client_timeslots_attributes][0][starts_at]", with: "02152022\t1800"

fill_in "timeslots_proposal[client_timeslots_attributes][0][starts_at]", with: "02/15/2022\t06:00P"