51 lines
1.8 KiB
JavaScript
51 lines
1.8 KiB
JavaScript
const I = actor();
|
|
|
|
module.exports = {
|
|
locators: {
|
|
consentTrackModal: '.modal-content',
|
|
consentTrackAffirm: '.affirm.btn.btn-primary',
|
|
searchField: 'input.form-control.search-field',
|
|
searchedImage: 'a>img.swatch-circle',
|
|
loginButton: '.user-message',
|
|
subscribeEmail: 'input.form-control',
|
|
subscribeButton: '.subscribe-email',
|
|
emailSignup: '.email-signup-alert',
|
|
searchWomens: '#womens.nav-link.dropdown-toggle',
|
|
searchWomensClothing: '#womens-clothing.dropdown-link.dropdown-toggle',
|
|
searchWomensTops: '#womens-clothing-tops.dropdown-link',
|
|
searchStoreZipCode: '#store-postal-code',
|
|
searchStoreBtn: '.btn-storelocator-search',
|
|
searchStoreResults: '.results.striped',
|
|
searchStoreCard: '.card-body',
|
|
searchStoreRadius: '.form-control.custom-select.radius'
|
|
},
|
|
accept() {
|
|
within(this.locators.consentTrackModal, () => {
|
|
I.click(this.locators.consentTrackAffirm);
|
|
});
|
|
},
|
|
search(product) {
|
|
I.fillField(this.locators.searchField, product);
|
|
I.waitForElement(this.locators.searchedImage);
|
|
I.click(this.locators.searchedImage);
|
|
},
|
|
subscribeList(email) {
|
|
I.fillField('hpEmailSignUp', email);
|
|
},
|
|
searchMenu(productPage) {
|
|
I.amOnPage(productPage);
|
|
},
|
|
searchForStore(zip) {
|
|
I.fillField(this.locators.searchStoreZipCode, zip);
|
|
I.click(this.locators.searchStoreBtn);
|
|
},
|
|
verifyStoreResults(numStores) {
|
|
let locator = locate(this.locators.searchStoreCard)
|
|
.inside(this.locators.searchStoreResults);
|
|
I.seeNumberOfVisibleElements(locator, numStores);
|
|
},
|
|
changeStoreRadius(radius) {
|
|
I.selectOption(this.locators.searchStoreRadius, radius);
|
|
}
|
|
};
|