Skip to content

Commit 647f479

Browse files
andrewseguinmmalerba
authored andcommitted
tests(material-experimental/mdc-table): add e2e tests (#19938)
* tests(material-experimental/mdc-table): add e2e tests * lint
1 parent ec76cc4 commit 647f479

File tree

9 files changed

+104
-0
lines changed

9 files changed

+104
-0
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@
235235
/src/e2e-app/mdc-radio/** @mmalerba
236236
/src/e2e-app/mdc-slide-toggle/** @crisbeto
237237
/src/e2e-app/mdc-tabs/** @crisbeto
238+
/src/e2e-app/mdc-table/** @andrewseguin
238239
/src/e2e-app/menu/** @crisbeto
239240
/src/e2e-app/progress-bar/** @jelbourn @crisbeto
240241
/src/e2e-app/progress-spinner/** @jelbourn @crisbeto

src/e2e-app/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ ng_module(
4242
"//src/material-experimental/mdc-progress-bar",
4343
"//src/material-experimental/mdc-radio",
4444
"//src/material-experimental/mdc-slide-toggle",
45+
"//src/material-experimental/mdc-table",
4546
"//src/material-experimental/mdc-tabs",
4647
"//src/material/button",
4748
"//src/material/checkbox",

src/e2e-app/e2e-app/e2e-app-layout.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
<a mat-list-item [routerLink]="['mdc-menu']">MDC Menu</a>
3232
<a mat-list-item [routerLink]="['mdc-radio']">MDC Radio</a>
3333
<a mat-list-item [routerLink]="['mdc-slide-toggle']">MDC Slide Toggle</a>
34+
<a mat-list-item [routerLink]="['mdc-table']">MDC Table</a>
3435
<a mat-list-item [routerLink]="['mdc-tabs']">MDC Tabs</a>
3536
<a mat-list-item [routerLink]="['mdc-progress-bar']">MDC Progress bar</a>
3637
</mat-nav-list>

src/e2e-app/e2e-app/routes.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import {MdcInputE2E} from '../mdc-input/mdc-input-e2e';
1919
import {MdcMenuE2e} from '../mdc-menu/mdc-menu-e2e';
2020
import {MdcRadioE2e} from '../mdc-radio/mdc-radio-e2e';
2121
import {MdcSlideToggleE2e} from '../mdc-slide-toggle/mdc-slide-toggle-e2e';
22+
import {MdcTableE2e} from '../mdc-table/mdc-table-e2e';
2223
import {MdcTabsE2e} from '../mdc-tabs/mdc-tabs-e2e';
2324
import {MdcProgressBarE2E} from '../mdc-progress-bar/mdc-progress-bar-e2e';
2425
import {MenuE2E} from '../menu/menu-e2e';
@@ -56,6 +57,7 @@ export const E2E_APP_ROUTES: Routes = [
5657
{path: 'mdc-radio', component: MdcRadioE2e},
5758
{path: 'mdc-slide-toggle', component: MdcSlideToggleE2e},
5859
{path: 'mdc-tabs', component: MdcTabsE2e},
60+
{path: 'mdc-table', component: MdcTableE2e},
5961
{path: 'mdc-progress-bar', component: MdcProgressBarE2E},
6062
{path: 'menu', component: MenuE2E},
6163
{path: 'progress-bar', component: ProgressBarE2E},

src/e2e-app/main-module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import {MdcChipsE2eModule} from './mdc-chips/mdc-chips-e2e-module';
2626
import {MdcMenuE2eModule} from './mdc-menu/mdc-menu-e2e-module';
2727
import {MdcRadioE2eModule} from './mdc-radio/mdc-radio-e2e-module';
2828
import {MdcSlideToggleE2eModule} from './mdc-slide-toggle/mdc-slide-toggle-e2e-module';
29+
import {MdcTableE2eModule} from './mdc-table/mdc-table-e2e-module';
2930
import {MdcTabsE2eModule} from './mdc-tabs/mdc-tabs-e2e-module';
3031
import {MenuE2eModule} from './menu/menu-e2e-module';
3132
import {ProgressBarE2eModule} from './progress-bar/progress-bar-e2e-module';
@@ -66,6 +67,7 @@ import {MdcProgressBarE2eModule} from './mdc-progress-bar/mdc-progress-bar-e2e-m
6667
MdcMenuE2eModule,
6768
MdcRadioE2eModule,
6869
MdcSlideToggleE2eModule,
70+
MdcTableE2eModule,
6971
MdcTabsE2eModule,
7072
MdcProgressBarE2eModule,
7173
MenuE2eModule,
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* @license
3+
* Copyright Google LLC All Rights Reserved.
4+
*
5+
* Use of this source code is governed by an MIT-style license that can be
6+
* found in the LICENSE file at https://angular.io/license
7+
*/
8+
9+
import {NgModule} from '@angular/core';
10+
import {MatTableModule} from '@angular/material-experimental/mdc-table';
11+
import {MdcTableE2e} from './mdc-table-e2e';
12+
13+
@NgModule({
14+
imports: [MatTableModule],
15+
declarations: [MdcTableE2e],
16+
})
17+
export class MdcTableE2eModule {
18+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<table mat-table [dataSource]="dataSource">
2+
3+
<!-- Position Column -->
4+
<ng-container matColumnDef="position">
5+
<th mat-header-cell *matHeaderCellDef> No. </th>
6+
<td mat-cell *matCellDef="let element"> {{element.position}} </td>
7+
</ng-container>
8+
9+
<!-- Name Column -->
10+
<ng-container matColumnDef="name">
11+
<th mat-header-cell *matHeaderCellDef> Name </th>
12+
<td mat-cell *matCellDef="let element"> {{element.name}} </td>
13+
</ng-container>
14+
15+
<!-- Weight Column -->
16+
<ng-container matColumnDef="weight">
17+
<th mat-header-cell *matHeaderCellDef> Weight </th>
18+
<td mat-cell *matCellDef="let element"> {{element.weight}} </td>
19+
</ng-container>
20+
21+
<!-- Symbol Column -->
22+
<ng-container matColumnDef="symbol">
23+
<th mat-header-cell *matHeaderCellDef> Symbol </th>
24+
<td mat-cell *matCellDef="let element"> {{element.symbol}} </td>
25+
</ng-container>
26+
27+
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
28+
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
29+
</table>
30+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* @license
3+
* Copyright Google LLC All Rights Reserved.
4+
*
5+
* Use of this source code is governed by an MIT-style license that can be
6+
* found in the LICENSE file at https://angular.io/license
7+
*/
8+
9+
import {Component} from '@angular/core';
10+
11+
export interface PeriodicElement {
12+
name: string;
13+
position: number;
14+
weight: number;
15+
symbol: string;
16+
}
17+
18+
const ELEMENT_DATA: PeriodicElement[] = [
19+
{position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H'},
20+
{position: 2, name: 'Helium', weight: 4.0026, symbol: 'He'},
21+
{position: 3, name: 'Lithium', weight: 6.941, symbol: 'Li'},
22+
{position: 4, name: 'Beryllium', weight: 9.0122, symbol: 'Be'},
23+
{position: 5, name: 'Boron', weight: 10.811, symbol: 'B'},
24+
{position: 6, name: 'Carbon', weight: 12.0107, symbol: 'C'},
25+
{position: 7, name: 'Nitrogen', weight: 14.0067, symbol: 'N'},
26+
{position: 8, name: 'Oxygen', weight: 15.9994, symbol: 'O'},
27+
{position: 9, name: 'Fluorine', weight: 18.9984, symbol: 'F'},
28+
{position: 10, name: 'Neon', weight: 20.1797, symbol: 'Ne'},
29+
];
30+
31+
@Component({
32+
selector: 'mdc-table-e2e',
33+
templateUrl: 'mdc-table-e2e.html',
34+
})
35+
export class MdcTableE2e {
36+
displayedColumns: string[] = ['position', 'name', 'weight', 'symbol'];
37+
dataSource = ELEMENT_DATA;
38+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import {browser, by, element} from 'protractor';
2+
3+
describe('mat-table', () => {
4+
5+
beforeEach(async () => await browser.get('/mdc-table'));
6+
7+
it('should show a table', async () => {
8+
expect(await element(by.tagName('table')).isPresent()).toBe(true);
9+
});
10+
11+
});

0 commit comments

Comments
 (0)