Skip to content

Commit f17cd27

Browse files
authored
Merge branch 'dev' into refactor/top-tabs-indicators
2 parents d8b2622 + 167b13c commit f17cd27

35 files changed

Lines changed: 2047 additions & 282 deletions
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
import { $, $$ } from '@wdio/globals';
2+
3+
class FollowingScreen {
4+
get screenTitle() {
5+
return $('android=new UiSelector().text("Following")');
6+
}
7+
8+
get sideMenuButton() {
9+
return $('~open-drawer-button');
10+
}
11+
12+
get newTweetButton() {
13+
return $('~new-tweet-button');
14+
}
15+
16+
get aiSummaryButton() {
17+
return $$('~ai-summary-button');
18+
}
19+
20+
get tweetReplyButton() {
21+
return $$('~reply-button');
22+
}
23+
24+
get tweetRetweetButton() {
25+
return $$('~retweet-button');
26+
}
27+
28+
get tweetLikeButton() {
29+
return $$('~like-button');
30+
}
31+
32+
get tweetLikeCount() {
33+
return $$('~like-count');
34+
}
35+
36+
get tweetReplyCount() {
37+
return $$('~reply-count');
38+
}
39+
40+
get tweetRetweetCount() {
41+
return $$('~retweet-count');
42+
}
43+
44+
get tweetDrawerButton() {
45+
return $$('~tweet-drawer-button');
46+
}
47+
48+
get tweetCard() {
49+
return $$('~tweet-card');
50+
}
51+
52+
get aiSummaryText() {
53+
return $$('~ai-summary-text');
54+
}
55+
56+
get tweetContent() {
57+
return $$('~tweet-content');
58+
}
59+
60+
get tweetMention() {
61+
return $$('~tweet-mention');
62+
}
63+
64+
get tweetHashtag() {
65+
return $$('~tweet-hashtag');
66+
}
67+
68+
get tweetLink() {
69+
return $$('~tweet-link');
70+
}
71+
72+
get tweetDeleteButton() {
73+
return $('android=new UiSelector().text("Delete post")');
74+
}
75+
76+
get deleteTweetModal() {
77+
return $('android=new UiSelector().text("Delete post?")');
78+
}
79+
80+
get confirmDeleteTweetButton() {
81+
return $('~block-button');
82+
}
83+
84+
get cancelDeleteTweetButton() {
85+
return $('~cancel-block-button');
86+
}
87+
88+
get repostFromDrawerButton() {
89+
return $('android=new UiSelector().text("Repost")');
90+
}
91+
92+
get quoteFromDrawerButton() {
93+
return $('android=new UiSelector().text("Quote")');
94+
}
95+
96+
get undoRepostFromDrawerButton() {
97+
return $('android=new UiSelector().text("Undo Repost")');
98+
}
99+
100+
async chooseRepostFromDrawer() {
101+
await this.repostFromDrawerButton.waitForDisplayed();
102+
await this.repostFromDrawerButton.click();
103+
}
104+
105+
async chooseUndoRepostFromDrawer() {
106+
await this.undoRepostFromDrawerButton.waitForDisplayed();
107+
await this.undoRepostFromDrawerButton.click();
108+
}
109+
110+
async chooseQuoteFromDrawer() {
111+
await this.quoteFromDrawerButton.waitForDisplayed();
112+
await this.quoteFromDrawerButton.click();
113+
}
114+
115+
async clickNewTweetButton() {
116+
await this.newTweetButton.waitForDisplayed();
117+
await this.newTweetButton.click();
118+
}
119+
120+
async deleteTweet() {
121+
await this.tweetDeleteButton.waitForDisplayed();
122+
await this.tweetDeleteButton.click();
123+
}
124+
125+
async isDeleteTweetModalDisplayed() {
126+
return this.deleteTweetModal.isDisplayed();
127+
}
128+
129+
async confirmDeleteTweet() {
130+
await this.confirmDeleteTweetButton.waitForDisplayed();
131+
await this.confirmDeleteTweetButton.click();
132+
}
133+
134+
async cancelDeleteTweet() {
135+
await this.cancelDeleteTweetButton.waitForDisplayed();
136+
await this.cancelDeleteTweetButton.click();
137+
}
138+
139+
async isDisplayed() {
140+
return this.screenTitle.isDisplayed();
141+
}
142+
}
143+
144+
export default new FollowingScreen();

e2e/pageobjects/Home/ForYouScreen.page.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ class ForYouScreen {
1919
get exploreTab() {
2020
return $('~ExploreTab');
2121
}
22+
get newTweetButton() {
23+
return $('~new-tweet-button');
24+
}
2225

2326
async switchToNotificationsTab() {
2427
await this.notificationsTab.waitForDisplayed();
@@ -48,6 +51,11 @@ class ForYouScreen {
4851
async isDisplayed() {
4952
return (await this.forYouTab.isDisplayed()) && (await this.followingTab.isDisplayed());
5053
}
54+
55+
async clickNewTweetButton() {
56+
await this.newTweetButton.waitForDisplayed();
57+
await this.newTweetButton.click();
58+
}
5159
}
5260

5361
export default new ForYouScreen();

e2e/pageobjects/TweetDetailsScreen.page.js

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import { $, $$, driver } from '@wdio/globals';
2+
3+
class TweetComposerScreen {
4+
get postButton() {
5+
return $('~composer-post-button');
6+
}
7+
8+
get tweetInput() {
9+
return $('~tweet-text-input');
10+
}
11+
12+
get composerMediaImages() {
13+
return $$('~composer-media-image');
14+
}
15+
16+
get composerRemoveMedia() {
17+
return $$('~composer-remove-media');
18+
}
19+
20+
get composerDiscardModal() {
21+
return $('android=new UiSelector().text("Discard Tweet?")');
22+
}
23+
24+
get composerDiscardModalDiscardButton() {
25+
return $('android=new UiSelector().text("DISCARD")');
26+
}
27+
28+
get composerDiscardModalCancelButton() {
29+
return $('android=new UiSelector().text("CANCEL")');
30+
}
31+
32+
async writeTweet(tweet) {
33+
await this.tweetInput.waitForDisplayed();
34+
await this.tweetInput.setValue(tweet);
35+
}
36+
37+
async postTweet() {
38+
await this.postButton.waitForDisplayed();
39+
await this.postButton.click();
40+
}
41+
42+
async goBack() {
43+
await driver.back();
44+
await driver.pause(500);
45+
}
46+
47+
async isDisplayed() {
48+
return (await this.postButton.isDisplayed()) && (await this.tweetInput.isDisplayed());
49+
}
50+
51+
async isPostButtonEnabled() {
52+
return await this.postButton.isEnabled();
53+
}
54+
55+
async isDiscardModalDisplayed() {
56+
return await this.composerDiscardModal.isDisplayed();
57+
}
58+
59+
async discardTweet() {
60+
await this.composerDiscardModalDiscardButton.waitForDisplayed();
61+
await this.composerDiscardModalDiscardButton.click();
62+
}
63+
64+
async cancelDiscardTweet() {
65+
await this.composerDiscardModalCancelButton.waitForDisplayed();
66+
await this.composerDiscardModalCancelButton.click();
67+
}
68+
}
69+
70+
export default new TweetComposerScreen();

0 commit comments

Comments
 (0)