diff --git a/src/main/index.js b/src/main/index.js index 51a461d..70a1437 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -18,6 +18,8 @@ let mainWindow const width = 640 const height = 450 +app.allowRendererProcessReuse = true + const createWindow = async () => { const isDarkMode = nativeTheme.shouldUseDarkColors diff --git a/tests/Providers.test.jsx b/tests/Providers.test.jsx index 6a78086..893b978 100644 --- a/tests/Providers.test.jsx +++ b/tests/Providers.test.jsx @@ -1,22 +1,47 @@ import React from 'react' -import { render, waitForElement } from '@testing-library/react' +import { + render, + waitForElement, + waitForElementToBeRemoved, + fireEvent +} from '@testing-library/react' import AppProvider from '../src/renderer/store/AppProvider' import PriceProvider from '../src/renderer/store/PriceProvider' -import { PriceContext } from '../src/renderer/store/createContext' +import { PriceContext, AppContext } from '../src/renderer/store/createContext' import { priceContext } from './__fixtures__/context' describe('Providers', () => { - it('PriceProvider', async () => { - const { getByText } = render(Hello) - await waitForElement(() => getByText('Hello')) + describe('PriceProvider', () => { + it('renders without crashing', async () => { + const { getByText } = render( + + + {({ priceChanges }) => JSON.stringify(priceChanges)} + + + ) + await waitForElementToBeRemoved(() => getByText(/"eur":0/)) + expect(getByText(/eur/)).toBeInTheDocument() + }) }) - it('AppProvider', async () => { - const { getByText } = render( - - Hello - - ) - await waitForElement(() => getByText('Hello')) + describe('AppProvider', () => { + it('renders without crashing', async () => { + const { getByText } = render( + + + + {({ toggleCurrencies }) => ( + + )} + + + + ) + await waitForElement(() => getByText('Click')) + expect(getByText('Click')).toBeInTheDocument() + + fireEvent.click(getByText('Click')) + }) }) })