Skip to content

Commit a7b9642

Browse files
authored
fix(overlay): ensure lifecycles fire properly (#19579)
1 parent 02c1724 commit a7b9642

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

core/src/components/modal/test/test.utils.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,16 @@ export const testModal = async (
1414
});
1515

1616
const screenshotCompares = [];
17+
const ionModalWillPresent = await page.spyOnEvent('ionModalWillPresent');
18+
const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent');
19+
const ionModalWillDismiss = await page.spyOnEvent('ionModalWillDismiss');
20+
const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss');
1721

1822
await page.click(selector);
23+
24+
await ionModalWillPresent.next();
25+
await ionModalDidPresent.next();
26+
1927
await page.waitForSelector(selector);
2028

2129
let modal = await page.find('ion-modal');
@@ -25,6 +33,10 @@ export const testModal = async (
2533
screenshotCompares.push(await page.compareScreenshot());
2634

2735
await modal.callMethod('dismiss');
36+
37+
await ionModalWillDismiss.next();
38+
await ionModalDidDismiss.next();
39+
2840
await modal.waitForNotVisible();
2941

3042
screenshotCompares.push(await page.compareScreenshot('dismiss'));

core/src/utils/overlays.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ const overlayAnimation = async (
221221
/**
222222
* TODO: Remove AnimationBuilder
223223
*/
224-
const hasCompleted = (typeof animationResult as any === 'boolean') ? animationResult : (animation as any).hasCompleted;
224+
const hasCompleted = (typeof animationResult as any === 'undefined') ? true : (animation as any).hasCompleted;
225225
if (isAnimationBuilder) {
226226
animation.destroy();
227227
}

0 commit comments

Comments
 (0)