Skip to content

Commit 09e9d90

Browse files
authored
Merge branch 'trunk' into feat/clarifying-Applicarion-Password-experimental-feature-flag
2 parents cdc23f1 + d97ea6b commit 09e9d90

File tree

11 files changed

+55
-96
lines changed

11 files changed

+55
-96
lines changed

.configure

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"project_name": "WordPress-Android",
33
"branch": "trunk",
4-
"pinned_hash": "ccf321783e91fa1523f456d0cc8573d1e32493d2",
4+
"pinned_hash": "0577a8e9e54297cccb061a0a44963cd42c7349cc",
55
"files_to_copy": [
66
{
77
"file": "android/WPAndroid/secrets.properties",
@@ -44,7 +44,5 @@
4444
"encrypt": true
4545
}
4646
],
47-
"file_dependencies": [
48-
49-
]
47+
"file_dependencies": []
5048
}
-672 Bytes
Binary file not shown.

WordPress/src/androidTest/java/org/wordpress/android/e2e/LoginTests.kt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ package org.wordpress.android.e2e
33
import dagger.hilt.android.testing.HiltAndroidTest
44
import org.junit.Before
55
import org.junit.Test
6-
import org.wordpress.android.BuildConfig
76
import org.wordpress.android.e2e.flows.LoginFlow
87
import org.wordpress.android.support.BaseTest
98
import org.wordpress.android.support.ComposeEspressoLink
9+
import org.wordpress.android.support.E2ECredentials
1010

