You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

63 lines
1.7 KiB

import React from 'react'
import { shallow } from 'enzyme'
import PayForm from '../../../app/components/Form/PayForm'
const defaultProps = {
payform: {
amount: '',
payInput: '',
showErrors: {}
},
currency: 'BTC',
crypto: 'BTC',
isOnchain: false,
isLn: false,
currentAmount: '0',
inputCaption: '',
showPayLoadingScreen: false,
payFormIsValid: {},
setPayAmount: () => {},
onPayAmountBlur: () => {},
setPayInput: () => {},
onPayInputBlur: () => {},
fetchInvoice: () => {},
onPaySubmit: () => {}
}
describe('Form', () => {
describe('should show the form without an input', () => {
const el = shallow(<PayForm {...defaultProps} />)
it('should contain PayForm', () => {
expect(el.find('input#paymentRequest').props.value).toBe(undefined)
expect(el.contains('lightning network')).toBe(false)
expect(el.contains('on-chain')).toBe(false)
})
})
describe('should show lightning with a lightning input', () => {
const props = { ...defaultProps, isLn: true }
const el = shallow(<PayForm {...props} />)
it('should contain PayForm', () => {
expect(el.find('input#paymentRequest').props.value).toBe(undefined)
expect(el.contains('lightning network')).toBe(true)
expect(el.contains('on-chain')).toBe(false)
})
})
describe('should show on-chain with an on-chain input', () => {
const props = { ...defaultProps, isOnchain: true }
const el = shallow(<PayForm {...props} />)
it('should contain PayForm', () => {
expect(el.find('input#paymentRequest').props.value).toBe(undefined)
expect(el.contains('lightning network')).toBe(false)
expect(el.contains('on-chain')).toBe(true)
})
})
})