Skip to content

Commit b8bdfad

Browse files
authored
test: decrease fake loading time (siemens#260)
1 parent e8e56db commit b8bdfad

2 files changed

Lines changed: 7 additions & 52 deletions

File tree

playwright/e2e/paging.spec.ts

Lines changed: 1 addition & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,9 @@ test.describe('paging', () => {
3434
test(example, async ({ si, page }) => {
3535
await si.visitExample(example);
3636

37-
await expect(page.locator('ghost-loader')).toBeVisible();
3837
await page.waitForSelector('datatable-row-wrapper');
3938
await pagerTest(page, 20);
4039
await page.waitForSelector('span[title="Tonya Bray"]');
41-
await expect(page.locator('ghost-loader').first()).not.toBeVisible();
4240
await expect(page.getByRole('cell', { name: 'Ethel Price' })).not.toBeVisible();
4341
await si.runVisualAndA11yTests('novirtualization');
4442
});
@@ -50,17 +48,11 @@ test.describe('paging', () => {
5048
test(example, async ({ si, page }) => {
5149
await si.visitExample(example);
5250

53-
await expect(page.locator('ghost-loader')).toBeVisible();
54-
await expect(page.locator('.bar')).toBeVisible();
55-
5651
await page.waitForSelector('datatable-scroller');
5752

5853
const pager = page.locator('datatable-pager');
5954
expect(pager).not.toBeVisible();
6055

61-
await expect(page.locator('ghost-loader')).not.toBeVisible();
62-
await expect(page.locator('.bar')).not.toBeVisible();
63-
6456
await si.runVisualAndA11yTests('infinite-scroll-initial', [
6557
{
6658
id: 'label',
@@ -84,9 +76,6 @@ test.describe('paging', () => {
8476

8577
await page.mouse.wheel(0, 1000);
8678

87-
await expect(page.locator('ghost-loader').first()).toBeVisible();
88-
await expect(page.locator('.bar')).toHaveCount(0);
89-
9079
await si.runVisualAndA11yTests('infinite-scroll-after-scroll', [
9180
{
9281
id: 'aria-progressbar-name',
@@ -112,21 +101,12 @@ test.describe('paging', () => {
112101
test(example, async ({ si, page }) => {
113102
await si.visitExample(example);
114103

115-
await expect(page.locator('ghost-loader')).toBeVisible();
116-
await expect(page.locator('.custom-loading-content')).toBeVisible();
117-
118104
await page.waitForSelector('span[title="Claudine Neal"]');
119105

120-
await expect(page.locator('ghost-loader').first()).not.toBeVisible();
121-
await expect(page.locator('.custom-loading-content')).not.toBeVisible();
122-
123106
await si.runVisualAndA11yTests('virtual-scroll-initial');
124107

125108
await page.getByLabel('page 4').click();
126109

127-
await expect(page.locator('ghost-loader').first()).toBeVisible();
128-
await expect(page.locator('.custom-loading-content')).toBeVisible();
129-
130110
await page.waitForSelector('span[title="Freda Mason"]');
131111

132112
await si.runVisualAndA11yTests('virtual-server-side-navigate', [
@@ -151,42 +131,24 @@ test.describe('paging', () => {
151131
await page.getByRole('row', { name: 'Freda Mason' }).click();
152132
await page.mouse.wheel(0, 500);
153133

154-
await expect(page.locator('.custom-loading-content')).toBeVisible();
155-
156134
await page.waitForSelector('.datatable-body-cell-label');
157135

158-
await expect(page.locator('.custom-loading-content')).toHaveCount(0);
159-
160136
await si.runVisualAndA11yTests('virtual-server-side-scroll');
161137
});
162138
});
163139
});
164140

165-
const pagerTest = async (
166-
page: Page,
167-
numberOfRows: number,
168-
checkForGhostLoader: boolean = false
169-
) => {
141+
const pagerTest = async (page: Page, numberOfRows: number) => {
170142
const pager = page.locator('datatable-pager');
171143
expect(pager).toBeTruthy();
172144

173-
if (checkForGhostLoader) {
174-
await expect(page.locator('ghost-loader').first()).toBeVisible();
175-
await expect(page.locator('.custom-loading-content')).toBeVisible();
176-
}
177-
178145
const firstPageButton = page.getByLabel('go to first page').locator('..');
179146
const previousButton = page.getByLabel('go to previous page').locator('..');
180147
const nextButton = page.getByLabel('go to next page').locator('..');
181148
const lastButton = page.getByLabel('go to last page').locator('..');
182149

183150
await page.waitForSelector('span[title="Ethel Price"]');
184151

185-
if (checkForGhostLoader) {
186-
await expect(page.locator('ghost-loader').first()).not.toBeVisible();
187-
await expect(page.locator('.custom-loading-content')).not.toBeVisible();
188-
}
189-
190152
const displayedRows = await page.locator('datatable-row-wrapper').all();
191153
expect(displayedRows).toHaveLength(numberOfRows);
192154

@@ -201,18 +163,8 @@ const pagerTest = async (
201163

202164
await lastButton.click();
203165

204-
if (checkForGhostLoader) {
205-
await expect(page.locator('ghost-loader').first()).toBeVisible();
206-
await expect(page.locator('.custom-loading-content')).toBeVisible();
207-
}
208-
209166
await page.waitForSelector('span[title="Humphrey Curtis"]');
210167

211-
if (checkForGhostLoader) {
212-
await expect(page.locator('ghost-loader').first()).not.toBeVisible();
213-
await expect(page.locator('.custom-loading-content')).not.toBeVisible();
214-
}
215-
216168
await expect(page.getByRole('cell', { name: 'Ethel Price' })).not.toBeVisible();
217169
await expect(page.getByRole('cell', { name: 'Beryl Rice' })).not.toBeVisible();
218170

src/app/paging/mock-server-results-service.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,12 @@ export class MockServerResultsService {
1818
* @returns An observable containing the employee data
1919
*/
2020
public getResults(page: Page): Observable<PagedData<Employee>> {
21-
return of(companyData)
22-
.pipe(map(d => this.getPagedData(page)))
23-
.pipe(delay(1500 * Math.random()));
21+
return (
22+
of(companyData)
23+
.pipe(map(d => this.getPagedData(page)))
24+
// 1 ms in e2e requires the app to recalculate, but it is too fast for e2e to notice.
25+
.pipe(delay(window.navigator.webdriver ? 1 : 1500 * Math.random()))
26+
);
2427
}
2528

2629
/**

0 commit comments

Comments
 (0)