mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2024-12-23 01:20:24 +03:00
Enabled @typescript-eslint/unbound-method eslint rule again
This commit is contained in:
parent
c8f8416c06
commit
86544f4b24
4 changed files with 18 additions and 22 deletions
|
@ -16,7 +16,7 @@
|
|||
},
|
||||
"rules": {
|
||||
"@typescript-eslint/no-unsafe-assignment": "off",
|
||||
"@typescript-eslint/unbound-method": "off",
|
||||
|
||||
"@typescript-eslint/no-unsafe-member-access": "off",
|
||||
"@typescript-eslint/no-unsafe-call": "off",
|
||||
"@typescript-eslint/no-unsafe-return": "off",
|
||||
|
|
|
@ -10,6 +10,6 @@ export interface GroupedNewVisits {
|
|||
|
||||
export const groupNewVisitsByType = pipe(
|
||||
groupBy((newVisit: CreateVisit) => isOrphanVisit(newVisit.visit) ? 'orphanVisits' : 'regularVisits'),
|
||||
// @ts-ignore-error Type declaration on groupBy is not correct. It can return undefined props
|
||||
// @ts-expect-error Type declaration on groupBy is not correct. It can return undefined props
|
||||
(result): GroupedNewVisits => ({ orphanVisits: [], regularVisits: [], ...result }),
|
||||
);
|
||||
|
|
|
@ -9,16 +9,15 @@ describe('ServersExporter', () => {
|
|||
click: jest.fn(),
|
||||
style: {},
|
||||
});
|
||||
const appendChild = jest.fn();
|
||||
const removeChild = jest.fn();
|
||||
const createWindowMock = (isIe10 = true) => Mock.of<Window>({
|
||||
navigator: {
|
||||
msSaveBlob: isIe10 ? jest.fn() : undefined,
|
||||
},
|
||||
document: {
|
||||
createElement: jest.fn(() => createLinkMock()),
|
||||
body: {
|
||||
appendChild: jest.fn(),
|
||||
removeChild: jest.fn(),
|
||||
},
|
||||
body: { appendChild, removeChild },
|
||||
},
|
||||
});
|
||||
const storageMock = Mock.of<LocalStorage>({
|
||||
|
@ -33,15 +32,14 @@ describe('ServersExporter', () => {
|
|||
},
|
||||
})),
|
||||
});
|
||||
const createCsvjsonMock = (throwError = false) => Mock.of<CsvJson>({
|
||||
toCSV: jest.fn(() => {
|
||||
if (throwError) {
|
||||
const erroneousToCsv = jest.fn(() => {
|
||||
throw new Error('');
|
||||
}
|
||||
|
||||
return '';
|
||||
}),
|
||||
});
|
||||
const createCsvjsonMock = (throwError = false) => Mock.of<CsvJson>({
|
||||
toCSV: throwError ? erroneousToCsv : jest.fn(() => ''),
|
||||
});
|
||||
|
||||
beforeEach(jest.clearAllMocks);
|
||||
|
||||
describe('exportServers', () => {
|
||||
let originalConsole: Console;
|
||||
|
@ -61,12 +59,11 @@ describe('ServersExporter', () => {
|
|||
it('logs an error if something fails', () => {
|
||||
const csvjsonMock = createCsvjsonMock(true);
|
||||
const exporter = new ServersExporter(storageMock, createWindowMock(), csvjsonMock);
|
||||
const { toCSV } = csvjsonMock;
|
||||
|
||||
exporter.exportServers();
|
||||
|
||||
expect(error).toHaveBeenCalledTimes(1);
|
||||
expect(toCSV).toHaveBeenCalledTimes(1);
|
||||
expect(erroneousToCsv).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
|
||||
it('makes use of msSaveBlob API when available', () => {
|
||||
|
@ -84,8 +81,7 @@ describe('ServersExporter', () => {
|
|||
it('makes use of download link API when available', () => {
|
||||
const windowMock = createWindowMock(false);
|
||||
const exporter = new ServersExporter(storageMock, windowMock, createCsvjsonMock());
|
||||
const { document: { createElement, body } } = windowMock;
|
||||
const { appendChild, removeChild } = body;
|
||||
const { document: { createElement } } = windowMock;
|
||||
|
||||
exporter.exportServers();
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ describe('<DefaultChart />', () => {
|
|||
|
||||
const { labels, datasets } = doughnut.prop('data') as any;
|
||||
const [{ title, data, backgroundColor, borderColor }] = datasets;
|
||||
const { legend, legendCallback, scales } = doughnut.prop('options') ?? {};
|
||||
const { legend, scales, ...options } = doughnut.prop('options') ?? {};
|
||||
|
||||
expect(title).toEqual('The chart');
|
||||
expect(labels).toEqual(keys(stats));
|
||||
|
@ -46,7 +46,7 @@ describe('<DefaultChart />', () => {
|
|||
]);
|
||||
expect(borderColor).toEqual('white');
|
||||
expect(legend).toEqual({ display: false });
|
||||
expect(typeof legendCallback).toEqual('function');
|
||||
expect(typeof options.legendCallback).toEqual('function');
|
||||
expect(scales).toBeUndefined();
|
||||
expect(cols).toHaveLength(2);
|
||||
});
|
||||
|
@ -61,12 +61,12 @@ describe('<DefaultChart />', () => {
|
|||
expect(horizontal).toHaveLength(1);
|
||||
|
||||
const { datasets: [{ backgroundColor, borderColor }] } = horizontal.prop('data') as any;
|
||||
const { legend, legendCallback, scales } = horizontal.prop('options') ?? {};
|
||||
const { legend, scales, ...options } = horizontal.prop('options') ?? {};
|
||||
|
||||
expect(backgroundColor).toEqual(MAIN_COLOR_ALPHA);
|
||||
expect(borderColor).toEqual(MAIN_COLOR);
|
||||
expect(legend).toEqual({ display: false });
|
||||
expect(legendCallback).toEqual(false);
|
||||
expect(typeof options.legendCallback).toEqual('boolean');
|
||||
expect(scales).toEqual({
|
||||
xAxes: [
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue