108 行
3.6 KiB
JavaScript
108 行
3.6 KiB
JavaScript
const PAGE_PATH = '/pages/component/picker/picker'
|
|
|
|
describe('Picker.uvue', () => {
|
|
beforeAll(async () => {
|
|
page = await program.reLaunch(PAGE_PATH)
|
|
await page.waitFor('view');
|
|
});
|
|
|
|
function getData(key = '') {
|
|
return new Promise(async (resolve) => {
|
|
const data = await page.data('data')
|
|
resolve(key ? data[key] : data)
|
|
})
|
|
}
|
|
|
|
async function setPageData(newData) {
|
|
return await page.setData({
|
|
data: newData
|
|
});
|
|
}
|
|
|
|
it('picker disabled', async () => {
|
|
expect(await getData('index')).toBe(0)
|
|
const pickerValueEl = await page.$('.picker-disabled--value')
|
|
expect(await pickerValueEl.text()).toBe('中国')
|
|
})
|
|
|
|
it('picker selector', async () => {
|
|
expect(await getData('index')).toBe(0)
|
|
await setPageData({
|
|
index: 1
|
|
})
|
|
expect(await getData('index')).toBe(1)
|
|
const pickerValueEl = await page.$('.picker-selector--value')
|
|
expect(await pickerValueEl.text()).toBe('美国')
|
|
|
|
await page.callMethod('setSelectorValue')
|
|
await page.waitFor(1500)
|
|
expect(await getData('index')).toBe(2)
|
|
expect(await pickerValueEl.text()).toBe('巴西')
|
|
})
|
|
|
|
it('picker multiSelector', async () => {
|
|
expect(await getData('multiIndex')).toEqual([0, 0, 0])
|
|
const pickerMultiValueEl = await page.$('.picker-multi--value')
|
|
expect(await pickerMultiValueEl.text()).toStrictEqual('亚洲,中国,北京')
|
|
await setPageData({
|
|
multiIndex: [0, 0, 2]
|
|
})
|
|
expect(await getData('multiIndex')).toEqual([0, 0, 2])
|
|
const pickerMultiValueEl2 = await page.$('.picker-multi--value')
|
|
expect(await pickerMultiValueEl2.text()).toStrictEqual('亚洲,中国,广州')
|
|
})
|
|
|
|
it('picker time', async () => {
|
|
expect(await getData('time')).toBe('12:01')
|
|
await setPageData({
|
|
time: '15:30'
|
|
})
|
|
expect(await getData('time')).toEqual('15:30')
|
|
})
|
|
|
|
it('picker date-day', async () => {
|
|
const dayDate = await getData('dayDate')
|
|
const startDate = await getData('startDate')
|
|
const endDate = await getData('endDate')
|
|
expect(dayDate).toMatch(/^\d{4}-\d{2}-\d{2}$/)
|
|
expect(startDate).toMatch(/^\d{4}-\d{2}-\d{2}$/)
|
|
expect(endDate).toMatch(/^\d{4}-\d{2}-\d{2}$/)
|
|
expect(startDate < dayDate).toBe(true)
|
|
expect(dayDate < endDate).toBe(true)
|
|
await setPageData({
|
|
dayDate: '2028-05-20'
|
|
})
|
|
expect(await getData('dayDate')).toEqual('2028-05-20')
|
|
expect(await getData('startDate')).toStrictEqual(startDate)
|
|
expect(await getData('endDate')).toStrictEqual(endDate)
|
|
})
|
|
it('picker date-month', async () => {
|
|
const monthDate = await getData('monthDate')
|
|
const startDate = await getData('startDate')
|
|
const endDate = await getData('endDate')
|
|
expect(monthDate).toMatch(/^\d{4}-\d{2}$/)
|
|
expect(startDate).toMatch(/^\d{4}-\d{2}-\d{2}$/)
|
|
expect(endDate).toMatch(/^\d{4}-\d{2}-\d{2}$/)
|
|
await setPageData({
|
|
monthDate: '2028-05'
|
|
})
|
|
expect(await getData('monthDate')).toEqual('2028-05')
|
|
expect(await getData('startDate')).toStrictEqual(startDate)
|
|
expect(await getData('endDate')).toStrictEqual(endDate)
|
|
})
|
|
it('picker date-year', async () => {
|
|
const yearDate = await getData('yearDate')
|
|
const startDate = await getData('startDate')
|
|
const endDate = await getData('endDate')
|
|
expect(yearDate).toMatch(/^\d{4}$/)
|
|
expect(startDate).toMatch(/^\d{4}-\d{2}-\d{2}$/)
|
|
expect(endDate).toMatch(/^\d{4}-\d{2}-\d{2}$/)
|
|
await setPageData({
|
|
yearDate: '2028'
|
|
})
|
|
expect(await getData('yearDate')).toEqual('2028')
|
|
expect(await getData('startDate')).toStrictEqual(startDate)
|
|
expect(await getData('endDate')).toStrictEqual(endDate)
|
|
})
|
|
})
|