import React from 'react';
import '@testing-library/jest-dom';
import { render,fireEvent } from '@testing-library/react-native';
import { MoleculeInput } from "./index";

describe('[Native] MoleculeInput', () => {
    let helper = 'Helper Text';
    let label = 'Label Text';
    const mockChange = jest.fn();

    it('Render component Input no props render', () => {
        // let component = render(
        //     <MoleculeInput
        //     />
        // );
    });
    // it('Render component InputText', () => {
    //     let component = render(
    //         <MoleculeInput
    //             type={'Text'}
    //             value={''}
    //             helperText={helper}
    //             label={label}
    //             onChange={mockChange}
    //             name = {'input'}
    //             regex = {''}
    //             readOnly = {false}
    //             required = {false}
    //             placeholder = {''}
    //             disabled = {false}
    //         />
    //     );
    //     expect(component).toBeTruthy();
    //     const inputElement = component.getByTestId('input')
    //     fireEvent.changeText(inputElement, 'query');
    //     expect(mockChange).toHaveBeenCalled();
    // });

    // it('Render component InputPhone', () => {
    //     let component = render(
    //         <MoleculeInput
    //             type={'Phone'}
    //             value={''}
    //             helperText={helper}
    //             onChange={mockChange}
    //         />
    //     );
    //     const inputNumber = component.getByTestId('TestInputNumber');
    //     const inputPhone = component.getByTestId('input-phone');
    //     fireEvent(inputPhone, 'focus');
    //     fireEvent.changeText(inputNumber, '1234');
    //     fireEvent(inputPhone, 'blur');
    // });
    // it('Render component InputPhone no props render', () => {
    //     let component = render(
    //         <MoleculeInput
    //             type={'Phone'}
    //         />
    //     );
    // });
    // it('Render component InputPhone alignPhone column', () => {
    //     let component = render(
    //         <MoleculeInput
    //             type={'Phone'}
    //             alignPhone={'colum'}
    //         />
    //     );
    // });
    // it('Render component Password', () => {
    //     let component = render(
    //         <MoleculeInput
    //             type={'Password'}
    //             value={''}
    //             helperText={helper}
    //             onChange={mockChange}
    //         />
    //     );
    //     const inputElement = component.getByTestId('inputPassword');
    //     fireEvent.changeText(inputElement,'query');
    //     expect(mockChange).toHaveBeenCalled();
    // });
    // it('Render component Number', () => {
    //     let component = render(
    //         <MoleculeInput
    //             type={'Number'}
    //             value={''}
    //             helperText={helper}
    //             onChange={mockChange}
    //         />
    //     );
    //     const inputElement = component.getByTestId('TestInputNumber');
    //     fireEvent.changeText(inputElement,'13');
    //     expect(mockChange).toHaveBeenCalled()
    // });
    // it('Render component Email', () => {
    //     let component = render(
    //         <MoleculeInput
    //             type={'Email'}
    //             value={''}
    //             helperText={helper}
    //             onChange={mockChange}
    //         />
    //     );
    //     const inputElement = component.getByTestId('TestInputEmail');
    //     fireEvent.changeText(inputElement, 'query');
    //     expect(mockChange).toHaveBeenCalled();
    // });
    // it('Render component Email incorrect', () => {
    //     const mockErrorCallback = jest.fn();
    //     let component = render(
    //         <MoleculeInput
    //             type={'Email'}
    //             value={''}
    //             helperText={helper}
    //             onChange={mockChange}
    //             errorCallback={mockErrorCallback}
    //         />
    //     );
    //     const inputElement = component.getByTestId('TestInputEmail');
    //     fireEvent.changeText(inputElement, 'notValidEmail');
    // });
});
