Playwright_Java_Web_Testing/page-objects/Navigation.js

33 lines
896 B
JavaScript

import { isDesktopViewPort } from "../Utils/isDesktopViewport.js"
export class Navigation {
constructor(page){
this.page = page
this.basketCounter = page.locator('[data-qa="header-basket-count"]')
this.checkoutLink = page.getByRole('link', { name: 'Checkout' })
this.mobileBurgerButton = page.locator('[data-qa="burger-button"]')
}
getBasketCount = async () => {
await this.basketCounter.waitFor()
const text = await this.basketCounter.innerText()
return parseInt(text, 10)
}
goToCheckout = async () => {
if(!isDesktopViewPort(this.page)) {
await this.mobileBurgerButton.waitFor()
await this.mobileBurgerButton.click()
}
this.checkoutLink.waitFor()
await this.checkoutLink.click()
await this.page.waitForURL("/basket")
}
}