import { mount } from '@vue/test-utils';
import { renderToString } from '@vue/server-test-utils';
import List from '../list';

const listCommonProps = {
  prefixCls: 'ant-transfer-list',
  dataSource: [
    {
      key: 'a',
      title: 'a',
    },
    {
      key: 'b',
      title: 'b',
    },
    {
      key: 'c',
      title: 'c',
      disabled: true,
    },
  ],
  checkedKeys: ['a'],
  notFoundContent: 'Not Found',
  lazy: false,
};

describe('List', () => {
  it('should render correctly', () => {
    const props = {
      propsData: listCommonProps,
    };
    const wrapper = renderToString(List, props);
    expect(wrapper).toMatchSnapshot();
  });

  it('should check top Checkbox while all available items are checked', () => {
    const props = {
      propsData: {
        ...listCommonProps,
        checkedKeys: ['a', 'b'],
      },
    };
    const wrapper = mount(List, props);
    expect(
      wrapper
        .find('.ant-transfer-list-header')
        .find({
          name: 'ACheckbox',
        })
        .props().checked,
    ).toBeTruthy();
  });
});