文件
OmniCard/mpuniapp/pages/component/picker/picker.test.js

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)
})
})