Skip to content

Commit 52f5995

Browse files
author
Mateus Felix
committed
test(no-container): add scenarios
1 parent 1c59122 commit 52f5995

File tree

1 file changed

+54
-14
lines changed

1 file changed

+54
-14
lines changed

tests/lib/rules/no-container.test.ts

Lines changed: 54 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,69 @@ ruleTester.run(RULE_NAME, rule, {
1111
valid: [
1212
{
1313
code: `
14-
render(<Example />)
15-
screen.getByRole('button', {name: /click me/i})
14+
render(<Example />);
15+
screen.getByRole('button', {name: /click me/i});
1616
`,
1717
},
1818
{
1919
code: `
20-
const { container } = render(<Example />)
21-
expect(container.firstChild).toBeDefined()
20+
const { container } = render(<Example />);
21+
expect(container.firstChild).toBeDefined();
2222
`,
2323
},
2424
{
2525
code: `
26-
const { container: alias } = render(<Example />)
27-
expect(alias.firstChild).toBeDefined()
26+
const { container: alias } = render(<Example />);
27+
expect(alias.firstChild).toBeDefined();
28+
`,
29+
},
30+
{
31+
code: `
32+
function getExampleDOM() {
33+
const container = document.createElement('div');
34+
container.innerHTML = \`
35+
<label for="username">Username</label>
36+
<input id="username" />
37+
<button>Print Username</button>
38+
\`;
39+
const button = container.querySelector('button');
40+
41+
button.addEventListener('click', () => console.log('clicked'));
42+
return container;
43+
}
44+
45+
const exampleDOM = getExampleDOM();
46+
screen.getByText(exampleDOM, 'Print Username').click();
2847
`,
2948
},
3049
],
3150
invalid: [
3251
{
3352
code: `
34-
const { container } = render(<Example />)
35-
const button = container.querySelector('.btn-primary')
53+
const { container } = render(<Example />);
54+
const button = container.querySelector('.btn-primary');
55+
`,
56+
errors: [
57+
{
58+
messageId: 'noContainer',
59+
},
60+
],
61+
},
62+
{
63+
code: `
64+
const { container } = render(<Example />);
65+
container.querySelector();
66+
`,
67+
errors: [
68+
{
69+
messageId: 'noContainer',
70+
},
71+
],
72+
},
73+
{
74+
code: `
75+
const { container: alias } = render(<Example />);
76+
alias.querySelector();
3677
`,
3778
errors: [
3879
{
@@ -42,8 +83,7 @@ ruleTester.run(RULE_NAME, rule, {
4283
},
4384
{
4485
code: `
45-
const { container } = render(<Example />)
46-
container.querySelector()
86+
const button = screen.container.querySelector('.btn-primary')
4787
`,
4888
errors: [
4989
{
@@ -53,8 +93,8 @@ ruleTester.run(RULE_NAME, rule, {
5393
},
5494
{
5595
code: `
56-
const { container: alias } = render(<Example />)
57-
alias.querySelector()
96+
const view = render(<Example />)
97+
const button = view.container.querySelector('.btn-primary')
5898
`,
5999
errors: [
60100
{
@@ -64,8 +104,8 @@ ruleTester.run(RULE_NAME, rule, {
64104
},
65105
{
66106
code: `
67-
const { container } = renderWithRedux(<Example />)
68-
container.querySelector()
107+
const { container } = renderWithRedux(<Example />);
108+
container.querySelector();
69109
`,
70110
options: [
71111
{

0 commit comments

Comments
 (0)