1111
@HiltAndroidTest
1212
class LoginTests : BaseTest() {
@@ -19,8 +19,8 @@ class LoginTests : BaseTest() {
1919
@Test
2020
fun e2eLoginWithEmailPassword() {
2121
LoginFlow().chooseContinueWithWpCom(super.mComposeTestRule)
22-
.enterEmailAddress(BuildConfig.E2E_WP_COM_USER_EMAIL)
23-
.enterPassword(BuildConfig.E2E_WP_COM_USER_PASSWORD)
22+
.enterEmailAddress(E2ECredentials.WP_COM_USER_EMAIL)
23+
.enterPassword(E2ECredentials.WP_COM_USER_PASSWORD)
2424
.confirmLogin()
2525

2626
ComposeEspressoLink().unregister()
@@ -29,7 +29,7 @@ class LoginTests : BaseTest() {
2929
@Test
3030
fun e2eLoginWithPasswordlessAccount() {
3131
LoginFlow().chooseContinueWithWpCom(super.mComposeTestRule)
32-
.enterEmailAddress(BuildConfig.E2E_WP_COM_PASSWORDLESS_USER_EMAIL)
32+
.enterEmailAddress(E2ECredentials.WP_COM_PASSWORDLESS_USER_EMAIL)
3333
.openMagicLink()
3434
.confirmLogin()
3535

@@ -39,9 +39,9 @@ class LoginTests : BaseTest() {
3939
@Test
4040
fun e2eLoginWithSiteAddress() {
4141
LoginFlow().chooseEnterYourSiteAddress(super.mComposeTestRule)
42-
.enterSiteAddress(BuildConfig.E2E_WP_COM_USER_SITE_ADDRESS)
43-
.enterEmailAddress(BuildConfig.E2E_WP_COM_USER_EMAIL)
44-
.enterPassword(BuildConfig.E2E_WP_COM_USER_PASSWORD)
42+
.enterSiteAddress(E2ECredentials.WP_COM_USER_SITE_ADDRESS)
43+
.enterEmailAddress(E2ECredentials.WP_COM_USER_EMAIL)
44+
.enterPassword(E2ECredentials.WP_COM_USER_PASSWORD)
4545
.confirmLogin()
4646

4747
ComposeEspressoLink().unregister()
@@ -51,7 +51,7 @@ class LoginTests : BaseTest() {
5151
fun e2eLoginWithMagicLink() {
5252
try {
5353
LoginFlow().chooseContinueWithWpCom(super.mComposeTestRule)
54-
.enterEmailAddress(BuildConfig.E2E_WP_COM_USER_EMAIL)
54+
.enterEmailAddress(E2ECredentials.WP_COM_USER_EMAIL)
5555
.chooseMagicLink()
5656
.openMagicLink()
5757
.confirmLogin()
@@ -65,10 +65,10 @@ class LoginTests : BaseTest() {
6565
@Test
6666
fun e2eLoginWithSelfHostedAccount() {
6767
LoginFlow().chooseEnterYourSiteAddress(super.mComposeTestRule)
68-
.enterSiteAddress(BuildConfig.E2E_SELF_HOSTED_USER_SITE_ADDRESS)
68+
.enterSiteAddress(E2ECredentials.SELF_HOSTED_USER_SITE_ADDRESS)
6969
.enterUsernameAndPassword(
70-
BuildConfig.E2E_SELF_HOSTED_USER_USERNAME,
71-
BuildConfig.E2E_SELF_HOSTED_USER_PASSWORD
70+
E2ECredentials.SELF_HOSTED_USER_USERNAME,
71+
E2ECredentials.SELF_HOSTED_USER_PASSWORD
7272
)
7373
.confirmLogin()
7474

WordPress/src/androidTest/java/org/wordpress/android/e2e/SignUpTests.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ package org.wordpress.android.e2e
33
import dagger.hilt.android.testing.HiltAndroidTest
44
import org.junit.Before
55
import org.junit.Test
6-
import org.wordpress.android.BuildConfig
76
import org.wordpress.android.e2e.flows.SignupFlow
87
import org.wordpress.android.support.BaseTest
98
import org.wordpress.android.support.ComposeEspressoLink
9+
import org.wordpress.android.support.E2ECredentials
1010

1111
@HiltAndroidTest
1212
class SignUpTests : BaseTest() {
@@ -20,13 +20,13 @@ class SignUpTests : BaseTest() {
2020
fun e2eSignUpWithMagicLink() {
2121
try {
2222
SignupFlow().chooseContinueWithWpCom(super.mComposeTestRule)
23-
.enterEmail(BuildConfig.E2E_SIGNUP_EMAIL)
23+
.enterEmail(E2ECredentials.SIGNUP_EMAIL)
2424
.openMagicLink()
2525
.checkEpilogue(
26-
BuildConfig.E2E_SIGNUP_DISPLAY_NAME,
27-
BuildConfig.E2E_SIGNUP_USERNAME
26+
E2ECredentials.SIGNUP_DISPLAY_NAME,
27+
E2ECredentials.SIGNUP_USERNAME
2828
)
29-
.enterPassword(BuildConfig.E2E_SIGNUP_PASSWORD)
29+
.enterPassword(E2ECredentials.SIGNUP_PASSWORD)
3030
.dismissInterstitial()
3131
.dismissJetpackAd()
3232
.confirmSignup()

WordPress/src/androidTest/java/org/wordpress/android/e2e/flows/LoginFlow.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import org.hamcrest.CoreMatchers
1414
import org.hamcrest.Matchers
1515
import org.wordpress.android.BuildConfig
1616
import org.wordpress.android.R
17+
import org.wordpress.android.support.E2ECredentials
1718
import org.wordpress.android.e2e.pages.HelpScreen
1819
import org.wordpress.android.e2e.pages.LandingPage.tapContinueWithWpCom
1920
import org.wordpress.android.e2e.pages.LandingPage.tapEnterYourSiteAddress
@@ -48,8 +49,8 @@ class LoginFlow {
4849
// If we get bumped to the "enter your username and password" screen, fill it in
4950
if (WPSupportUtils.atLeastOneElementWithIdIsDisplayed(LoginR.id.login_password_row)) {
5051
enterUsernameAndPassword(
51-
BuildConfig.E2E_WP_COM_USER_USERNAME,
52-
BuildConfig.E2E_WP_COM_USER_PASSWORD
52+
E2ECredentials.WP_COM_USER_USERNAME,
53+
E2ECredentials.WP_COM_USER_PASSWORD
5354
)
5455
}
5556

WordPress/src/androidTest/java/org/wordpress/android/support/BaseTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@
3434
import static com.google.android.apps.common.testing.accessibility.framework.AccessibilityCheckResultUtils.matchesTypes;
3535
import static org.hamcrest.Matchers.anyOf;
3636
import static org.hamcrest.Matchers.is;
37-
import static org.wordpress.android.BuildConfig.E2E_SELF_HOSTED_USER_SITE_ADDRESS;
38-
import static org.wordpress.android.BuildConfig.E2E_WP_COM_USER_EMAIL;
39-
import static org.wordpress.android.BuildConfig.E2E_WP_COM_USER_PASSWORD;
37+
import static org.wordpress.android.support.E2ECredentials.SELF_HOSTED_USER_SITE_ADDRESS;
38+
import static org.wordpress.android.support.E2ECredentials.WP_COM_USER_EMAIL;
39+
import static org.wordpress.android.support.E2ECredentials.WP_COM_USER_PASSWORD;
4040
import static org.wordpress.android.support.WPSupportUtils.isElementDisplayed;
4141

4242
public class BaseTest {
@@ -83,7 +83,7 @@ private void logout() {
8383
MePage mePage = new MePage();
8484
boolean isSelfHosted = mePage.go().isSelfHosted();
8585
if (isSelfHosted) { // Logged in from self hosted connected
86-
new MySitesPage().go().removeSite(E2E_SELF_HOSTED_USER_SITE_ADDRESS);
86+
new MySitesPage().go().removeSite(SELF_HOSTED_USER_SITE_ADDRESS);
8787
} else {
8888
wpLogout();
8989
}
@@ -98,8 +98,8 @@ protected void logoutIfNecessary() {
9898
protected void wpLogin() {
9999
logoutIfNecessary();
100100
new LoginFlow().chooseContinueWithWpCom(mComposeTestRule)
101-
.enterEmailAddress(E2E_WP_COM_USER_EMAIL)
102-
.enterPassword(E2E_WP_COM_USER_PASSWORD)
101+
.enterEmailAddress(WP_COM_USER_EMAIL)
102+
.enterPassword(WP_COM_USER_PASSWORD)
103103
.confirmLogin();
104104
}
105105

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.wordpress.android.support
2+
3+
object E2ECredentials {
4+
const val SELF_HOSTED_USER_SITE_ADDRESS = "127.0.0.1:8080"
5+
const val SELF_HOSTED_USER_USERNAME = "e2eflowtestingmobile"
6+
const val SELF_HOSTED_USER_PASSWORD = "mocked_password"
7+
8+
const val WP_COM_USER_SITE_ADDRESS = "e2eflowtestingmobile.wordpress.com"
9+
const val WP_COM_USER_USERNAME = "e2eflowtestingmobile"
10+
const val WP_COM_USER_EMAIL = "e2eflowtestingmobile@example.com"
11+
const val WP_COM_USER_PASSWORD = "mocked_password"
12+
13+
const val WP_COM_PASSWORDLESS_USER_EMAIL = "e2eflowtestingmobile+passwordless@example.com"
14+
15+
const val SIGNUP_EMAIL = "e2eflowsignuptestingmobile@example.com"
16+
const val SIGNUP_USERNAME = "e2eflowsignuptestingmobile"
17+
const val SIGNUP_DISPLAY_NAME = "e2eflowsignuptestingmobile"
18+
const val SIGNUP_PASSWORD = "mocked_password"
19+
}

WordPress/src/androidTestJetpack/java/org/wordpress/android/e2e/ContactUsTests.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import org.wordpress.android.e2e.flows.LoginFlow
77
import org.wordpress.android.e2e.pages.ContactSupportScreen
88
import org.wordpress.android.support.BaseTest
99
import org.wordpress.android.support.ComposeEspressoLink
10-
import org.wordpress.android.test.BuildConfig
10+
import org.wordpress.android.support.E2ECredentials
1111

1212
@HiltAndroidTest
1313
class ContactUsTests : BaseTest() {
@@ -48,7 +48,7 @@ class ContactUsTests : BaseTest() {
4848
fun e2eHelpCanBeOpenedWhileEnteringPassword() {
4949
LoginFlow()
5050
.chooseContinueWithWpCom(super.mComposeTestRule)
51-
.enterEmailAddress(BuildConfig.E2E_WP_COM_USER_EMAIL)
51+
.enterEmailAddress(E2ECredentials.WP_COM_USER_EMAIL)
5252
.tapHelp()
5353
.assertHelpScreenLoaded()
5454
}

WordPress/src/main/java/org/wordpress/android/ui/jetpackoverlay/JetpackFeatureRemovalOverlayUtil.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@ class JetpackFeatureRemovalOverlayUtil @Inject constructor(
5050
return jetpackFeatureRemovalPhaseHelper.shouldRemoveJetpackFeatures()
5151
}
5252

53+
@Suppress("FunctionOnlyReturningConstant")
5354
fun shouldShowSiteCreationOverlay(): Boolean {
54-
return !buildConfigWrapper.isJetpackApp && isInSiteCreationPhase()
55+
return false
5556
}
5657

5758
fun shouldDisableSiteCreation(): Boolean {
@@ -94,6 +95,10 @@ class JetpackFeatureRemovalOverlayUtil @Inject constructor(
9495
return false
9596
}
9697

98+
@Suppress("UnusedPrivateMember")
99+
// This function was added when creating wp.com sites was disabled in WPAndroid.
100+
// We re-enabled site creation in WPAndroid in Jan 2026, but this is left here
101+
// in case we want to disable site creation in the future.
97102
private fun isInSiteCreationPhase(): Boolean {
98103
return when (jetpackFeatureRemovalPhaseHelper.getSiteCreationPhase()) {
99104
null -> false

WordPress/src/test/java/org/wordpress/android/ui/jetpackoverlay/JetpackFeatureRemovalOverlayUtilTest.kt

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -151,66 +151,14 @@ class JetpackFeatureRemovalOverlayUtilTest : BaseUnitTest() {
151151
assertTrue(shouldShowOverlay)
152152
}
153153

154-
// @Test
155-
@Suppress("MaxLineLength")
156-
fun `given feature is accessed after globalOverlayFrequency, when shouldShowFeatureSpecificJetpackOverlay invoked, then return true`() {
157-
setupMockForWpComSite()
158-
// The feature was accessed 3 days ago and the globalOverlayFrequency for phase one is 2
159-
// The passed number should not exceed feature specific globalOverlayFrequency
160-
// but should be less than global overlay frequency
161-
setUpMockForEarliestAccessedFeature(3L)
162-
163-
val shouldShowOverlay = jetpackFeatureRemovalOverlayUtil
164-
.shouldShowFeatureSpecificJetpackOverlay(STATS)
165-
166-
assertTrue(shouldShowOverlay)
167-
}
168-
169154
@Test
170-
fun `given jetpack app, shouldShowSiteCreationOverlay invoked, then return false`() {
171-
whenever(buildConfigWrapper.isJetpackApp).thenReturn(true)
172-
173-
val shouldShowOverlay = jetpackFeatureRemovalOverlayUtil
174-
.shouldShowSiteCreationOverlay()
175-
176-
assertFalse(shouldShowOverlay)
177-
}
178-
179-
@Test
180-
@Suppress("MaxLineLength")
181-
fun `given feature removal not started, when shouldShowSiteCreationOverlay invoked, then return false`() {
182-
whenever(jetpackFeatureRemovalPhaseHelper.getSiteCreationPhase()).thenReturn(null)
183-
155+
fun `shouldShowSiteCreationOverlay always returns false`() {
184156
val shouldShowOverlay = jetpackFeatureRemovalOverlayUtil
185157
.shouldShowSiteCreationOverlay()
186158

187159
assertFalse(shouldShowOverlay)
188160
}
189161

190-
@Test
191-
@Suppress("MaxLineLength")
192-
fun `given feature removal in phase one, when shouldShowSiteCreationOverlay invoked, then return false`() {
193-
whenever(jetpackFeatureRemovalPhaseHelper.getSiteCreationPhase())
194-
.thenReturn(JetpackFeatureRemovalSiteCreationPhase.PHASE_ONE)
195-
196-
val shouldShowOverlay = jetpackFeatureRemovalOverlayUtil
197-
.shouldShowSiteCreationOverlay()
198-
199-
assertTrue(shouldShowOverlay)
200-
}
201-
202-
@Test
203-
@Suppress("MaxLineLength")
204-
fun `given feature removal in phase four, when shouldShowSiteCreationOverlay invoked, then return false`() {
205-
whenever(jetpackFeatureRemovalPhaseHelper.getSiteCreationPhase())
206-
.thenReturn(JetpackFeatureRemovalSiteCreationPhase.PHASE_TWO)
207-
208-
val shouldShowOverlay = jetpackFeatureRemovalOverlayUtil
209-
.shouldShowSiteCreationOverlay()
210-
211-
assertTrue(shouldShowOverlay)
212-
}
213-
214162
private fun setupMockForWpComSite() {
215163
val fakeSiteModel = SiteModel()
216164
whenever(selectedSiteRepository.getSelectedSite()).thenReturn(fakeSiteModel)

0 commit comments

Comments
 (0)