diff --git a/chrome/browser/privacy_guide/android/BUILD.gn b/chrome/browser/privacy_guide/android/BUILD.gn
index b3e4d0a11eeaf..5c0f54c7f9777 100644
--- a/chrome/browser/privacy_guide/android/BUILD.gn
+++ b/chrome/browser/privacy_guide/android/BUILD.gn
@@ -73,6 +73,7 @@ robolectric_library("junit") {
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
+ "//chrome/browser/privacy_sandbox/android:java",
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
"//chrome/browser/signin/services/android:java",
diff --git a/chrome/browser/privacy_guide/android/java/res/layout/privacy_guide_done.xml b/chrome/browser/privacy_guide/android/java/res/layout/privacy_guide_done.xml
index 7eb3b8785384e..91dc91d99bcfb 100644
--- a/chrome/browser/privacy_guide/android/java/res/layout/privacy_guide_done.xml
+++ b/chrome/browser/privacy_guide/android/java/res/layout/privacy_guide_done.xml
@@ -41,11 +41,13 @@ found in the LICENSE file.
style="@style/TextAppearance.TextLarge.Secondary" />
{
@@ -59,11 +65,22 @@ private void initFragmentWithSignInState(boolean isSignedIn) {
});
}
+ private void setSignedInState(boolean isSignedIn) {
+ when(mIdentityManager.hasPrimaryAccount(ConsentLevel.SIGNIN)).thenReturn(isSignedIn);
+ }
+
+ private void setPrivacySandboxState(boolean isRestricted, boolean isRestrictedNoticeEnabled) {
+ when(mPrivacySandboxBridge.isPrivacySandboxRestricted()).thenReturn(isRestricted);
+ when(mPrivacySandboxBridge.isRestrictedNoticeEnabled())
+ .thenReturn(isRestrictedNoticeEnabled);
+ }
+
@Before
public void setUp() {
Profile.setLastUsedProfileForTesting(mProfile);
IdentityServicesProvider.setInstanceForTests(mIdentityServicesProvider);
when(mIdentityServicesProvider.getIdentityManager(mProfile)).thenReturn(mIdentityManager);
+ mMocker.mock(PrivacySandboxBridgeJni.TEST_HOOKS, mPrivacySandboxBridge);
}
@After
@@ -76,16 +93,50 @@ public void tearDown() {
}
@Test
- public void testOneLinkVisibleWhenSignedOut() {
- initFragmentWithSignInState(false);
+ public void testPSButtonNotVisible() {
+ setPrivacySandboxState(true, false);
+ initFragment();
+
+ assertFalse(mPsButton.isShown());
+ }
+
+ @Test
+ public void testPSButtonVisibleWhenNotRestricted() {
+ setPrivacySandboxState(false, false);
+ initFragment();
+
assertTrue(mPsButton.isShown());
- assertFalse(mWaaButton.isShown());
}
@Test
- public void testTwoLinksVisibleWhenSignedIn() {
- initFragmentWithSignInState(true);
+ public void testPSButtonVisibleWhenRestrictedNoticeEnabled() {
+ setPrivacySandboxState(true, true);
+ initFragment();
+
assertTrue(mPsButton.isShown());
+ }
+
+ @Test
+ public void testPSButtonVisibleWhenNotRestrictedAndRestrictedNoticeEnabled() {
+ setPrivacySandboxState(false, true);
+ initFragment();
+
+ assertTrue(mPsButton.isShown());
+ }
+
+ @Test
+ public void testWaaButtonVisibleWhenSignedIn() {
+ setSignedInState(true);
+ initFragment();
+
assertTrue(mWaaButton.isShown());
}
+
+ @Test
+ public void testWaaButtonNotVisibleWhenNotSignedIn() {
+ setSignedInState(false);
+ initFragment();
+
+ assertFalse(mWaaButton.isShown());
+ }
}