import { fireEvent, render } from '@testing-library/react-native'
import React from 'react'
import { Provider } from 'react-redux'
import KeylessBackupPhoneInput from 'src/keylessBackup/KeylessBackupPhoneInput'
import { KeylessBackupFlow } from 'src/keylessBackup/types'
import { noHeader } from 'src/navigator/Headers'
import MockedNavigator from 'test/MockedNavigator'
import { createMockStore } from 'test/utils'
describe('KeylessBackupPhoneInput', () => {
beforeEach(() => {
jest.clearAllMocks()
})
it('displays the correct components', () => {
const { getByTestId, getByText } = render(
)
expect(getByText('keylessBackupPhoneInput.setup.title')).toBeTruthy()
expect(getByText('keylessBackupPhoneInput.setup.subtitle')).toBeTruthy()
expect(getByTestId('CountrySelectionButton')).toBeTruthy()
expect(getByTestId('PhoneNumberField')).toBeTruthy()
expect(getByTestId('KeylessBackupPhoneInput/Continue')).toBeTruthy()
// not disabled because the phone number from store is valid
expect(getByTestId('KeylessBackupPhoneInput/Continue')).not.toBeDisabled()
expect(getByTestId('CancelButton')).toBeTruthy()
})
it('allows continue to be pressed when a valid phone number is entered', () => {
const { getByTestId } = render(
)
expect(getByTestId('KeylessBackupPhoneInput/Continue')).toBeTruthy()
expect(getByTestId('KeylessBackupPhoneInput/Continue')).toBeDisabled()
fireEvent.changeText(getByTestId('PhoneNumberField'), '619123456')
expect(getByTestId('KeylessBackupPhoneInput/Continue')).not.toBeDisabled()
})
})