This repository has been archived by the owner on Feb 18, 2021. It is now read-only.
/
view-page-page.js
executable file
·75 lines (61 loc) · 2.13 KB
/
view-page-page.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/** @format */
import { By } from 'selenium-webdriver';
import AsyncBaseContainer from '../async-base-container';
import PaymentButtonFrontEndComponent from '../components/payment-button-front-end-component';
import * as driverHelper from '../driver-helper.js';
export default class ViewPagePage extends AsyncBaseContainer {
constructor( driver ) {
super( driver, By.css( '.type-page' ) );
}
async pageTitle() {
return await this.driver.findElement( By.css( '.entry-title,.post-title' ) ).getText();
}
async pageContent() {
return await this.driver.findElement( By.css( '.entry-content,.post-content' ) ).getText();
}
async sharingButtonsVisible() {
return await driverHelper.isElementPresent( this.driver, By.css( 'div.sd-sharing' ) );
}
async isPasswordProtected() {
return await driverHelper.isElementPresent( this.driver, By.css( 'form.post-password-form' ) );
}
async categoryDisplayed() {
return await this.driver
.findElement(
By.css( 'span.cat-links a[rel="category tag"],.post-categories a[rel="category tag"]' )
)
.getText();
}
async tagDisplayed() {
return await this.driver
.findElement( By.css( '.tag-links a[rel=tag],.tags-links a[rel=tag],.post-tags a[rel=tag]' ) )
.getText();
}
async enterPassword( password ) {
await this.driver
.findElement( By.css( 'form.post-password-form input[name=post_password]' ) )
.sendKeys( password );
return await driverHelper.clickWhenClickable(
this.driver,
By.css( 'form.post-password-form input[name=Submit]' )
);
}
async imageDisplayed( fileDetails ) {
let imageElement = await this.driver.findElement(
By.css( `img[alt='${ fileDetails.imageName }']` )
);
return await driverHelper.imageVisible( this.driver, imageElement );
}
async paymentButtonDisplayed() {
const paymentButtonFrontEndComponent = await PaymentButtonFrontEndComponent.Expect(
this.driver
);
return await paymentButtonFrontEndComponent.displayed();
}
async clickPaymentButton() {
const paymentButtonFrontEndComponent = await PaymentButtonFrontEndComponent.Expect(
this.driver
);
return await paymentButtonFrontEndComponent.clickPaymentButton();
}
}