Skip to content

Commit 1baee54

Browse files
authored
update more specs
1 parent ca84460 commit 1baee54

File tree

4 files changed

+41
-23
lines changed

4 files changed

+41
-23
lines changed

apps/example-app/src/app/examples/05-component-provider.spec.ts

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import { TestBed } from '@angular/core/testing';
2-
import { render, screen, fireEvent } from '@testing-library/angular';
2+
import { render, screen } from '@testing-library/angular';
33
import { provideMock, Mock, createMock } from '@testing-library/angular/jest-utils';
4+
import userEvent from '@testing-library/user-event';
45

56
import { ComponentWithProviderComponent, CounterService } from './05-component-provider';
67

78
test('renders the current value and can increment and decrement', async () => {
9+
const user = userEvent.setup();
10+
811
await render(ComponentWithProviderComponent, {
912
componentProviders: [
1013
{
@@ -20,15 +23,17 @@ test('renders the current value and can increment and decrement', async () => {
2023

2124
expect(valueControl).toHaveTextContent('0');
2225

23-
fireEvent.click(incrementControl);
24-
fireEvent.click(incrementControl);
26+
await user.click(incrementControl);
27+
await user.click(incrementControl);
2528
expect(valueControl).toHaveTextContent('2');
2629

27-
fireEvent.click(decrementControl);
30+
await user.click(decrementControl);
2831
expect(valueControl).toHaveTextContent('1');
2932
});
3033

3134
test('renders the current value and can increment and decrement with a mocked jest-utils service', async () => {
35+
const user = userEvent.setup();
36+
3237
const counter = createMock(CounterService);
3338
let fakeCounterValue = 50;
3439
counter.increment.mockImplementation(() => (fakeCounterValue += 10));
@@ -50,25 +55,27 @@ test('renders the current value and can increment and decrement with a mocked je
5055

5156
expect(valueControl).toHaveTextContent('50');
5257

53-
fireEvent.click(incrementControl);
54-
fireEvent.click(incrementControl);
58+
await user.click(incrementControl);
59+
await user.click(incrementControl);
5560
expect(valueControl).toHaveTextContent('70');
5661

57-
fireEvent.click(decrementControl);
62+
await user.click(decrementControl);
5863
expect(valueControl).toHaveTextContent('60');
5964
});
6065

6166
test('renders the current value and can increment and decrement with provideMocked from jest-utils', async () => {
67+
const user = userEvent.setup();
68+
6269
await render(ComponentWithProviderComponent, {
6370
componentProviders: [provideMock(CounterService)],
6471
});
6572

6673
const incrementControl = screen.getByRole('button', { name: /increment/i });
6774
const decrementControl = screen.getByRole('button', { name: /decrement/i });
6875

69-
fireEvent.click(incrementControl);
70-
fireEvent.click(incrementControl);
71-
fireEvent.click(decrementControl);
76+
await user.click(incrementControl);
77+
await user.click(incrementControl);
78+
await user.click(decrementControl);
7279

7380
const counterService = TestBed.inject(CounterService) as Mock<CounterService>;
7481
expect(counterService.increment).toHaveBeenCalledTimes(2);

apps/example-app/src/app/examples/06-with-ngrx-store.spec.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
import { render, screen, fireEvent } from '@testing-library/angular';
1+
import { render, screen } from '@testing-library/angular';
22
import { StoreModule } from '@ngrx/store';
3+
import userEvent from '@testing-library/user-event';
34

45
import { WithNgRxStoreComponent, reducer } from './06-with-ngrx-store';
56

67
test('works with ngrx store', async () => {
8+
const user = userEvent.setup();
9+
710
await render(WithNgRxStoreComponent, {
811
imports: [
912
StoreModule.forRoot(
@@ -23,10 +26,10 @@ test('works with ngrx store', async () => {
2326

2427
expect(valueControl).toHaveTextContent('0');
2528

26-
fireEvent.click(incrementControl);
27-
fireEvent.click(incrementControl);
29+
await user.click(incrementControl);
30+
await user.click(incrementControl);
2831
expect(valueControl).toHaveTextContent('20');
2932

30-
fireEvent.click(decrementControl);
33+
await user.click(decrementControl);
3134
expect(valueControl).toHaveTextContent('10');
3235
});

apps/example-app/src/app/examples/07-with-ngrx-mock-store.spec.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import { TestBed } from '@angular/core/testing';
22
import { provideMockStore, MockStore } from '@ngrx/store/testing';
3-
import { render, screen, fireEvent } from '@testing-library/angular';
3+
import { render, screen } from '@testing-library/angular';
4+
import userEvent from '@testing-library/user-event';
45

56
import { WithNgRxMockStoreComponent, selectItems } from './07-with-ngrx-mock-store';
67

78
test('works with provideMockStore', async () => {
9+
const user = userEvent.setup();
10+
811
await render(WithNgRxMockStoreComponent, {
912
providers: [
1013
provideMockStore({
@@ -21,7 +24,7 @@ test('works with provideMockStore', async () => {
2124
const store = TestBed.inject(MockStore);
2225
store.dispatch = jest.fn();
2326

24-
fireEvent.click(screen.getByText(/seven/i));
27+
await user.click(screen.getByText(/seven/i));
2528

2629
expect(store.dispatch).toHaveBeenCalledWith({ type: '[Item List] send', item: 'Seven' });
2730
});

apps/example-app/src/app/examples/08-directive.spec.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
import { render, screen, fireEvent } from '@testing-library/angular';
1+
import { render, screen } from '@testing-library/angular';
2+
import userEvent from '@testing-library/user-event';
23

34
import { SpoilerDirective } from './08-directive';
45

56
test('it is possible to test directives', async () => {
7+
const user = userEvent.setup();
8+
69
await render('<div appSpoiler data-testid="dir"></div>', {
710
declarations: [SpoilerDirective],
811
});
@@ -12,16 +15,17 @@ test('it is possible to test directives', async () => {
1215
expect(screen.queryByText('I am visible now...')).not.toBeInTheDocument();
1316
expect(screen.getByText('SPOILER')).toBeInTheDocument();
1417

15-
fireEvent.mouseOver(directive);
18+
await user.hover(directive);
1619
expect(screen.queryByText('SPOILER')).not.toBeInTheDocument();
1720
expect(screen.getByText('I am visible now...')).toBeInTheDocument();
1821

19-
fireEvent.mouseLeave(directive);
22+
await user.unhover(directive);
2023
expect(screen.getByText('SPOILER')).toBeInTheDocument();
2124
expect(screen.queryByText('I am visible now...')).not.toBeInTheDocument();
2225
});
2326

2427
test('it is possible to test directives with props', async () => {
28+
const user = userEvent.setup();
2529
const hidden = 'SPOILER ALERT';
2630
const visible = 'There is nothing to see here ...';
2731

@@ -36,16 +40,17 @@ test('it is possible to test directives with props', async () => {
3640
expect(screen.queryByText(visible)).not.toBeInTheDocument();
3741
expect(screen.getByText(hidden)).toBeInTheDocument();
3842

39-
fireEvent.mouseOver(screen.getByText(hidden));
43+
await user.hover(screen.getByText(hidden));
4044
expect(screen.queryByText(hidden)).not.toBeInTheDocument();
4145
expect(screen.getByText(visible)).toBeInTheDocument();
4246

43-
fireEvent.mouseLeave(screen.getByText(visible));
47+
await user.unhover(screen.getByText(visible));
4448
expect(screen.getByText(hidden)).toBeInTheDocument();
4549
expect(screen.queryByText(visible)).not.toBeInTheDocument();
4650
});
4751

4852
test('it is possible to test directives with props in template', async () => {
53+
const user = userEvent.setup();
4954
const hidden = 'SPOILER ALERT';
5055
const visible = 'There is nothing to see here ...';
5156

@@ -56,11 +61,11 @@ test('it is possible to test directives with props in template', async () => {
5661
expect(screen.queryByText(visible)).not.toBeInTheDocument();
5762
expect(screen.getByText(hidden)).toBeInTheDocument();
5863

59-
fireEvent.mouseOver(screen.getByText(hidden));
64+
await user.hover(screen.getByText(hidden));
6065
expect(screen.queryByText(hidden)).not.toBeInTheDocument();
6166
expect(screen.getByText(visible)).toBeInTheDocument();
6267

63-
fireEvent.mouseLeave(screen.getByText(visible));
68+
await user.unhover(screen.getByText(visible));
6469
expect(screen.getByText(hidden)).toBeInTheDocument();
6570
expect(screen.queryByText(visible)).not.toBeInTheDocument();
6671
});

0 commit comments

Comments
 (0)