Skip to content

Commit ac6dc43

Browse files
authored
test: test type optimization (#541)
* test: test type optimization * fix: fix test
1 parent 71be460 commit ac6dc43

File tree

9 files changed

+51
-49
lines changed

9 files changed

+51
-49
lines changed

tests/data-aria.test.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import React from 'react';
2+
import type { RenderResult } from '@testing-library/react';
23
import { render } from '@testing-library/react';
34
import Pagination from '../src';
45

56
describe('data and aria props', () => {
6-
let wrapper;
7+
let wrapper: RenderResult;
78

89
describe('with simple prop', () => {
910
beforeEach(() => {

tests/index.test.tsx

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1+
import type { RenderResult } from '@testing-library/react';
12
import { render, fireEvent } from '@testing-library/react';
23
import Select from 'rc-select';
34
import React from 'react';
45
import Pagination from '../src';
56
import { resetWarned } from 'rc-util/lib/warning';
67

78
describe('Default Pagination', () => {
8-
let wrapper;
9+
let wrapper: RenderResult;
910
const onChange = jest.fn();
10-
const $$ = (selector) => wrapper.container.querySelectorAll(selector);
11+
const $$ = (selector: string) => wrapper.container.querySelectorAll(selector);
1112

1213
beforeEach(() => {
1314
wrapper = render(<Pagination onChange={onChange} />);
@@ -26,9 +27,9 @@ describe('Default Pagination', () => {
2627
});
2728

2829
describe('Uncontrolled Pagination', () => {
29-
let wrapper;
30+
let wrapper: RenderResult;
3031
const onChange = jest.fn();
31-
const $$ = (selector) => wrapper.container.querySelectorAll(selector);
32+
const $$ = (selector: string) => wrapper.container.querySelectorAll(selector);
3233

3334
function shouldHighlightRight(current = 1) {
3435
const pagers = $$('li:not(.rc-pagination-total-text)');
@@ -205,7 +206,7 @@ describe('Uncontrolled Pagination', () => {
205206
});
206207

207208
describe('Controlled Pagination', () => {
208-
let wrapper;
209+
let wrapper: RenderResult;
209210
const onChange = jest.fn();
210211

211212
beforeEach(() => {
@@ -344,7 +345,7 @@ describe('Other props', () => {
344345

345346
// https://github.com/ant-design/ant-design/issues/10524
346347
describe('current value on onShowSizeChange when total is 0', () => {
347-
let wrapper;
348+
let wrapper: RenderResult;
348349
const onShowSizeChange = jest.fn();
349350
const onChange = jest.fn();
350351

@@ -485,7 +486,7 @@ describe('current value on onShowSizeChange when total is 0', () => {
485486
});
486487

487488
describe('should emit onChange when total is string', () => {
488-
let wrapper;
489+
let wrapper: RenderResult;
489490
const onChange = jest.fn();
490491

491492
beforeEach(() => {
@@ -508,10 +509,9 @@ describe('should emit onChange when total is string', () => {
508509
});
509510

510511
describe('keyboard support', () => {
511-
let wrapper;
512+
let wrapper: RenderResult;
512513
const onChange = jest.fn();
513-
const $$ = (selector) => wrapper.container.querySelectorAll(selector);
514-
const $ = (selector) => wrapper.container.querySelector(selector);
514+
const $ = (selector: string) => wrapper.container.querySelector(selector);
515515

516516
beforeEach(() => {
517517
wrapper = render(
@@ -572,12 +572,12 @@ describe('keyboard support', () => {
572572
});
573573

574574
describe('select in sequence', () => {
575-
const serializeCls = (items) =>
576-
Array.from(items).map((item: HTMLElement) =>
575+
const serializeCls = (items: NodeListOf<HTMLLIElement>) =>
576+
Array.from(items).map((item) =>
577577
item.getAttribute('class').replaceAll('rc-pagination-', ''),
578578
);
579579

580-
function sequenceSelector(total) {
580+
function sequenceSelector(total: number) {
581581
describe(`should sequence select ${total} pages`, () => {
582582
const { container } = render(<Pagination total={total} current={1} />);
583583
const cls = serializeCls(container.querySelectorAll('li'));
@@ -586,11 +586,11 @@ describe('select in sequence', () => {
586586
const pages = Math.floor((total - 1) / 10) + 1;
587587
for (let i = 2; i <= pages; i++) {
588588
it(`should select page ${i}`, () => {
589-
const { container } = render(
589+
const { container: pageContainer } = render(
590590
<Pagination total={total} current={i} />,
591591
);
592-
const cls = serializeCls(container.querySelectorAll('li'));
593-
expect(cls).toMatchSnapshot();
592+
const clsString = serializeCls(pageContainer.querySelectorAll('li'));
593+
expect(clsString).toMatchSnapshot();
594594
});
595595
}
596596
});

tests/itemRender.test.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import React from 'react';
2+
import type { RenderResult } from '@testing-library/react';
23
import { render } from '@testing-library/react';
34
import Pagination from '../src';
45

56
describe('itemRender', () => {
6-
let wrapper;
7+
let wrapper: RenderResult;
78
const currentPage = 12;
8-
const itemRender = (current) => <a href={`#${current}`}>{current}</a>;
9-
const $$ = (selector) => wrapper.container.querySelector(selector);
9+
const itemRender = (current: number) => <a href={`#${current}`}>{current}</a>;
10+
const $$ = (selector: string) => wrapper.container.querySelector(selector);
1011

1112
beforeEach(() => {
1213
wrapper = render(
@@ -47,7 +48,7 @@ describe('itemRender', () => {
4748
<Pagination
4849
total={1000}
4950
current={currentPage}
50-
itemRender={(page, type, originalElement) => {
51+
itemRender={(_, type, originalElement) => {
5152
if (type === 'page') {
5253
return null;
5354
}
@@ -63,7 +64,7 @@ describe('itemRender', () => {
6364
<Pagination
6465
total={1000}
6566
current={currentPage}
66-
itemRender={(page, type, originalElement) => {
67+
itemRender={(_, type, originalElement) => {
6768
if (type === 'prev' || type === 'next') {
6869
return null;
6970
}

tests/jumper.test.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
import type { RenderResult } from '@testing-library/react';
12
import { render, fireEvent } from '@testing-library/react';
23
import Pagination from '../src';
34
import * as React from 'react';
45

56
describe('Pagination with jumper', () => {
6-
let wrapper;
7+
let wrapper: RenderResult;
78
const onChange = jest.fn();
8-
const $$ = (selector) => wrapper.container.querySelector(selector);
9+
const $$ = (selector: string) => wrapper.container.querySelector(selector);
910

1011
beforeEach(() => {
1112
wrapper = render(
@@ -68,10 +69,10 @@ describe('Pagination with jumper', () => {
6869
});
6970

7071
it('should not jump when input empty string', () => {
71-
const onChange = jest.fn();
72+
const onChangeFn = jest.fn();
7273
const { container } = render(
7374
<Pagination
74-
onChange={onChange}
75+
onChange={onChangeFn}
7576
total={25}
7677
showQuickJumper={{
7778
goButton: (
@@ -97,12 +98,12 @@ describe('Pagination with jumper', () => {
9798
expect(
9899
container.querySelector('.rc-pagination-item-active'),
99100
).toHaveTextContent('3');
100-
expect(onChange).toHaveBeenLastCalledWith(3, 10);
101+
expect(onChangeFn).toHaveBeenLastCalledWith(3, 10);
101102
});
102103
});
103104

104105
describe('simple quick jumper', () => {
105-
let wrapper;
106+
let wrapper: RenderResult;
106107
const onChange = jest.fn();
107108

108109
beforeEach(() => {

tests/options.test.tsx

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,17 @@ import zhCN from '../src/locale/zh_CN';
44
import Options from '../src/Options';
55
import * as React from 'react';
66

7-
const WrapperOptions = (props) => {
8-
return (
9-
<Options
10-
locale={zhCN}
11-
rootPrefixCls="rc-pagination"
12-
selectComponentClass={Select}
13-
pageSize={10}
14-
changeSize={jest.fn()}
15-
quickGo={jest.fn()}
16-
{...props}
17-
/>
18-
);
19-
};
7+
const WrapperOptions: React.FC<any> = (props) => (
8+
<Options
9+
locale={zhCN}
10+
rootPrefixCls="rc-pagination"
11+
selectComponentClass={Select}
12+
pageSize={10}
13+
changeSize={jest.fn()}
14+
quickGo={jest.fn()}
15+
{...props}
16+
/>
17+
);
2018

2119
describe('Options', () => {
2220
it('should render correctly', () => {

tests/simple.test.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1+
import type { RenderResult } from '@testing-library/react';
12
import { render, fireEvent, createEvent } from '@testing-library/react';
23
import Select from 'rc-select';
34
import React, { useState } from 'react';
45
import Pagination from '../src';
56

67
describe('simple Pagination', () => {
7-
let wrapper;
8+
let wrapper: RenderResult;
89

910
beforeEach(() => {
1011
wrapper = render(
@@ -48,7 +49,7 @@ describe('simple Pagination', () => {
4849

4950
it('should return to 1 when blur goto input in control mode', () => {
5051
const App = () => {
51-
const [current, setCurrent] = useState(1);
52+
const [, setCurrent] = useState(1);
5253
return <Pagination simple current={1} total={25} onChange={setCurrent} />;
5354
};
5455
const { container } = render(<App />);

tests/sizer.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { render, fireEvent, act } from '@testing-library/react';
2+
import { render, fireEvent } from '@testing-library/react';
33
import Select from 'rc-select';
44
import Pagination from '../src';
55

tests/two-pagination.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
import type { RenderResult } from '@testing-library/react';
12
import { render, fireEvent } from '@testing-library/react';
23
import React from 'react';
34
import TwoPagination from './two-pagination';
45

56
describe('Two Pagination', () => {
6-
let wrapper;
7-
let mockPagination;
7+
let wrapper: RenderResult;
88

99
beforeEach(() => {
1010
jest.mock('../src', () => {});

tests/two-pagination.jsx renamed to tests/two-pagination.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ class Hello extends React.Component {
99
};
1010

1111
changeSize = () => {
12-
this.setState({
13-
pageSize: 50,
14-
});
12+
this.setState({ pageSize: 50 });
1513
};
1614

15+
onShowSizeChange = () => {};
16+
1717
render() {
1818
return (
1919
<>

0 commit comments

Comments
 (0)