import React from 'react'
import {
render,
waitForElementToBeRemoved,
fireEvent,
wait
} from '@testing-library/react'
import AppProvider from '../src/renderer/store/AppProvider'
import PriceProvider from '../src/renderer/store/PriceProvider'
import { PriceContext, AppContext } from '../src/renderer/store/createContext'
import { priceContext } from './__fixtures__/context'
describe('Providers', () => {
describe('PriceProvider', () => {
it('renders without crashing', async () => {
const { getByText } = render(
{({ priceChanges }) => JSON.stringify(priceChanges)}
)
await waitForElementToBeRemoved(() => getByText(/"eur":0/))
expect(getByText(/eur/)).toBeInTheDocument()
})
})
describe('AppProvider', () => {
it('renders without crashing', async () => {
const { getByText } = render(
{({ toggleCurrencies }) => (
)}
)
await wait(() => getByText('Click'))
expect(getByText('Click')).toBeInTheDocument()
fireEvent.click(getByText('Click'))
})
})
})