import React from "react";
import "@testing-library/jest-dom";
import { render, fireEvent, waitFor } from "@testing-library/react-native";
import "jest-styled-components";
import { AtomInputPhone } from "./index";

describe("[Native] AtomInputPhone", () => {
  const mockChange = jest.fn();

  it("Rendered component", () => {
    const component = render(
      //
      <AtomInputPhone
        helperText="Helper"
        required={true}
        placeholder={"placeholder"}
        placeholderCountryP={"placeholderCountryP"}
        disabled={false}
        readOnly={false}
        regex={"^[0-9]+$"}
        onChange={mockChange}
      />
      //
    );
    expect(component).toBeTruthy();
  });

  // it('Rendered component disabled', () => {
  //     const component = render(
  //         //
  //             <AtomInputPhone
  //                 helperText='Helper'
  //                 required={true}
  //                 placeholder={'placeholder'}
  //                 placeholderCountryP={'placeholderCountryP'}
  //                 disabled={true}
  //                 readOnly={false}
  //                 regex={'^[0-9]+$'}
  //                 onChange={mockChange}
  //             />
  //         //
  //     )
  //     expect(component).toBeTruthy();
  // });

  // it('Rendered component readOnly', () => {
  //     const component = render(
  //         //
  //             <AtomInputPhone
  //                 helperText='Helper'
  //                 required={true}
  //                 placeholder={'placeholder'}
  //                 placeholderCountryP={'placeholderCountryP'}
  //                 readOnly={true}
  //                 regex={'^[0-9]+$'}
  //                 onChange={mockChange}
  //             />
  //         //
  //     )
  //     expect(component).toBeTruthy();
  // });

  // it('Rendered component only select', () => {
  //     const component = render(
  //         //
  //             <AtomInputPhone
  //                 helperText='Helper'
  //                 required={true}
  //                 placeholder={'placeholder'}
  //                 placeholderCountryP={'placeholderCountryP'}
  //                 importantCountries={['COL', 'MEX']}
  //                 regex={'^[0-9]+$'}
  //                 onChange={mockChange}
  //                 align={'short'}
  //             />
  //         //
  //     )
  //     const select = component.getByTestId('input-country-picker');
  //     fireEvent.press(select);
  //     fireEvent.changeText(select, 'c')
  //     const element = component.getByTestId(`COL`);
  //     fireEvent.press(element);
  //     const options = component.queryByText('options');
  //     expect(options).toBe(null);
  // });

  // it('Rendered component dont select value', async () => {
  //     const mockErrorCallback = jest.fn();
  //     const component = render(
  //         //
  //             <AtomInputPhone
  //                 helperText='Helper'
  //                 required={true}
  //                 placeholder={'placeholder'}
  //                 placeholderCountryP={'placeholderCountryP'}
  //                 importantCountries= {['COL', 'ECU', 'MEX']}
  //                 onChange={mockChange}
  //                 errorCallback={mockErrorCallback}
  //                 align={'colum'}
  //             />
  //         //
  //     )
  //     const input = component.getByTestId('input-phone');
  //     fireEvent(input, 'focus');
  //     fireEvent(input, 'blur');
  //     await waitFor(() => expect(mockErrorCallback).toHaveBeenCalled());
  // });

  // it('Rendered component change value', async () => {
  //     const mockErrorCallback = jest.fn();
  //     const component = render(
  //         //
  //             <AtomInputPhone
  //                 helperText='Helper'
  //                 required={true}
  //                 importantCountries= {['COL', 'ECU', 'MEX']}
  //                 regex = {'^[a-z]+$'}
  //                 onChange={mockChange}
  //                 errorCallback={mockErrorCallback}
  //             />
  //         //
  //     )
  //     const input = component.getByTestId('TestInputNumber');
  //     const inputPhone = component.getByTestId('input-phone');
  //     fireEvent(inputPhone, 'focus');
  //     fireEvent.changeText(input, '1234');
  //     fireEvent(inputPhone, 'blur');
  //     await waitFor(() => expect(mockErrorCallback).toHaveBeenCalled());
  // });
});
