Implemented short URLs exporting

This commit is contained in:
Alejandro Celaya
2022-03-13 18:56:42 +01:00
parent e632c5b04f
commit 92ddcad753
23 changed files with 168 additions and 81 deletions

View File

@@ -5,9 +5,8 @@ import { ExportBtn } from '../../src/utils/ExportBtn';
describe('<ExportBtn />', () => {
let wrapper: ShallowWrapper;
const onClick = jest.fn();
const createWrapper = (className?: string, amount?: number) => {
wrapper = shallow(<ExportBtn className={className} amount={amount} onClick={onClick} />);
const createWrapper = (amount?: number, loading = false) => {
wrapper = shallow(<ExportBtn amount={amount} loading={loading} />);
return wrapper;
};
@@ -16,16 +15,15 @@ describe('<ExportBtn />', () => {
afterEach(() => wrapper?.unmount());
it.each([
[ undefined ],
[ 'foo' ],
[ 'bar' ],
])('renders a button', (className) => {
const wrapper = createWrapper(className);
[ true, 'Exporting...' ],
[ false, 'Export (' ],
])('renders a button', (loading, text) => {
const wrapper = createWrapper(undefined, loading);
expect(wrapper.prop('outline')).toEqual(true);
expect(wrapper.prop('color')).toEqual('primary');
expect(wrapper.prop('onClick')).toEqual(onClick);
expect(wrapper.prop('className')).toEqual(className);
expect(wrapper.prop('disabled')).toEqual(loading);
expect(wrapper.html()).toContain(text);
});
it.each([
@@ -34,7 +32,7 @@ describe('<ExportBtn />', () => {
[ 10_000, '10,000' ],
[ 10_000_000, '10,000,000' ],
])('renders expected amount', (amount, expectedRenderedAmount) => {
const wrapper = createWrapper(undefined, amount);
const wrapper = createWrapper(amount);
expect(wrapper.html()).toContain(`Export (${expectedRenderedAmount})`);
});
@@ -46,12 +44,4 @@ describe('<ExportBtn />', () => {
expect(icon).toHaveLength(1);
expect(icon.prop('icon')).toEqual(faFileDownload);
});
it('invokes callback onClick', () => {
const wrapper = createWrapper();
expect(onClick).not.toHaveBeenCalled();
wrapper.simulate('click');
expect(onClick).toHaveBeenCalledTimes(1);
});
});