Created load safe DOM test #75
This commit is contained in:
parent
fcb996cd2a
commit
09c4a2037f
|
@ -33,7 +33,7 @@ const fillOpenSafeForm = async (localStore: Store<GlobalState>) => {
|
||||||
|
|
||||||
const INTERVAL = 500
|
const INTERVAL = 500
|
||||||
const MAX_TIMES_EXECUTED = 30
|
const MAX_TIMES_EXECUTED = 30
|
||||||
const whenSafeDeployed = () => new Promise((resolve, reject) => {
|
export const whenSafeDeployed = (): Promise<string> => new Promise((resolve, reject) => {
|
||||||
let times = 0
|
let times = 0
|
||||||
const interval = setInterval(() => {
|
const interval = setInterval(() => {
|
||||||
if (times >= MAX_TIMES_EXECUTED) {
|
if (times >= MAX_TIMES_EXECUTED) {
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
// @flow
|
||||||
|
import * as React from 'react'
|
||||||
|
import { type Store } from 'redux'
|
||||||
|
import TestUtils from 'react-dom/test-utils'
|
||||||
|
import { Provider } from 'react-redux'
|
||||||
|
import { ConnectedRouter } from 'react-router-redux'
|
||||||
|
import Load from '~/routes/load/container/Load'
|
||||||
|
import { aNewStore, history, type GlobalState } from '~/store'
|
||||||
|
import { sleep } from '~/utils/timer'
|
||||||
|
import { getProviderInfo } from '~/logic/wallets/getWeb3'
|
||||||
|
import addProvider from '~/logic/wallets/store/actions/addProvider'
|
||||||
|
import { makeProvider } from '~/logic/wallets/store/model/provider'
|
||||||
|
import { aMinedSafe } from './builder/safe.redux.builder'
|
||||||
|
import { whenSafeDeployed } from './safe.dom.create.test'
|
||||||
|
|
||||||
|
const travelToLoadRoute = async (localStore: Store<GlobalState>) => {
|
||||||
|
const provider = await getProviderInfo()
|
||||||
|
const walletRecord = makeProvider(provider)
|
||||||
|
localStore.dispatch(addProvider(walletRecord))
|
||||||
|
|
||||||
|
return (
|
||||||
|
TestUtils.renderIntoDocument((
|
||||||
|
<Provider store={localStore}>
|
||||||
|
<ConnectedRouter history={history}>
|
||||||
|
<Load />
|
||||||
|
</ConnectedRouter>
|
||||||
|
</Provider>
|
||||||
|
))
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
describe('DOM > Feature > LOAD a safe', () => {
|
||||||
|
it('load correctly a created safe', async () => {
|
||||||
|
const store = aNewStore()
|
||||||
|
const address = await aMinedSafe(store)
|
||||||
|
const LoadDom = await travelToLoadRoute(store)
|
||||||
|
|
||||||
|
const form = TestUtils.findRenderedDOMComponentWithTag(LoadDom, 'form')
|
||||||
|
const inputs = TestUtils.scryRenderedDOMComponentsWithTag(LoadDom, 'input')
|
||||||
|
|
||||||
|
// Fill Safe's name
|
||||||
|
const fieldName = inputs[0]
|
||||||
|
TestUtils.Simulate.change(fieldName, { target: { value: 'Adolfo Safe' } })
|
||||||
|
TestUtils.Simulate.submit(form)
|
||||||
|
await sleep(400)
|
||||||
|
|
||||||
|
// Fill Safe's name
|
||||||
|
const fieldAddress = inputs[1]
|
||||||
|
TestUtils.Simulate.change(fieldAddress, { target: { value: address } })
|
||||||
|
TestUtils.Simulate.submit(form)
|
||||||
|
await sleep(400)
|
||||||
|
|
||||||
|
// Submit
|
||||||
|
TestUtils.Simulate.submit(form)
|
||||||
|
await sleep(400)
|
||||||
|
|
||||||
|
const deployedAddress = await whenSafeDeployed()
|
||||||
|
expect(deployedAddress).toBe(address)
|
||||||
|
})
|
||||||
|
})
|
Loading…
Reference in New Issue