shlink-web-client/shlink-web-component/test/short-urls/CreateShortUrl.test.tsx

31 lines
1.3 KiB
TypeScript
Raw Normal View History

import { render, screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
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 />', () => {
const ShortUrlForm = () => <span>ShortUrlForm</span>;
const CreateShortUrlResult = () => <span>CreateShortUrlResult</span>;
const shortUrlCreation = { validateUrls: true };
const shortUrlCreationResult = fromPartial<ShortUrlCreation>({});
2023-05-27 12:57:26 +03:00
const createShortUrl = vi.fn(async () => Promise.resolve());
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>,
);
2018-11-01 15:15:09 +03:00
it('renders computed initial state', () => {
setUp();
expect(screen.getByText('ShortUrlForm')).toBeInTheDocument();
expect(screen.getByText('CreateShortUrlResult')).toBeInTheDocument();
2018-11-01 15:15:09 +03:00
});
});