Files
2026-05-31 14:33:58 -04:00

41 lines
906 B
JavaScript

class ToastComponent {
constructor(page) {
this.page = page;
}
container() {
return this.page.locator('.toastsContainer');
}
toasts() {
return this.page.locator('.toastsContainer .toastContainer');
}
async getToastTitles() {
const titles = await this.page.locator('.toastsContainer .toastTitle').allTextContents();
return titles.map(t => t.trim()).filter(Boolean);
}
_page() {
return this.page.page || this.page;
}
async hasToastContaining(text) {
try {
await this._page().waitForFunction(
(expected) => {
const titles = document.querySelectorAll('.toastsContainer .toastTitle');
return Array.from(titles).some(t => t.textContent.trim().includes(expected));
},
text,
{ timeout: 3000 }
);
return true;
} catch {
return false;
}
}
}
module.exports = ToastComponent;