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';
|
2022-05-28 12:16:59 +03:00
|
|
|
import { CreateShortUrl as createShortUrlsCreator } from '../../src/short-urls/CreateShortUrl';
|
2023-02-18 12:40:37 +03:00
|
|
|
import type { ShortUrlCreation } from '../../src/short-urls/reducers/shortUrlCreation';
|
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(
|
|
|
|
<CreateShortUrl
|
2022-11-07 20:24:26 +03:00
|
|
|
shortUrlCreation={shortUrlCreationResult}
|
2022-06-08 19:28:16 +03:00
|
|
|
createShortUrl={createShortUrl}
|
|
|
|
selectedServer={null}
|
|
|
|
resetCreateShortUrl={() => {}}
|
2023-04-13 22:48:29 +03:00
|
|
|
settings={fromPartial({ shortUrlCreation })}
|
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
|
|
|
});
|
|
|
|
});
|