checkbox.test.js 2.0 KB
Newer Older
Y
yurj26 已提交
1
function getData(key = '') {
DCloud-WZF's avatar
DCloud-WZF 已提交
2 3 4 5
  return new Promise(async (resolve, reject) => {
    const data = await page.data()
    resolve(key ? data[key] : data)
  })
Y
yurj26 已提交
6 7 8 9
}

let page
beforeAll(async () => {
DCloud-WZF's avatar
DCloud-WZF 已提交
10
  page = await program.reLaunch('/pages/component/checkbox/checkbox')
Y
yurj26 已提交
11
  await page.waitFor('view')
Y
yurj26 已提交
12 13 14
})

describe('Checkbox.uvue', () => {
DCloud-WZF's avatar
DCloud-WZF 已提交
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
  it('change', async () => {
    const cb = await page.$('.cb')
    const cb1 = await page.$('.cb1')
    const cb2 = await page.$('.cb2')
    expect(await getData('value')).toEqual([])
    await cb1.tap()
    expect(await getData('value')).toEqual(['cb', 'cb1'])
    await cb.tap()
    expect(await getData('value')).toEqual(['cb1'])
    await cb2.tap()
    expect(await getData('value')).toEqual(['cb1'])
    await cb1.tap()
    expect(await getData('value')).toEqual([])
  })
  it('length', async () => {
    const checkboxGroupElements = await page.$$('.checkbox-group')
    expect(checkboxGroupElements.length).toBe(3)
    const checkboxElements = await page.$$('.checkbox')
Y
yurj26 已提交
33
    expect(checkboxElements.length).toBe(12)
DCloud-WZF's avatar
DCloud-WZF 已提交
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
  })
  it('text', async () => {
    const cb = await page.$('.cb1')
    expect(await cb.text()).toEqual('未选中')
    await page.setData({
      text: 'not selected',
    })
    expect(await cb.text()).toEqual('not selected')
  })
  it('checked', async () => {
    const cb = await page.$('.cb')
    expect(await cb.property('checked')).toBe(true)
    await page.setData({
      checked: false,
    })
    expect(await cb.property('checked')).toBe(false)
  })
  it('color', async () => {
    const cb = await page.$('.cb')
    expect(await cb.property('color')).toBe('#007aff')
    await page.setData({
      color: '#63acfc',
Y
yurj26 已提交
56
    })
DCloud-WZF's avatar
DCloud-WZF 已提交
57 58 59 60 61 62 63 64 65 66 67
    expect(await cb.property('color')).toBe('#63acfc')
  })
  it('disabled', async () => {
    const cb = await page.$('.cb2')
    expect(await cb.property('disabled')).toBe(true)
    await page.setData({
      disabled: false,
    })
    expect(await cb.property('disabled')).toBe(false)
  })
})