forked from wevote/WebApp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTopNavigation.js
164 lines (150 loc) · 5.47 KB
/
TopNavigation.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
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
import { driver, expect } from '@wdio/globals';
import ReadyPage from '../page_objects/ready.page';
import TopNavigation from '../page_objects/topnavigation';
const { describe, it } = require('mocha');
const waitTime = 5000;
describe('TopNavigation', () => {
// TopNavigation_001
it('openWeVoteHomeLogo @BVT', async () => {
await ReadyPage.load();
await driver.pause(waitTime);
await TopNavigation.getBallotLinkLocator.click();
await driver.waitUntil(async () => {
// Add condition to check for the expected URL
const currentUrl = await driver.getUrl();
console.log(currentUrl);
return currentUrl.includes('ballot');
}, {
timeout: 10000,
timeoutMsg: 'Expected URL to contain "ballot" not found, timeout after 10000ms',
});
await driver.switchWindow('Ballot - WeVote');
await TopNavigation.toggleLogoBar();
await driver.waitUntil(async () => {
// Add condition to check for the expected URL
const currentUrl = await driver.getUrl();
console.log(currentUrl);
return currentUrl.includes('ready');
}, {
timeout: 10000,
timeoutMsg: 'Expected URL to contain "ready" not found, timeout after 10000ms',
});
await driver.switchWindow('Ready to Vote? - WeVote');
await expect(driver).toHaveUrl(expect.stringContaining('ready'));
});
// TopNavigation_002
it('openBallotTab @BVT', async () => {
await ReadyPage.load();
await driver.pause(waitTime);
await TopNavigation.getBallotLinkLocator.click();
await driver.waitUntil(async () => {
// Add condition to check for the expected URL
const currentUrl = await driver.getUrl();
console.log(currentUrl);
return currentUrl.includes('ballot');
}, {
timeout: 10000,
timeoutMsg: 'Expected URL to contain "ballot" not found, timeout after 10000ms',
});
await driver.switchWindow('Ballot - WeVote');
await expect(driver).not.toHaveUrl(expect.stringContaining('ready'));
});
// TopNavigation_003
// it('signIn', async () => {
// await ReadyPage.load();
// await expect(ReadyPage.avatar).not.toExist();
// await ReadyPage.signIn();
// await expect(ReadyPage.avatar).toBeDisplayed();
// });
// Friends page accessible after sign in
// // TopNavigation_004
// it('openFriendsTab', async () => {
// await ReadyPage.load();
// });
// Discuss page tab not in header bar
// // TopNavigation_005
// it('openDiscussTab', async () => {
// await ReadyPage.load();
// });
// HowitWorks tab not in header bar
// // TopNavigation_006
// it('openHowItWorksTab', async () => {
// await ReadyPage.load();
// });
// TopNavigation_007
it('openDonateTab @BVT', async () => {
await ReadyPage.load();
await driver.pause(waitTime);
await TopNavigation.toggleDonateTab();
await driver.waitUntil(async () => {
// Add condition to check for the expected URL
const currentUrl = await driver.getUrl();
console.log(currentUrl);
return currentUrl.includes('donate');
}, {
timeout: 10000,
timeoutMsg: 'Expected URL to contain "donate" not found, timeout after 10000ms',
});
await driver.switchWindow('Donate - WeVote');
await driver.pause(waitTime);
await expect(driver).not.toHaveUrl(expect.stringContaining('ready'));
});
// Feature doesn't exist
// // TopNavigation_008
// it('BallotTab', async () => {
// await ReadyPage.load();
// await driver.pause(waitTime);
// });
// TopNavigation_009
it('openCandidatesTab @BVT', async () => {
await ReadyPage.load();
await driver.pause(waitTime);
await TopNavigation.toggleCandidatesTab();
await driver.waitUntil(async () => {
// Add condition to check for the expected URL
const currentUrl = await driver.getUrl();
console.log(currentUrl);
return currentUrl.includes('candidates');
}, {
timeout: 10000,
timeoutMsg: 'Expected URL to contain "candidates" not found, timeout after 10000ms',
});
await driver.pause(waitTime);
await expect(driver).not.toHaveUrl(expect.stringContaining('ready'));
});
// TopNavigation_0010
// Squads feature removed from webapp
// it('openSquadsTab', async () => {
// await ReadyPage.load();
// await driver.pause(waitTime);
// await TopNavigation.toggleSquadsTab();
// await driver.waitUntil(async () => {
// // Add condition to check for the expected URL
// const currentUrl = await driver.getUrl();
// console.log(currentUrl);
// return currentUrl.includes('squads');
// }, {
// timeout: 10000,
// timeoutMsg: 'Expected URL to contain "squads" not found, timeout after 10000ms',
// });
// await driver.switchWindow('Democracy Squads - WeVote');
// await expect(driver).not.toHaveUrl(expect.stringContaining('ready'));
// });
// TopNavigation_011
it('openChallengesTab @BVT', async () => {
await ReadyPage.load();
await driver.pause(waitTime);
await TopNavigation.toggleChallengesTab();
await driver.waitUntil(async () => {
// Add condition to check for the expected URL
const currentUrl = await driver.getUrl();
console.log(currentUrl);
return currentUrl.includes('challenges');
}, {
timeout: 10000,
timeoutMsg: 'Expected URL to contain "challenges" not found, timeout after 10000ms',
});
await driver.pause(waitTime);
await expect(driver).not.toHaveUrl(expect.stringContaining('ready'));
});
});