import React from 'react';
import { render } from '@testing-library/react';
import { TestData } from 'lib/test-utils/table';
import { GridTable } from '../../../base/table';
import { TableExtensions } from '../../../base/tableExtensions';
import { TableProps } from '../../../base/types';
import { TableZebraVariantExtension } from '../tableZebraVariantExtension';

TableExtensions.addExtension(TableZebraVariantExtension);

describe('TableExportExtension', () => {
    const data: TestData[] = [
        { name: 'test1', value: 2 },
        { name: 'test2', value: 1 },
    ];

    const renderTable = (props: Partial<TableProps<TestData>> = {}) =>
        render(<GridTable data={data} {...props} />);

    describe('with "zebra" variant', () => {
        test('disables border and shadow', () => {
            const { getByTestId } = renderTable({
                variant: 'zebra',
                bordered: true,
                shadowed: true,
            });

            const element = getByTestId('GridTable');

            expect(element).not.toHaveClass('bordered');
            expect(element).not.toHaveClass('shadowed');
        });
    });
});
