first commit

This commit is contained in:
2024-11-05 12:22:50 +01:00
commit e5682a3912
19641 changed files with 2948548 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
// Get resolver
const CommonPage = require('prestashop_test_lib/versions/commonPage.js');
module.exports = class FoBasePage extends CommonPage {
constructor() {
super();
// Selectors
this.languageSelectorDiv = '#_desktop_language_selector';
this.languageSelectorExpandIcon = `${this.languageSelectorDiv} i.expand-more`;
this.languageSelectorMenuItemLink = language => `${this.languageSelectorDiv}`
+ ` ul li a[data-iso-code='${language}']`;
}
// Functions
/**
* Change language in FO
* @param page
* @param lang
* @return {Promise<void>}
*/
async changeLanguage(page, lang = 'en') {
await Promise.all([
page.click(this.languageSelectorExpandIcon),
this.waitForVisibleSelector(page, this.languageSelectorMenuItemLink(lang)),
]);
await this.clickAndWaitForNavigation(page, this.languageSelectorMenuItemLink(lang));
}
};

View File

@@ -0,0 +1,50 @@
const CommonPage = require('@versions/177/FO/foBasePage.js');
class Home extends CommonPage {
constructor() {
super();
// Selectors
this.bannerLink = 'a.banner';
this.bannerImage = `${this.bannerLink} img`;
}
// Functions
/**
* Check is banner is displayed
* @param page
* @return {Promise<boolean>}
*/
isBannerVisible(page) {
return this.elementVisible(page, this.bannerLink, 2000);
}
/**
* Get banner link
* @param page
* @return {Promise<string>}
*/
getBannerLink(page) {
return this.getAttributeContent(page, this.bannerLink, 'href');
}
/**
* Get banner description
* @param page
* @return {Promise<string>}
*/
getBannerDescription(page) {
return this.getAttributeContent(page, this.bannerLink, 'title');
}
/**
* Check if banner image is visible
* @param page
* @return {Promise<boolean>}
*/
bannerHasImage(page) {
return this.elementVisible(page, this.bannerImage, 2000);
}
}
module.exports = new Home();