import React from 'react';
import { screen } from '@testing-library/react';
import { renderInAppContext } from '@theorchard/suite-testing';
import {
    ApproveAccountingRunModal,
    type ApproveAccountingRunModalPropTypes,
} from 'src/components/accounting-run-list/approve-accounting-run-modal';

describe('<ApproveAccountingRunModal>', () => {
    const defaultProps: ApproveAccountingRunModalPropTypes = {
        isApproveAccountingRunModalOpen: true,
        isSaveButtonDisabled: false,
        setIsApproveAccountingRunModalOpen: jest.fn(),
        saveHandler: jest.fn(),
    };

    const render = (props: ApproveAccountingRunModalPropTypes) =>
        renderInAppContext(<ApproveAccountingRunModal {...props} />);

    it('renders a <ApproveAccountingRunModal> when isApproveAccountingRunModalOpen is true', () => {
        render(defaultProps);
        expect(screen.getByTestId('AccountingRunModalTestId')).toBeDefined();
    });

    it('does not render a <PopupModal> when isModalOpen is false', () => {
        defaultProps.isApproveAccountingRunModalOpen = false;
        render(defaultProps);
        expect(
            screen.queryAllByTestId('AccountingRunModalTestId').length
        ).toEqual(0);
    });
});
