2022-06-08 19:28:16 +03:00
|
|
|
import { render, screen } from '@testing-library/react';
|
2023-04-13 22:48:29 +03:00
|
|
|
import { fromPartial } from '@total-typescript/shoehorn';
|
2023-08-02 10:01:44 +03:00
|
|
|
import { CreateShortUrl as createShortUrlsCreator } from '../../src/short-urls/CreateShortUrl';
|
|
|
|
import type { ShortUrlCreation } from '../../src/short-urls/reducers/shortUrlCreation';
|
2023-08-04 12:16:01 +03:00
|
|
|
import { SettingsProvider } from '../../src/utils/settings';
|
2018-11-01 15:15:09 +03:00
|
|
|
|
|
|
|
describe('<CreateShortUrl />', () => {
|
2022-06-08 19:28:16 +03:00
|
|
|
const ShortUrlForm = () => <span>ShortUrlForm</span>;
|
|
|
|
const CreateShortUrlResult = () => <span>CreateShortUrlResult</span>;
|
2021-02-14 15:23:42 +03:00
|
|
|
const shortUrlCreation = { validateUrls: true };
|
2023-04-13 22:48:29 +03:00
|
|
|
const shortUrlCreationResult = fromPartial<ShortUrlCreation>({});
|
2023-05-27 12:57:26 +03:00
|
|
|
const createShortUrl = vi.fn(async () => Promise.resolve());
|
2022-06-08 19:28:16 +03:00
|
|
|
const CreateShortUrl = createShortUrlsCreator(ShortUrlForm, CreateShortUrlResult);
|
|
|
|
const setUp = () => render(
|
2023-08-04 12:16:01 +03:00
|
|
|
<SettingsProvider value={fromPartial({ shortUrlCreation })}>
|
|
|
|
<CreateShortUrl
|
|
|
|
shortUrlCreation={shortUrlCreationResult}
|
|
|
|
createShortUrl={createShortUrl}
|
|
|
|
resetCreateShortUrl={() => {}}
|
|
|
|
/>
|
|
|
|
</SettingsProvider>,
|
2022-06-08 19:28:16 +03:00
|
|
|
);
|
2018-11-01 15:15:09 +03:00
|
|
|
|
2022-06-08 19:28:16 +03:00
|
|
|
it('renders computed initial state', () => {
|
|
|
|
setUp();
|
2018-12-18 01:11:55 +03:00
|
|
|
|
2022-06-08 19:28:16 +03:00
|
|
|
expect(screen.getByText('ShortUrlForm')).toBeInTheDocument();
|
|
|
|
expect(screen.getByText('CreateShortUrlResult')).toBeInTheDocument();
|
2018-11-01 15:15:09 +03:00
|
|
|
});
|
|
|
|
});
|