-
Notifications
You must be signed in to change notification settings - Fork 362
Expand file tree
/
Copy pathPrivacyPage.browser.js
More file actions
147 lines (135 loc) · 4.47 KB
/
Copy pathPrivacyPage.browser.js
File metadata and controls
147 lines (135 loc) · 4.47 KB
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
import { driver, expect } from '@wdio/globals';
import ReadyPage from '../page_objects/ready.browser';
import PrivacyPage from '../page_objects/privacy.browser';
import assert from 'node:assert';
const waitTime = 10000;
describe('Privacy PageBrowser', () => {
beforeEach(async () => {
await ReadyPage.load();
await ReadyPage.findPrivacyLink.waitForClickable({
timeout: 10000,
});
await ReadyPage.findPrivacyLink.click();
});
afterEach(async () => {
const handles = await driver.getWindowHandles();
for (let i = handles.length - 1; i > 0; i--) {
await driver.switchToWindow(handles[i]);
await driver.closeWindow();
}
await driver.switchToWindow(handles[0]);
});
async function switchToNewWindow(urlFragment) {
await driver.waitUntil(
async () => {
const handles = await driver.getWindowHandles();
return handles.length > 1;
},
{
timeout: 10000,
timeoutMsg: 'New window was not opened',
}
);
await driver.switchWindow(urlFragment);
}
// Privacy_001
it('verifyWeVoteUSLinkRedirect', async () => {
await PrivacyPage.weVoteUSLink.waitForClickable();
await PrivacyPage.weVoteUSLink.click();
await driver.switchWindow('wevote.us');
await expect(driver).toHaveUrl(
expect.stringContaining('wevote.us')
);
});
// Privacy_002
it('verifyCampaignsWeVoteUSLinkRedirect', async () => {
await PrivacyPage.campaignsWeVoteUSLink.waitForClickable();
await PrivacyPage.campaignsWeVoteUSLink.click();
await switchToNewWindow('campaigns.wevote.us');
await expect(
PrivacyPage.elementOfCampaignPage
).toHaveText(
'Helping the best candidates win votes'
);
});
// Privacy_003
it('verifyHelpCenterLinkRedirect', async () => {
await PrivacyPage.helpCenterLink.waitForClickable();
await PrivacyPage.helpCenterLink.click();
await switchToNewWindow('help.wevote.us');
await expect(driver).toHaveTitle(
expect.stringContaining('Security')
);
});
// Privacy_005
it('verifyDeleteYourAccountLink', async () => {
await PrivacyPage.deleteYourAccountLink.waitForClickable();
await PrivacyPage.deleteYourAccountLink.click();
await PrivacyPage.deleteYourAccountButton.waitForClickable();
await PrivacyPage.deleteYourAccountButton.click();
await expect(driver).toHaveTitle(
expect.stringContaining('Privacy')
);
});
// Privacy_005_2
it('verifyCancelButtonOfDeleteYourAccountLink', async () => {
await PrivacyPage.deleteYourAccountLink.waitForClickable();
await PrivacyPage.deleteYourAccountLink.click();
await expect(
PrivacyPage.deleteYourAccountLink
).not.toBeDisplayed();
await PrivacyPage.cancelOfDeleteYourAccountButton.waitForClickable();
await PrivacyPage.cancelOfDeleteYourAccountButton.click();
await expect(
PrivacyPage.deleteYourAccountLink
).toBeDisplayed();
});
// Privacy_006
it('verifyGoogleApiUserDataPolicyLink', async () => {
await PrivacyPage.googleApiUserDataPolicyLink.waitForClickable();
await PrivacyPage.googleApiUserDataPolicyLink.click();
await switchToNewWindow('developers.google.com');
await expect(driver).toHaveTitle(
expect.stringContaining('Google API Services User Data Policy')
);
});
// Privacy_007
it('verifyGoogleAnalyticsLink', async () => {
await PrivacyPage.googleAnalyticsLink.waitForClickable();
await PrivacyPage.googleAnalyticsLink.click();
await switchToNewWindow('policies.google.com');
await expect(driver).toHaveTitle(
expect.stringContaining('Privacy Policy')
);
});
// Privacy_008
it('verifyOpenReplayPrivacyLink', async () => {
await PrivacyPage.openReplayPrivacyLink.waitForClickable();
await PrivacyPage.openReplayPrivacyLink.click();
await switchToNewWindow('openreplay.com');
await driver.waitUntil(
async () => {
const currentUrl = await driver.getUrl();
return currentUrl.includes('/legal/privacy/');
},
{
timeout: 10000,
timeoutMsg: 'Privacy page URL not found',
}
);
await expect(driver).toHaveTitle(
expect.stringContaining('Privacy')
);
});
// Privacy 009
it('verifyEmailLinks', async () => {
await expect(
PrivacyPage.emailLink
).toBeElementsArrayOfSize(2);
const actualResultArray =
await PrivacyPage.getTextFromEmailLinks();
actualResultArray.forEach((email) => {
assert.equal(email, 'info@WeVote.US');
});
});
});