Skip to content

Commit 69c84a7

Browse files
committed
test(angular): adding more dedicated testing around swipe gesture property
1 parent f1d9d22 commit 69c84a7

8 files changed

Lines changed: 105 additions & 17 deletions

File tree

packages/angular/test/base/e2e/src/lazy/routing.spec.ts

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,6 @@ test.describe('Routing', () => {
1919
await expect(page.locator('app-router-link-page')).toHaveAttribute('class', 'ion-page can-go-back');
2020
});
2121

22-
test('should not swipe back when swipeGesture is false', async ({ page }) => {
23-
await page.locator('#routerLink').click();
24-
25-
await ionPageHidden(page, 'app-router-link');
26-
await ionPageVisible(page, 'app-router-link-page');
27-
28-
await page.locator('ion-router-outlet').evaluate((el: any) => {
29-
el.swipeGesture = false;
30-
});
31-
32-
await ionSwipeToGoBack(page, true);
33-
34-
await ionPageVisible(page, 'app-router-link-page');
35-
await ionPageHidden(page, 'app-router-link');
36-
});
37-
3822
test('should swipe and go back', async ({ page }) => {
3923
await page.locator('#routerLink').click();
4024

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { test } from '@playwright/test';
2+
import { ionSwipeToGoBack } from '../../utils/drag-utils';
3+
import { ionPageVisible, ionPageHidden } from '../../utils/test-utils';
4+
5+
test.describe('Swipe Gesture Disabled', () => {
6+
test.beforeEach(async ({ page }) => {
7+
await page.goto('/lazy/swipe-gesture-disabled?ionic:mode=ios');
8+
});
9+
10+
test('should not swipe back when swipeGesture is false', async ({ page }) => {
11+
await ionPageVisible(page, 'app-swipe-gesture-disabled-main');
12+
13+
await page.locator('#swipe-disabled-details').click();
14+
await ionPageVisible(page, 'app-swipe-gesture-disabled-details');
15+
await ionPageHidden(page, 'app-swipe-gesture-disabled-main');
16+
17+
await ionSwipeToGoBack(page, true);
18+
19+
await ionPageVisible(page, 'app-swipe-gesture-disabled-details');
20+
await ionPageHidden(page, 'app-swipe-gesture-disabled-main');
21+
});
22+
});

packages/angular/test/base/src/app/lazy/app-lazy/app.module.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ import { AccordionComponent } from '../accordion/accordion.component';
2929
import { AccordionModalComponent } from '../accordion/accordion-modal/accordion-modal.component';
3030
import { TabsBasicComponent } from '../tabs-basic/tabs-basic.component';
3131
import { TemplateFormComponent } from '../template-form/template-form.component';
32+
import { SwipeGestureDisabledComponent } from '../swipe-gesture-disabled/swipe-gesture-disabled.component';
33+
import { SwipeGestureDisabledMainComponent } from '../swipe-gesture-disabled/swipe-gesture-disabled-main.component';
34+
import { SwipeGestureDisabledDetailsComponent } from '../swipe-gesture-disabled/swipe-gesture-disabled-details.component';
3235

3336
@NgModule({
3437
declarations: [
@@ -55,7 +58,10 @@ import { TemplateFormComponent } from '../template-form/template-form.component'
5558
AccordionComponent,
5659
AccordionModalComponent,
5760
TabsBasicComponent,
58-
TemplateFormComponent
61+
TemplateFormComponent,
62+
SwipeGestureDisabledComponent,
63+
SwipeGestureDisabledMainComponent,
64+
SwipeGestureDisabledDetailsComponent
5965
],
6066
imports: [
6167
CommonModule,

packages/angular/test/base/src/app/lazy/app-lazy/app.routes.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ import { AlertComponent } from '../alert/alert.component';
2020
import { AccordionComponent } from '../accordion/accordion.component';
2121
import { TabsBasicComponent } from '../tabs-basic/tabs-basic.component';
2222
import { TemplateFormComponent } from '../template-form/template-form.component';
23+
import { SwipeGestureDisabledComponent } from '../swipe-gesture-disabled/swipe-gesture-disabled.component';
24+
import { SwipeGestureDisabledMainComponent } from '../swipe-gesture-disabled/swipe-gesture-disabled-main.component';
25+
import { SwipeGestureDisabledDetailsComponent } from '../swipe-gesture-disabled/swipe-gesture-disabled-details.component';
2326

2427
export const routes: Routes = [
2528
{
@@ -88,6 +91,20 @@ export const routes: Routes = [
8891
{
8992
path: 'form-controls/range',
9093
loadChildren: () => import('../form-controls/range/range.module').then(m => m.RangeModule)
94+
},
95+
{
96+
path: 'swipe-gesture-disabled',
97+
component: SwipeGestureDisabledComponent,
98+
children: [
99+
{
100+
path: '',
101+
component: SwipeGestureDisabledMainComponent
102+
},
103+
{
104+
path: 'details',
105+
component: SwipeGestureDisabledDetailsComponent
106+
}
107+
]
91108
}
92109
]
93110
},

packages/angular/test/base/src/app/lazy/home-page/home-page.component.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,5 +85,10 @@
8585
Popovers
8686
</ion-label>
8787
</ion-item>
88+
<ion-item routerLink="/lazy/swipe-gesture-disabled">
89+
<ion-label>
90+
Swipe Gesture Disabled
91+
</ion-label>
92+
</ion-item>
8893
</ion-list>
8994
</ion-content>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { Component } from '@angular/core';
2+
3+
@Component({
4+
selector: 'app-swipe-gesture-disabled-details',
5+
template: `
6+
<ion-header>
7+
<ion-toolbar>
8+
<ion-buttons slot="start">
9+
<ion-back-button defaultHref="/lazy/swipe-gesture-disabled"></ion-back-button>
10+
</ion-buttons>
11+
<ion-title>Details</ion-title>
12+
</ion-toolbar>
13+
</ion-header>
14+
<ion-content>
15+
<div>Details (swipe disabled)</div>
16+
</ion-content>
17+
`,
18+
standalone: false
19+
})
20+
export class SwipeGestureDisabledDetailsComponent {}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { Component } from '@angular/core';
2+
3+
@Component({
4+
selector: 'app-swipe-gesture-disabled-main',
5+
template: `
6+
<ion-content>
7+
<ion-item routerLink="/lazy/swipe-gesture-disabled/details" id="swipe-disabled-details">
8+
<ion-label>Details</ion-label>
9+
</ion-item>
10+
</ion-content>
11+
`,
12+
standalone: false
13+
})
14+
export class SwipeGestureDisabledMainComponent {}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { Component } from '@angular/core';
2+
3+
@Component({
4+
selector: 'app-swipe-gesture-disabled',
5+
template: `
6+
<ion-header>
7+
<ion-toolbar>
8+
<ion-buttons slot="start">
9+
<ion-back-button defaultHref="/lazy"></ion-back-button>
10+
</ion-buttons>
11+
<ion-title>Swipe Gesture Disabled</ion-title>
12+
</ion-toolbar>
13+
</ion-header>
14+
<ion-content>
15+
<ion-router-outlet [swipeGesture]="false"></ion-router-outlet>
16+
</ion-content>
17+
`,
18+
standalone: false
19+
})
20+
export class SwipeGestureDisabledComponent {}

0 commit comments

Comments
 (0)