File tree 2 files changed +52
-0
lines changed
apps/example-app/src/app/examples
2 files changed +52
-0
lines changed Original file line number Diff line number Diff line change
1
+ import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed' ;
2
+ import { MatButtonHarness } from '@angular/material/button/testing' ;
3
+ import { MatSnackBarHarness } from '@angular/material/snack-bar/testing' ;
4
+ import { render , screen } from '@testing-library/angular' ;
5
+ import user from '@testing-library/user-event' ;
6
+
7
+ import { SnackBarComponent } from './20-test-harness' ;
8
+
9
+ test ( 'can be used with TestHarness' , async ( ) => {
10
+ const view = await render ( `<app-harness></app-harness>` , {
11
+ imports : [ SnackBarComponent ] ,
12
+ } ) ;
13
+ const loader = TestbedHarnessEnvironment . documentRootLoader ( view . fixture ) ;
14
+
15
+ const buttonHarness = await loader . getHarness ( MatButtonHarness ) ;
16
+ const button = await buttonHarness . host ( ) ;
17
+ button . click ( ) ;
18
+
19
+ const snackbarHarness = await loader . getHarness ( MatSnackBarHarness ) ;
20
+ expect ( await snackbarHarness . getMessage ( ) ) . toMatch ( / P i z z a P a r t y ! ! ! / i) ;
21
+ } ) ;
22
+
23
+ test ( 'can be used in combination with TestHarness' , async ( ) => {
24
+ const view = await render ( SnackBarComponent ) ;
25
+ const loader = TestbedHarnessEnvironment . documentRootLoader ( view . fixture ) ;
26
+
27
+ user . click ( screen . getByRole ( 'button' ) ) ;
28
+
29
+ const snackbarHarness = await loader . getHarness ( MatSnackBarHarness ) ;
30
+ expect ( await snackbarHarness . getMessage ( ) ) . toMatch ( / P i z z a P a r t y ! ! ! / i) ;
31
+
32
+ expect ( screen . getByText ( / P i z z a P a r t y ! ! ! / i) ) . toBeInTheDocument ( ) ;
33
+ } ) ;
Original file line number Diff line number Diff line change
1
+ import { Component } from '@angular/core' ;
2
+ import { MatButtonModule } from '@angular/material/button' ;
3
+ import { MatSnackBar , MatSnackBarModule } from '@angular/material/snack-bar' ;
4
+
5
+ @Component ( {
6
+ selector : 'app-harness' ,
7
+ standalone : true ,
8
+ imports : [ MatButtonModule , MatSnackBarModule ] ,
9
+ template : `
10
+ <button mat-stroked-button (click)="openSnackBar()" aria-label="Show an example snack-bar">Pizza party</button>
11
+ ` ,
12
+ } )
13
+ export class SnackBarComponent {
14
+ constructor ( private snackBar : MatSnackBar ) { }
15
+
16
+ openSnackBar ( ) {
17
+ return this . snackBar . open ( 'Pizza Party!!!' ) ;
18
+ }
19
+ }
You can’t perform that action at this time.
0 commit comments