mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2026-03-14 11:33:51 +00:00
Improved VisitsTable test
This commit is contained in:
@@ -28,10 +28,20 @@ describe('<VisitsTable />', () => {
|
|||||||
const createWrapper = (visits: NormalizedVisit[], selectedVisits: NormalizedVisit[] = []) => wrapperFactory(
|
const createWrapper = (visits: NormalizedVisit[], selectedVisits: NormalizedVisit[] = []) => wrapperFactory(
|
||||||
{ visits, selectedVisits },
|
{ visits, selectedVisits },
|
||||||
);
|
);
|
||||||
const createOrphanVisitsWrapper = (isOrphanVisits: boolean) => wrapperFactory({ isOrphanVisits });
|
const createOrphanVisitsWrapper = (isOrphanVisits: boolean, version: SemVer) => wrapperFactory({
|
||||||
|
isOrphanVisits,
|
||||||
|
selectedServer: Mock.of<ReachableServer>({ printableVersion: version, version }),
|
||||||
|
});
|
||||||
const createServerVersionWrapper = (version: SemVer) => wrapperFactory({
|
const createServerVersionWrapper = (version: SemVer) => wrapperFactory({
|
||||||
selectedServer: Mock.of<ReachableServer>({ printableVersion: version, version }),
|
selectedServer: Mock.of<ReachableServer>({ printableVersion: version, version }),
|
||||||
});
|
});
|
||||||
|
const createWrapperWithBots = () => wrapperFactory({
|
||||||
|
selectedServer: Mock.of<ReachableServer>({ printableVersion: '2.7.0', version: '2.7.0' }),
|
||||||
|
visits: [
|
||||||
|
Mock.of<NormalizedVisit>({ potentialBot: false }),
|
||||||
|
Mock.of<NormalizedVisit>({ potentialBot: true }),
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
afterEach(jest.resetAllMocks);
|
afterEach(jest.resetAllMocks);
|
||||||
afterEach(() => wrapper?.unmount());
|
afterEach(() => wrapper?.unmount());
|
||||||
@@ -146,10 +156,12 @@ describe('<VisitsTable />', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
[ true, 8 ],
|
[ true, '2.6.0' as SemVer, 8 ],
|
||||||
[ false, 7 ],
|
[ false, '2.6.0' as SemVer, 7 ],
|
||||||
])('displays proper amount of columns for orphan and non-orphan visits', (isOrphanVisits, expectedCols) => {
|
[ true, '2.7.0' as SemVer, 9 ],
|
||||||
const wrapper = createOrphanVisitsWrapper(isOrphanVisits);
|
[ false, '2.7.0' as SemVer, 8 ],
|
||||||
|
])('displays proper amount of columns for orphan and non-orphan visits', (isOrphanVisits, version, expectedCols) => {
|
||||||
|
const wrapper = createOrphanVisitsWrapper(isOrphanVisits, version);
|
||||||
const rowsWithColspan = wrapper.find('[colSpan]');
|
const rowsWithColspan = wrapper.find('[colSpan]');
|
||||||
const cols = wrapper.find('th');
|
const cols = wrapper.find('th');
|
||||||
|
|
||||||
@@ -157,4 +169,12 @@ describe('<VisitsTable />', () => {
|
|||||||
expect(rowsWithColspan).toHaveLength(2);
|
expect(rowsWithColspan).toHaveLength(2);
|
||||||
rowsWithColspan.forEach((row) => expect(row.prop('colSpan')).toEqual(expectedCols));
|
rowsWithColspan.forEach((row) => expect(row.prop('colSpan')).toEqual(expectedCols));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('displays bots icon when a visit is a potential bot', () => {
|
||||||
|
const wrapper = createWrapperWithBots();
|
||||||
|
const rows = wrapper.find('tbody').find('tr');
|
||||||
|
|
||||||
|
expect(rows.at(0).find('td').at(1).text()).not.toContain('FontAwesomeIcon');
|
||||||
|
expect(rows.at(1).find('td').at(1).text()).toContain('FontAwesomeIcon');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user