Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
},
{
"files": ["*.ts"],
"plugins": ["eslint-plugin-import", "@angular-eslint/eslint-plugin", "@typescript-eslint"],
"rules": {
"@typescript-eslint/consistent-type-definitions": "error",
"@typescript-eslint/dot-notation": "off",
Expand Down Expand Up @@ -102,8 +103,14 @@
"markers": ["/"]
}
]
},
"plugins": ["eslint-plugin-import", "@angular-eslint/eslint-plugin", "@typescript-eslint"]
}
},
{
"files": ["*.spec.ts"],
"extends": ["plugin:testing-library/angular", "plugin:jest-dom/recommended"],
"rules": {
"testing-library/prefer-explicit-assert": "error"
}
},
{
"files": ["*.html"],
Expand Down
6 changes: 3 additions & 3 deletions apps/example-app/src/app/examples/00-single-component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ test('renders the current value and can increment and decrement', async () => {
const decrementControl = screen.getByRole('button', { name: /decrement/i });
const valueControl = screen.getByTestId('value');

expect(valueControl.textContent).toBe('0');
expect(valueControl).toHaveTextContent('0');

fireEvent.click(incrementControl);
fireEvent.click(incrementControl);
expect(valueControl.textContent).toBe('2');
expect(valueControl).toHaveTextContent('2');

fireEvent.click(decrementControl);
expect(valueControl.textContent).toBe('1');
expect(valueControl).toHaveTextContent('1');
});
6 changes: 3 additions & 3 deletions apps/example-app/src/app/examples/01-nested-component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ test('renders the current value and can increment and decrement', async () => {
const decrementControl = screen.getByRole('button', { name: /decrement/i });
const valueControl = screen.getByTestId('value');

expect(valueControl.textContent).toBe('0');
expect(valueControl).toHaveTextContent('0');

fireEvent.click(incrementControl);
fireEvent.click(incrementControl);
expect(valueControl.textContent).toBe('2');
expect(valueControl).toHaveTextContent('2');

fireEvent.click(decrementControl);
expect(valueControl.textContent).toBe('1');
expect(valueControl).toHaveTextContent('1');
});
8 changes: 4 additions & 4 deletions apps/example-app/src/app/examples/02-input-output.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ test('is possible to set input and listen for output', async () => {
const sendControl = screen.getByRole('button', { name: /send/i });
const valueControl = screen.getByTestId('value');

expect(valueControl.textContent).toBe('47');
expect(valueControl).toHaveTextContent('47');

fireEvent.click(incrementControl);
fireEvent.click(incrementControl);
fireEvent.click(incrementControl);
expect(valueControl.textContent).toBe('50');
expect(valueControl).toHaveTextContent('50');

fireEvent.click(sendControl);
expect(sendValue).toHaveBeenCalledTimes(1);
Expand All @@ -44,12 +44,12 @@ test('is possible to set input and listen for output with the template syntax',
const sendControl = screen.getByRole('button', { name: /send/i });
const valueControl = screen.getByTestId('value');

expect(valueControl.textContent).toBe('47');
expect(valueControl).toHaveTextContent('47');

fireEvent.click(incrementControl);
fireEvent.click(incrementControl);
fireEvent.click(incrementControl);
expect(valueControl.textContent).toBe('50');
expect(valueControl).toHaveTextContent('50');

fireEvent.click(sendControl);
expect(sendSpy).toHaveBeenCalledTimes(1);
Expand Down
12 changes: 6 additions & 6 deletions apps/example-app/src/app/examples/05-component-provider.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ test('renders the current value and can increment and decrement', async () => {
const decrementControl = screen.getByRole('button', { name: /decrement/i });
const valueControl = screen.getByTestId('value');

expect(valueControl.textContent).toBe('0');
expect(valueControl).toHaveTextContent('0');

fireEvent.click(incrementControl);
fireEvent.click(incrementControl);
expect(valueControl.textContent).toBe('2');
expect(valueControl).toHaveTextContent('2');

fireEvent.click(decrementControl);
expect(valueControl.textContent).toBe('1');
expect(valueControl).toHaveTextContent('1');
});

test('renders the current value and can increment and decrement with a mocked jest-utils service', async () => {
Expand All @@ -48,14 +48,14 @@ test('renders the current value and can increment and decrement with a mocked je
const decrementControl = screen.getByRole('button', { name: /decrement/i });
const valueControl = screen.getByTestId('value');

expect(valueControl.textContent).toBe('50');
expect(valueControl).toHaveTextContent('50');

fireEvent.click(incrementControl);
fireEvent.click(incrementControl);
expect(valueControl.textContent).toBe('70');
expect(valueControl).toHaveTextContent('70');

fireEvent.click(decrementControl);
expect(valueControl.textContent).toBe('60');
expect(valueControl).toHaveTextContent('60');
});

test('renders the current value and can increment and decrement with provideMocked from jest-utils', async () => {
Expand Down
6 changes: 3 additions & 3 deletions apps/example-app/src/app/examples/06-with-ngrx-store.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ test('works with ngrx store', async () => {
const decrementControl = screen.getByRole('button', { name: /decrement/i });
const valueControl = screen.getByTestId('value');

expect(valueControl.textContent).toBe('0');
expect(valueControl).toHaveTextContent('0');

fireEvent.click(incrementControl);
fireEvent.click(incrementControl);
expect(valueControl.textContent).toBe('20');
expect(valueControl).toHaveTextContent('20');

fireEvent.click(decrementControl);
expect(valueControl.textContent).toBe('10');
expect(valueControl).toHaveTextContent('10');
});
16 changes: 8 additions & 8 deletions apps/example-app/src/app/examples/16-input-getter-setter.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ test('should run logic in the input setter and getter', async () => {
const valueControl = screen.getByTestId('value');
const getterValueControl = screen.getByTestId('value-getter');

expect(valueControl.textContent).toBe('I am value from setter Angular');
expect(getterValueControl.textContent).toBe('I am value from getter Angular');
expect(valueControl).toHaveTextContent('I am value from setter Angular');
expect(getterValueControl).toHaveTextContent('I am value from getter Angular');
});

test('should run logic in the input setter and getter while re-rendering', async () => {
const component = await render(InputGetterSetter, { componentProperties: { value: 'Angular' } });
const { rerender } = await render(InputGetterSetter, { componentProperties: { value: 'Angular' } });
const valueControl = screen.getByTestId('value');
const getterValueControl = screen.getByTestId('value-getter');

expect(valueControl.textContent).toBe('I am value from setter Angular');
expect(getterValueControl.textContent).toBe('I am value from getter Angular');
expect(valueControl).toHaveTextContent('I am value from setter Angular');
expect(getterValueControl).toHaveTextContent('I am value from getter Angular');

await component.rerender({ value: 'React' });
await rerender({ value: 'React' });

expect(valueControl.textContent).toBe('I am value from setter React');
expect(getterValueControl.textContent).toBe('I am value from getter React');
expect(valueControl).toHaveTextContent('I am value from setter React');
expect(getterValueControl).toHaveTextContent('I am value from getter React');
});
8 changes: 4 additions & 4 deletions apps/example-app/src/app/issues/issue-106.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,23 @@ it('https://github.com/testing-library/angular-testing-library/issues/106', asyn
const toggle = screen.getByTestId('toggle');
const hiddenText = screen.queryByTestId('getme');

expect(hiddenText).toBeNull();
expect(hiddenText).not.toBeInTheDocument();
fireEvent.click(toggle);

// fails
// await waitFor(() => expect(hiddenText).not.toBeNull());

// succeeds
await waitFor(() => expect(screen.queryByTestId('getme')).not.toBeNull());
await waitFor(() => expect(screen.queryByTestId('getme')).toBeInTheDocument());
});

it('better https://github.com/testing-library/angular-testing-library/issues/106', async () => {
await render(TestSelectComponent);
const toggle = screen.getByTestId('toggle');
const hiddenText = screen.queryByTestId('getme');

expect(hiddenText).toBeNull();
expect(hiddenText).not.toBeInTheDocument();
fireEvent.click(toggle);

screen.getByTestId('getme');
expect(screen.getByTestId('getme')).toBeInTheDocument();
});
2 changes: 1 addition & 1 deletion apps/example-app/tsconfig.spec.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"module": "commonjs",
"types": ["jest", "node"]
"types": ["jest", "node", "@testing-library/jest-dom"]
},
"files": ["src/test-setup.ts"],
"include": ["**/*.spec.ts", "**/*.d.ts"]
Expand Down
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
"@nrwl/node": "12.0.3",
"@nrwl/nx-plugin": "12.0.3",
"@nrwl/workspace": "12.0.3",
"@testing-library/jest-dom": "^5.11.0",
"@testing-library/jest-dom": "^5.11.10",
"@types/jest": "~26.0.3",
"@types/node": "14.14.37",
"@typescript-eslint/eslint-plugin": "4.22.0",
Expand All @@ -70,6 +70,8 @@
"eslint": "7.24.0",
"eslint-config-prettier": "8.2.0",
"eslint-plugin-import": "latest",
"eslint-plugin-jest-dom": "3.8.0",
"eslint-plugin-testing-library": "^4.0.1",
"husky": "^4.2.5",
"jest": "^26.1.0",
"jest-preset-angular": "8.4.0",
Expand Down
2 changes: 1 addition & 1 deletion projects/jest-utils/tsconfig.spec.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"extends": "../../tsconfig.json",
"compilerOptions": {
"module": "commonjs",
"types": ["node", "jest"]
"types": ["node", "jest", "@testing-library/jest-dom"]
},
"files": ["test-setup.ts"],
"include": ["**/*.spec.ts", "**/*.d.ts"]
Expand Down
2 changes: 1 addition & 1 deletion projects/testing-library/tsconfig.spec.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"extends": "../../tsconfig.json",
"compilerOptions": {
"module": "commonjs",
"types": ["node", "jest"]
"types": ["node", "jest", "@testing-library/jest-dom"]
},
"files": ["test-setup.ts"],
"include": ["**/*.spec.ts", "**/*.d.ts"]
Expand Down