我试图通过我们正在运行的geb测试在网站上传递替换日期选择器.
它没有处理美国模拟测试
{{pikaday-input
value=localisedValue
format=(if format format "DD/MM/YYYY")
name=name
placeholder=localisedPlaceholder
onSelection=(action setValue)
id=inputId
classNames="date-placeholder"
tabindex=tabIndex
}}
Run Code Online (Sandbox Code Playgroud)
date.js
import LocalisedTextInput from './localised-text-input';
export default LocalisedTextInput.extend({
setValue(dateValue) {
if(dateValue) {
let valueFormat = this.get('valueFormat') ? this.get('valueFormat') : 'YYYY-MM-DD';
if(valueFormat !== 'date') {
dateValue = window.moment(dateValue).format(valueFormat);
}
else {
dateValue = window.moment(dateValue);
}
}
this.set('localisedValue', dateValue);
}
});
Run Code Online (Sandbox Code Playgroud)
和测试
def "Agenda Day renders correctly in the US"() {
given:
bootstrapPublishedTestEvent()
and:
def page = asyncTo EditAgendaPage, siteUnderTest
when:
page.mockTimeZone(420)
page.addDay('20/02/2016', 'Day 1')
then:
page.days*.date == ["20/02/2016"]
}
Run Code Online (Sandbox Code Playgroud)
当我注释掉page.mockTimeZone(420)时 - 测试通过.
mockTimeZone正在使用TimeShift.js lib
Date = TimeShift.Date;
TimeShift.setTimezoneOffset(420);
Run Code Online (Sandbox Code Playgroud)
有一个错误,如果来自服务器的日期是31/12/2019 - 在英国时区它是正确的 - 但在美国时区它显示为30/12/2019
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |