All files / src/components/u-list-view.vue/fixes pageSize.test.js

0% Statements 0/23
100% Branches 0/0
0% Functions 0/4
0% Lines 0/21

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34                                                                   
import { mount } from '@vue/test-utils';
 
import PageSizeDemo from './__demos__/pageSize.vue';
 
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
 
describe('u-table-view.vue', () => {
    it('pageSizer选择器变化后,刷新数据', async () => {
        const wrapper = mount(PageSizeDemo);
        await sleep(16);
 
        const rows = wrapper.findAll('div[index]');
        expect(rows.length).toBe(20); // 1个表头,10个数据
 
        // 页面选择器改为50后刷新数据
        wrapper.vm.$refs.listview.$refs.pagination.onSelectPageSize({ value: 50 });
        const button = wrapper.find('#changelistbutton');
        await button.trigger('click');
        await sleep(16);
        const rows1 = wrapper.findAll('div[index]');
        expect(rows1.length).toBe(51); // 1个表头,50个数据
        expect(wrapper.vm.$refs.listview.currentData.length).toBe(50);
        expect(wrapper).toMatchSnapshot();
 
        // 将pageSize还原回20
        wrapper.vm.pageSize = 20;
        await sleep(16);
        const rows2 = wrapper.findAll('div[index]');
        expect(rows2.length).toBe(21); // 1个表头,50个数据
        expect(wrapper.vm.$refs.listview.currentData.length).toBe(20);
 
        expect(wrapper).toMatchSnapshot();
    });
});