mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2026-04-19 13:06:22 +00:00
Ensured export servers btn is not displayed when there are no servers
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { ReactNode } from 'react';
|
||||
import { shallow, ShallowWrapper } from 'enzyme';
|
||||
import { UncontrolledTooltip } from 'reactstrap';
|
||||
import { Mock } from 'ts-mockery';
|
||||
@@ -16,12 +17,13 @@ describe('<ImportServersBtn />', () => {
|
||||
current: Mock.of<HTMLInputElement>({ click }),
|
||||
};
|
||||
const ImportServersBtn = importServersBtnConstruct(serversImporterMock);
|
||||
const createWrapper = (className?: string) => {
|
||||
const createWrapper = (className?: string, children?: ReactNode) => {
|
||||
wrapper = shallow(
|
||||
<ImportServersBtn
|
||||
createServers={createServersMock}
|
||||
className={className}
|
||||
fileRef={fileRef}
|
||||
children={children}
|
||||
onImport={onImportMock}
|
||||
/>,
|
||||
);
|
||||
@@ -50,6 +52,21 @@ describe('<ImportServersBtn />', () => {
|
||||
expect(wrapper.find('#importBtn').prop('className')).toEqual(expectedClassName);
|
||||
});
|
||||
|
||||
it.each([
|
||||
[ undefined, true ],
|
||||
[ 'foo', false ],
|
||||
[ 'bar', false ],
|
||||
])('has expected text', (children, expectToHaveDefaultText) => {
|
||||
const wrapper = createWrapper(undefined, children);
|
||||
|
||||
if (expectToHaveDefaultText) {
|
||||
expect(wrapper.find('#importBtn').html()).toContain('Import from file');
|
||||
} else {
|
||||
expect(wrapper.find('#importBtn').html()).toContain(children);
|
||||
expect(wrapper.find('#importBtn').html()).not.toContain('Import from file');
|
||||
}
|
||||
});
|
||||
|
||||
it('triggers click on file ref when button is clicked', () => {
|
||||
const wrapper = createWrapper();
|
||||
const btn = wrapper.find('#importBtn');
|
||||
|
||||
Reference in New Issue
Block a user