0

OOBE: EULA cleanup: Update tests [1/2]

Remove EULA Screen from tests.

Bug: b:264170220
Change-Id: I443c7cdc97c1014a8cd5eba6b98031b9b5b5c70f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4129530
Reviewed-by: Danila Kuzmin <dkuzmin@google.com>
Code-Coverage: Findit <findit-for-me@appspot.gserviceaccount.com>
Commit-Queue: Osama Fathy <osamafathy@google.com>
Cr-Commit-Position: refs/heads/main@{#1102130}
This commit is contained in:
Osama Fathy
2023-02-07 14:22:41 +00:00
committed by Chromium LUCI CQ
parent bee80f7248
commit 1222510d1a
17 changed files with 100 additions and 1128 deletions

@@ -18,7 +18,6 @@
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part.h" #include "chrome/browser/browser_process_platform_part.h"
#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/ui/webui/ash/login/eula_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/hid_detection_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/hid_detection_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/network_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/network_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/update_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/update_screen_handler.h"
@@ -158,13 +157,13 @@ IN_PROC_BROWSER_TEST_F(OobeConfigurationTest, TestSwitchLanguageIME) {
// Check that configuration lets correctly select a network by GUID. // Check that configuration lets correctly select a network by GUID.
IN_PROC_BROWSER_TEST_F(OobeConfigurationTest, TestSelectNetwork) { IN_PROC_BROWSER_TEST_F(OobeConfigurationTest, TestSelectNetwork) {
LoadConfiguration(); LoadConfiguration();
OobeScreenWaiter(OobeBaseTest::GetScreenAfterNetworkScreen()).Wait(); OobeScreenWaiter(UpdateView::kScreenId).Wait();
} }
// Check that configuration would proceed if there is a connected network. // Check that configuration would proceed if there is a connected network.
IN_PROC_BROWSER_TEST_F(OobeConfigurationTest, TestSelectConnectedNetwork) { IN_PROC_BROWSER_TEST_F(OobeConfigurationTest, TestSelectConnectedNetwork) {
LoadConfiguration(); LoadConfiguration();
OobeScreenWaiter(OobeBaseTest::GetScreenAfterNetworkScreen()).Wait(); OobeScreenWaiter(UpdateView::kScreenId).Wait();
} }
// Check that configuration would not proceed with connected network if // Check that configuration would not proceed with connected network if
@@ -189,7 +188,7 @@ IN_PROC_BROWSER_TEST_F(OobeConfigurationTest, TestAcceptEula) {
// beginning. // beginning.
IN_PROC_BROWSER_TEST_F(OobeConfigurationTest, TestDeviceRequisition) { IN_PROC_BROWSER_TEST_F(OobeConfigurationTest, TestDeviceRequisition) {
LoadConfiguration(); LoadConfiguration();
OobeScreenWaiter(OobeBaseTest::GetScreenAfterNetworkScreen()).Wait(); OobeScreenWaiter(UpdateView::kScreenId).Wait();
EXPECT_EQ(policy::EnrollmentRequisitionManager::GetDeviceRequisition(), EXPECT_EQ(policy::EnrollmentRequisitionManager::GetDeviceRequisition(),
"some_requisition"); "some_requisition");

@@ -46,7 +46,6 @@
#include "chrome/browser/ui/webui/ash/login/demo_preferences_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/demo_preferences_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/demo_setup_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/demo_setup_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/error_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/error_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/eula_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/gaia_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/gaia_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/network_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/network_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/welcome_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/welcome_screen_handler.h"
@@ -116,7 +115,6 @@ const test::UIPath kDemoSetupErrorDialogMessage = {kDemoSetupId,
const test::UIPath kArcTosDialog = {kArcTosId, "arcTosDialog"}; const test::UIPath kArcTosDialog = {kArcTosId, "arcTosDialog"};
const test::UIPath kArcTosAcceptButton = {kArcTosId, "arcTosAcceptButton"}; const test::UIPath kArcTosAcceptButton = {kArcTosId, "arcTosAcceptButton"};
const test::UIPath kArcTosDemoAppsNotice = {kArcTosId, "arcTosMetricsDemoApps"};
const test::UIPath kArcTosBackButton = {kArcTosId, "arcTosBackButton"}; const test::UIPath kArcTosBackButton = {kArcTosId, "arcTosBackButton"};
const test::UIPath kArcTosNextButton = {kArcTosId, "arcTosNextButton"}; const test::UIPath kArcTosNextButton = {kArcTosId, "arcTosNextButton"};
@@ -372,36 +370,14 @@ class DemoSetupArcSupportedTest : public DemoSetupTestBase {
test::LockDemoDeviceInstallAttributes(); test::LockDemoDeviceInstallAttributes();
// TODO(b/246012796): If possible, re-enable waiting on the setup screen to // TODO(b/246012796): If possible, re-enable waiting on the setup screen to
// be shown // be shown
if (features::IsOobeConsolidatedConsentEnabled()) { WaitForConsolidatedConsentScreen();
WaitForConsolidatedConsentScreen(); test::TapConsolidatedConsentAccept();
test::TapConsolidatedConsentAccept();
} else {
test::WaitForEulaScreen();
test::TapEulaAccept();
WaitForArcTosScreen();
test::OobeJS().ExpectVisiblePath(kArcTosDemoAppsNotice);
AcceptArcTos();
}
} }
void AcceptTermsAndExpectDemoSetupFailure() { void AcceptTermsAndExpectDemoSetupFailure() {
if (features::IsOobeConsolidatedConsentEnabled()) { WaitForConsolidatedConsentScreen();
WaitForConsolidatedConsentScreen(); test::TapConsolidatedConsentAccept();
test::TapConsolidatedConsentAccept();
} else {
test::WaitForEulaScreen();
test::TapEulaAccept();
WaitForArcTosScreen();
test::OobeJS().ExpectVisiblePath(kArcTosDemoAppsNotice);
AcceptArcTos();
}
// As we expect the error message to stay on the screen, it is safe to // As we expect the error message to stay on the screen, it is safe to
// wait for it in the usual manner. // wait for it in the usual manner.
OobeScreenWaiter(DemoSetupScreenView::kScreenId).Wait(); OobeScreenWaiter(DemoSetupScreenView::kScreenId).Wait();
@@ -774,11 +750,7 @@ IN_PROC_BROWSER_TEST_F(DemoSetupArcSupportedTest, ClickNetworkOnNetworkScreen) {
ProceedThroughDemoPreferencesScreen(); ProceedThroughDemoPreferencesScreen();
if (features::IsOobeConsolidatedConsentEnabled()) { test::WaitForConsolidatedConsentScreen();
test::WaitForConsolidatedConsentScreen();
} else {
test::WaitForEulaScreen();
}
} }
IN_PROC_BROWSER_TEST_F(DemoSetupArcSupportedTest, IN_PROC_BROWSER_TEST_F(DemoSetupArcSupportedTest,
@@ -797,11 +769,7 @@ IN_PROC_BROWSER_TEST_F(DemoSetupArcSupportedTest,
ProceedThroughDemoPreferencesScreen(); ProceedThroughDemoPreferencesScreen();
if (features::IsOobeConsolidatedConsentEnabled()) { test::WaitForConsolidatedConsentScreen();
test::WaitForConsolidatedConsentScreen();
} else {
test::WaitForEulaScreen();
}
} }
IN_PROC_BROWSER_TEST_F(DemoSetupArcSupportedTest, BackOnNetworkScreen) { IN_PROC_BROWSER_TEST_F(DemoSetupArcSupportedTest, BackOnNetworkScreen) {

@@ -1,354 +0,0 @@
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <memory>
#include <set>
#include <string>
#include <utility>
#include "ash/constants/ash_features.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/run_loop.h"
#include "base/strings/string_util.h"
#include "base/test/bind.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "build/build_config.h"
#include "chrome/browser/ash/login/test/dialog_window_waiter.h"
#include "chrome/browser/ash/login/test/fake_eula_mixin.h"
#include "chrome/browser/ash/login/test/js_checker.h"
#include "chrome/browser/ash/login/test/oobe_base_test.h"
#include "chrome/browser/ash/login/test/oobe_screen_waiter.h"
#include "chrome/browser/ash/login/test/scoped_help_app_for_test.h"
#include "chrome/browser/ash/login/test/webview_content_extractor.h"
#include "chrome/browser/ash/login/ui/login_display_host.h"
#include "chrome/browser/ash/login/ui/login_display_host_common.h"
#include "chrome/browser/ash/login/wizard_controller.h"
#include "chrome/browser/ash/policy/enrollment/enrollment_requisition_manager.h"
#include "chrome/browser/ash/settings/stats_reporting_controller.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/webui/ash/login/eula_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/network_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/oobe_ui.h"
#include "chrome/grit/generated_resources.h"
#include "chrome/installer/util/google_update_settings.h"
#include "chrome/test/base/interactive_test_utils.h"
#include "components/guest_view/browser/guest_view_manager.h"
#include "components/metrics/metrics_pref_names.h"
#include "components/prefs/pref_service.h"
#include "content/public/browser/web_ui.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "ui/base/l10n/l10n_util.h"
#include "url/gurl.h"
namespace ash {
namespace {
using ::testing::ElementsAre;
const test::UIPath kEulaWebview = {"oobe-eula-md", "crosEulaFrame"};
const test::UIPath kEulaDialog = {"oobe-eula-md", "eulaDialog"};
const test::UIPath kAcceptEulaButton = {"oobe-eula-md", "acceptButton"};
const test::UIPath kUsageStats = {"oobe-eula-md", "usageStats"};
const test::UIPath kAdditionalTermsLink = {"oobe-eula-md", "additionalTerms"};
const test::UIPath kAdditionalTermsDialog = {"oobe-eula-md", "additionalToS"};
const test::UIPath kLearnMoreLink = {"oobe-eula-md", "learnMore"};
const test::UIPath kBackButton = {"oobe-eula-md", "backButton"};
const char kRemoraRequisition[] = "remora";
class EulaTest : public OobeBaseTest {
public:
EulaTest() {
// EULA screen is not shown when OobeConsolidatedConsent is enabled, and
// its content is moved to the consolidated consent screen.
feature_list_.InitAndDisableFeature(features::kOobeConsolidatedConsent);
}
EulaTest(const EulaTest&) = delete;
EulaTest& operator=(const EulaTest&) = delete;
~EulaTest() override = default;
void ShowEulaScreen() {
LoginDisplayHost::default_host()->StartWizard(EulaView::kScreenId);
OobeScreenWaiter(EulaView::kScreenId).Wait();
// Wait until the webview has finished loading.
test::OobeJS().CreateVisibilityWaiter(true, kEulaDialog)->Wait();
}
protected:
void SetUpOnMainThread() override {
OobeBaseTest::SetUpOnMainThread();
LoginDisplayHost::default_host()->GetWizardContext()->is_branded_build =
true;
}
base::OnceClosure SetCollectStatsConsentClosure(bool consented) {
return base::BindOnce(
base::IgnoreResult(&GoogleUpdateSettings::SetCollectStatsConsent),
consented);
}
// Calls `GoogleUpdateSettings::SetCollectStatsConsent` asynchronously on its
// task runner. Blocks until task is executed.
void SetGoogleCollectStatsConsent(bool consented) {
base::RunLoop runloop;
GoogleUpdateSettings::CollectStatsConsentTaskRunner()->PostTaskAndReply(
FROM_HERE, SetCollectStatsConsentClosure(consented),
runloop.QuitClosure());
runloop.Run();
}
// Calls `GoogleUpdateSettings::GetCollectStatsConsent` asynchronously on its
// task runner. Blocks until task is executed and returns the result.
bool GetGoogleCollectStatsConsent() {
bool consented = false;
// Callback runs after GetCollectStatsConsent is executed. Sets the local
// variable `consented` to the result of GetCollectStatsConsent.
auto on_get_collect_stats_consent_callback =
[](base::OnceClosure quit_closure, bool* consented_out,
bool consented_result) {
*consented_out = consented_result;
std::move(quit_closure).Run();
};
base::RunLoop runloop;
GoogleUpdateSettings::CollectStatsConsentTaskRunner()
->PostTaskAndReplyWithResult(
FROM_HERE,
base::BindOnce(&GoogleUpdateSettings::GetCollectStatsConsent),
base::BindOnce(on_get_collect_stats_consent_callback,
runloop.QuitClosure(), &consented));
runloop.Run();
return consented;
}
base::test::ScopedFeatureList feature_list_;
FakeEulaMixin fake_eula_{&mixin_host_, embedded_test_server()};
};
// When testing the offline fallback mechanism, the requests reaching the
// embedded server have to be handled differently.
class EulaOfflineTest : public EulaTest {
public:
EulaOfflineTest() { fake_eula_.set_force_http_unavailable(true); }
~EulaOfflineTest() override = default;
};
// Tests that offline version is shown when the online version is not
// accessible.
IN_PROC_BROWSER_TEST_F(EulaOfflineTest, LoadOffline) {
ShowEulaScreen();
EXPECT_TRUE(test::GetWebViewContents(kEulaWebview)
.find(FakeEulaMixin::kOfflineEULAWarning) !=
std::string::npos);
}
// Tests that online version is shown when it is accessible.
IN_PROC_BROWSER_TEST_F(EulaTest, LoadOnline) {
ShowEulaScreen();
const std::string webview_contents = test::GetWebViewContents(kEulaWebview);
EXPECT_TRUE(webview_contents.find(FakeEulaMixin::kFakeOnlineEula) !=
std::string::npos);
}
// Verifies statistic collection accepted flow.
// Advaces to the next screen and verifies stats collection is enabled.
IN_PROC_BROWSER_TEST_F(EulaTest, EnableUsageStats) {
base::HistogramTester histogram_tester;
ShowEulaScreen();
// Verify that toggle is enabled by default.
test::OobeJS().ExpectAttributeEQ("checked", kUsageStats, true);
ASSERT_TRUE(StatsReportingController::IsInitialized());
// Explicitly set as false to make sure test modifies these values.
StatsReportingController::Get()->SetEnabled(
ProfileManager::GetActiveUserProfile(), false);
g_browser_process->local_state()->SetBoolean(
metrics::prefs::kMetricsReportingEnabled, false);
SetGoogleCollectStatsConsent(false);
// Start Listening for StatsReportingController updates.
base::RunLoop runloop;
auto subscription =
StatsReportingController::Get()->AddObserver(runloop.QuitClosure());
// Enable and disable usageStats that to see that metrics are recorded.
test::OobeJS().TapOnPath(kUsageStats);
test::OobeJS().TapOnPath(kUsageStats);
// Advance to the next screen for changes to take effect.
test::OobeJS().TapOnPath(kAcceptEulaButton);
// Wait for StartReporting update.
runloop.Run();
// Verify stats collection is enabled.
EXPECT_TRUE(StatsReportingController::Get()->IsEnabled());
EXPECT_TRUE(g_browser_process->local_state()->GetBoolean(
metrics::prefs::kMetricsReportingEnabled));
EXPECT_TRUE(GetGoogleCollectStatsConsent());
EXPECT_THAT(
histogram_tester.GetAllSamples("OOBE.EulaScreen.UserActions"),
ElementsAre(
base::Bucket(
static_cast<int>(EulaScreen::UserAction::kAcceptButtonClicked),
1),
base::Bucket(
static_cast<int>(EulaScreen::UserAction::kUnselectStatsUsage), 1),
base::Bucket(
static_cast<int>(EulaScreen::UserAction::kSelectStatsUsage), 1)));
}
// Verify statistic collection denied flow. Clicks on usage stats toggle,
// advaces to the next screen and verifies stats collection is disabled.
IN_PROC_BROWSER_TEST_F(EulaTest, DisableUsageStats) {
base::HistogramTester histogram_tester;
ShowEulaScreen();
// Verify that toggle is enabled by default.
test::OobeJS().ExpectAttributeEQ("checked", kUsageStats, true);
ASSERT_TRUE(StatsReportingController::IsInitialized());
// Explicitly set as true to make sure test modifies these values.
StatsReportingController::Get()->SetEnabled(
ProfileManager::GetActiveUserProfile(), true);
g_browser_process->local_state()->SetBoolean(
metrics::prefs::kMetricsReportingEnabled, true);
SetGoogleCollectStatsConsent(true);
// Start Listening for StatsReportingController updates.
base::RunLoop runloop;
auto subscription =
StatsReportingController::Get()->AddObserver(runloop.QuitClosure());
// Click on the toggle to disable stats collection and advance to the next
// screen for changes to take effect.
test::OobeJS().TapOnPath(kUsageStats);
test::OobeJS().TapOnPath(kAcceptEulaButton);
// Wait for StartReportingController update.
runloop.Run();
// Verify stats collection is disabled.
EXPECT_FALSE(StatsReportingController::Get()->IsEnabled());
EXPECT_FALSE(g_browser_process->local_state()->GetBoolean(
metrics::prefs::kMetricsReportingEnabled));
EXPECT_FALSE(GetGoogleCollectStatsConsent());
EXPECT_THAT(
histogram_tester.GetAllSamples("OOBE.EulaScreen.UserActions"),
ElementsAre(
base::Bucket(
static_cast<int>(EulaScreen::UserAction::kAcceptButtonClicked),
1),
base::Bucket(
static_cast<int>(EulaScreen::UserAction::kUnselectStatsUsage),
1)));
}
// Tests that clicking on "Learn more" button opens a help dialog.
IN_PROC_BROWSER_TEST_F(EulaTest, LearnMore) {
base::HistogramTester histogram_tester;
ShowEulaScreen();
// Load HelperApp extension.
ScopedHelpAppForTest scoped_help_app;
// Start listening for help dialog creation.
DialogWindowWaiter waiter(
l10n_util::GetStringUTF16(IDS_LOGIN_OOBE_HELP_DIALOG_TITLE));
test::OobeJS().TapLinkOnPath(kLearnMoreLink);
// Wait until help dialog is displayed.
waiter.Wait();
EXPECT_THAT(
histogram_tester.GetAllSamples("OOBE.EulaScreen.UserActions"),
ElementsAre(base::Bucket(
static_cast<int>(EulaScreen::UserAction::kShowStatsUsageLearnMore),
1)));
}
#if defined(NDEBUG)
#define MAYBE_AdditionalToS DISABLED_AdditionalToS
#else
#define MAYBE_AdditionalToS AdditionalToS
#endif
// Tests that "Additional ToS" dialog could be opened and closed.
IN_PROC_BROWSER_TEST_F(EulaTest, MAYBE_AdditionalToS) {
base::HistogramTester histogram_tester;
ShowEulaScreen();
test::OobeJS().TapLinkOnPath(kAdditionalTermsLink);
test::OobeJS()
.CreateWaiter(test::GetOobeElementPath(kAdditionalTermsDialog) + ".open")
->Wait();
ASSERT_TRUE(ui_test_utils::SendKeyPressToWindowSync(
nullptr, ui::VKEY_RETURN, false /* control */, false /* shift */,
false /* alt */, false /* command */));
test::OobeJS()
.CreateWaiter(test::GetOobeElementPath(kAdditionalTermsDialog) +
".open === false")
->Wait();
test::OobeJS().ExpectFocused(kAdditionalTermsLink);
EXPECT_THAT(
histogram_tester.GetAllSamples("OOBE.EulaScreen.UserActions"),
ElementsAre(base::Bucket(
static_cast<int>(EulaScreen::UserAction::kShowAdditionalTos), 1)));
}
// Skipped EULA for Remora Requisition.
IN_PROC_BROWSER_TEST_F(EulaTest, SkippedEula) {
ASSERT_TRUE(StatsReportingController::IsInitialized());
// Explicitly set as true to make sure test modifies these values.
StatsReportingController::Get()->SetEnabled(
ProfileManager::GetActiveUserProfile(), true);
g_browser_process->local_state()->SetBoolean(
metrics::prefs::kMetricsReportingEnabled, true);
SetGoogleCollectStatsConsent(true);
// Start Listening for StatsReportingController updates.
base::RunLoop runloop;
auto subscription =
StatsReportingController::Get()->AddObserver(runloop.QuitClosure());
policy::EnrollmentRequisitionManager::SetDeviceRequisition(
kRemoraRequisition);
LoginDisplayHost::default_host()->StartWizard(EulaView::kScreenId);
// Wait for StartReportingController update.
runloop.Run();
// Verify stats collection is disabled.
EXPECT_FALSE(StatsReportingController::Get()->IsEnabled());
EXPECT_FALSE(g_browser_process->local_state()->GetBoolean(
metrics::prefs::kMetricsReportingEnabled));
EXPECT_FALSE(GetGoogleCollectStatsConsent());
}
IN_PROC_BROWSER_TEST_F(EulaTest, ClickBack) {
ShowEulaScreen();
test::OobeJS().ClickOnPath(kBackButton);
OobeScreenWaiter(NetworkScreenView::kScreenId).Wait();
}
} // namespace
} // namespace ash

@@ -2,9 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "ash/constants/ash_features.h"
#include "ash/constants/ash_switches.h" #include "ash/constants/ash_switches.h"
#include "base/test/scoped_feature_list.h"
#include "chrome/browser/ash/login/existing_user_controller.h" #include "chrome/browser/ash/login/existing_user_controller.h"
#include "chrome/browser/ash/login/login_manager_test.h" #include "chrome/browser/ash/login/login_manager_test.h"
#include "chrome/browser/ash/login/login_pref_names.h" #include "chrome/browser/ash/login/login_pref_names.h"
@@ -23,7 +21,6 @@
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/webui/ash/login/consolidated_consent_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/consolidated_consent_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/eula_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/hardware_data_collection_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/hardware_data_collection_screen_handler.h"
#include "content/public/test/browser_test.h" #include "content/public/test/browser_test.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
@@ -32,8 +29,6 @@ namespace ash {
namespace { namespace {
const test::UIPath kEulaDialog = {"oobe-eula-md", "eulaDialog"};
const test::UIPath kAcceptEulaButton = {"oobe-eula-md", "acceptButton"};
const test::UIPath kAcceptHWDataCollectionButton = {"hw-data-collection", const test::UIPath kAcceptHWDataCollectionButton = {"hw-data-collection",
"acceptButton"}; "acceptButton"};
const test::UIPath kAcceptConsolidatedConsentButton = {"consolidated-consent", const test::UIPath kAcceptConsolidatedConsentButton = {"consolidated-consent",
@@ -43,21 +38,10 @@ const test::UIPath kConsolidatedConsentDialog = {"consolidated-consent",
} // namespace } // namespace
// Boolean parameter represents OobeConsolidatedConsent feature state.
class LoginAfterUpdateToFlexTest : public LoginManagerTest, class LoginAfterUpdateToFlexTest : public LoginManagerTest,
public LocalStateMixin::Delegate, public LocalStateMixin::Delegate {
public ::testing::WithParamInterface<bool> {
public: public:
LoginAfterUpdateToFlexTest() { LoginAfterUpdateToFlexTest() { login_manager_mixin_.AppendRegularUsers(2); }
if (GetParam()) {
scoped_feature_list_.InitAndEnableFeature(
features::kOobeConsolidatedConsent);
} else {
scoped_feature_list_.InitAndDisableFeature(
features::kOobeConsolidatedConsent);
}
login_manager_mixin_.AppendRegularUsers(2);
}
LoginAfterUpdateToFlexTest(const LoginAfterUpdateToFlexTest&) = delete; LoginAfterUpdateToFlexTest(const LoginAfterUpdateToFlexTest&) = delete;
LoginAfterUpdateToFlexTest& operator=(const LoginAfterUpdateToFlexTest&) = LoginAfterUpdateToFlexTest& operator=(const LoginAfterUpdateToFlexTest&) =
@@ -105,49 +89,38 @@ class LoginAfterUpdateToFlexTest : public LoginManagerTest,
FakeEulaMixin fake_eula_{&mixin_host_, embedded_test_server()}; FakeEulaMixin fake_eula_{&mixin_host_, embedded_test_server()};
ScopedCrosSettingsTestHelper settings_helper_{ ScopedCrosSettingsTestHelper settings_helper_{
/*create_settings_service=*/false}; /*create_settings_service=*/false};
base::test::ScopedFeatureList scoped_feature_list_;
LocalStateMixin local_state_mixin_{&mixin_host_, this}; LocalStateMixin local_state_mixin_{&mixin_host_, this};
}; };
IN_PROC_BROWSER_TEST_P(LoginAfterUpdateToFlexTest, DeviceOwner) { IN_PROC_BROWSER_TEST_F(LoginAfterUpdateToFlexTest, DeviceOwner) {
LoginUser(GetOwnerAccountId()); LoginUser(GetOwnerAccountId());
if (!features::IsOobeConsolidatedConsentEnabled()) { EXPECT_FALSE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean(
OobeScreenWaiter(EulaView::kScreenId).Wait(); prefs::kRevenOobeConsolidatedConsentAccepted));
// Wait until the webview has finished loading. OobeScreenWaiter(ConsolidatedConsentScreenView::kScreenId).Wait();
test::OobeJS().CreateVisibilityWaiter(true, kEulaDialog)->Wait(); test::OobeJS()
test::OobeJS().TapOnPath(kAcceptEulaButton); .CreateVisibilityWaiter(true, kConsolidatedConsentDialog)
} else { ->Wait();
EXPECT_FALSE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean( test::OobeJS().TapOnPath(kAcceptConsolidatedConsentButton);
prefs::kRevenOobeConsolidatedConsentAccepted)); EXPECT_TRUE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean(
OobeScreenWaiter(ConsolidatedConsentScreenView::kScreenId).Wait(); prefs::kRevenOobeConsolidatedConsentAccepted));
test::OobeJS()
.CreateVisibilityWaiter(true, kConsolidatedConsentDialog)
->Wait();
test::OobeJS().TapOnPath(kAcceptConsolidatedConsentButton);
EXPECT_TRUE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean(
prefs::kRevenOobeConsolidatedConsentAccepted));
}
OobeScreenWaiter(HWDataCollectionView::kScreenId).Wait(); OobeScreenWaiter(HWDataCollectionView::kScreenId).Wait();
test::OobeJS().TapOnPath(kAcceptHWDataCollectionButton); test::OobeJS().TapOnPath(kAcceptHWDataCollectionButton);
test::WaitForPrimaryUserSessionStart(); test::WaitForPrimaryUserSessionStart();
} }
IN_PROC_BROWSER_TEST_P(LoginAfterUpdateToFlexTest, RegularUser) { IN_PROC_BROWSER_TEST_F(LoginAfterUpdateToFlexTest, RegularUser) {
LoginUser(GetRegularAccountId()); LoginUser(GetRegularAccountId());
if (features::IsOobeConsolidatedConsentEnabled()) { EXPECT_FALSE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean(
EXPECT_FALSE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean( prefs::kRevenOobeConsolidatedConsentAccepted));
prefs::kRevenOobeConsolidatedConsentAccepted)); OobeScreenWaiter(ConsolidatedConsentScreenView::kScreenId).Wait();
OobeScreenWaiter(ConsolidatedConsentScreenView::kScreenId).Wait(); test::OobeJS()
test::OobeJS() .CreateVisibilityWaiter(true, kConsolidatedConsentDialog)
.CreateVisibilityWaiter(true, kConsolidatedConsentDialog) ->Wait();
->Wait(); test::OobeJS().TapOnPath(kAcceptConsolidatedConsentButton);
test::OobeJS().TapOnPath(kAcceptConsolidatedConsentButton); EXPECT_TRUE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean(
EXPECT_TRUE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean( prefs::kRevenOobeConsolidatedConsentAccepted));
prefs::kRevenOobeConsolidatedConsentAccepted));
}
test::WaitForPrimaryUserSessionStart(); test::WaitForPrimaryUserSessionStart();
} }
INSTANTIATE_TEST_SUITE_P(All, LoginAfterUpdateToFlexTest, testing::Bool());
} // namespace ash } // namespace ash

@@ -136,20 +136,6 @@ void RunNetworkSelectionScreenChecks() {
EXPECT_TRUE(test::IsScanningRequestedOnNetworkScreen()); EXPECT_TRUE(test::IsScanningRequestedOnNetworkScreen());
} }
void RunEulaScreenChecks() {
// Wait for actual EULA to appear.
test::OobeJS()
.CreateVisibilityWaiter(true, {"oobe-eula-md", "eulaDialog"})
->Wait();
test::OobeJS().ExpectEnabledPath({"oobe-eula-md", "acceptButton"});
test::OobeJS().CreateFocusWaiter({"oobe-eula-md", "acceptButton"})->Wait();
EXPECT_FALSE(LoginScreenTestApi::IsShutdownButtonShown());
EXPECT_FALSE(LoginScreenTestApi::IsGuestButtonShown());
EXPECT_FALSE(LoginScreenTestApi::IsAddUserButtonShown());
EXPECT_FALSE(test::IsScanningRequestedOnNetworkScreen());
}
void WaitForGaiaSignInScreen(bool wait_for_arc_preloading) { void WaitForGaiaSignInScreen(bool wait_for_arc_preloading) {
OobeScreenWaiter(GaiaView::kScreenId).Wait(); OobeScreenWaiter(GaiaView::kScreenId).Wait();
test::OobeJS() test::OobeJS()
@@ -704,12 +690,6 @@ void OobeInteractiveUITest::PerformStepsBeforeEnrollmentCheck() {
RunNetworkSelectionScreenChecks(); RunNetworkSelectionScreenChecks();
test::TapNetworkSelectionNext(); test::TapNetworkSelectionNext();
if (!features::IsOobeConsolidatedConsentEnabled()) {
test::WaitForEulaScreen();
RunEulaScreenChecks();
test::TapEulaAccept();
}
test::WaitForUpdateScreen(); test::WaitForUpdateScreen();
test::ExitUpdateScreenNoUpdate(); test::ExitUpdateScreenNoUpdate();
} }

@@ -1,26 +0,0 @@
// Copyright 2011 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ash/login/screens/mock_eula_screen.h"
namespace ash {
using ::testing::AtLeast;
using ::testing::_;
MockEulaScreen::MockEulaScreen(base::WeakPtr<EulaView> view,
const ScreenExitCallback& exit_callback)
: EulaScreen(std::move(view), exit_callback) {}
MockEulaScreen::~MockEulaScreen() {}
void MockEulaScreen::ExitScreen(Result result) {
exit_callback()->Run(result);
}
MockEulaView::MockEulaView() = default;
MockEulaView::~MockEulaView() = default;
} // namespace ash

@@ -1,42 +0,0 @@
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_ASH_LOGIN_SCREENS_MOCK_EULA_SCREEN_H_
#define CHROME_BROWSER_ASH_LOGIN_SCREENS_MOCK_EULA_SCREEN_H_
#include "chrome/browser/ash/login/screens/eula_screen.h"
#include "chrome/browser/ui/webui/ash/login/eula_screen_handler.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace ash {
class MockEulaScreen : public EulaScreen {
public:
MockEulaScreen(base::WeakPtr<EulaView> view,
const ScreenExitCallback& exit_callback);
~MockEulaScreen() override;
MOCK_METHOD(void, ShowImpl, ());
MOCK_METHOD(void, HideImpl, ());
void ExitScreen(Result result);
};
class MockEulaView : public EulaView {
public:
MockEulaView();
~MockEulaView() override;
MOCK_METHOD(void, Show, (const bool is_cloud_ready_update_flow), (override));
MOCK_METHOD(void, Hide, (), (override));
MOCK_METHOD(void, SetUsageStatsEnabled, (bool enabled), (override));
MOCK_METHOD(void, ShowStatsUsageLearnMore, (), (override));
MOCK_METHOD(void, ShowAdditionalTosDialog, (), (override));
MOCK_METHOD(void, ShowSecuritySettingsDialog, (), (override));
};
} // namespace ash
#endif // CHROME_BROWSER_ASH_LOGIN_SCREENS_MOCK_EULA_SCREEN_H_

@@ -6,7 +6,6 @@
#include <memory> #include <memory>
#include "ash/constants/ash_features.h"
#include "ash/constants/ash_switches.h" #include "ash/constants/ash_switches.h"
#include "base/command_line.h" #include "base/command_line.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
@@ -26,7 +25,6 @@
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part.h" #include "chrome/browser/browser_process_platform_part.h"
#include "chrome/browser/lifetime/application_lifetime.h" #include "chrome/browser/lifetime/application_lifetime.h"
#include "chrome/browser/ui/webui/ash/login/eula_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/gaia_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/gaia_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/oobe_ui.h" #include "chrome/browser/ui/webui/ash/login/oobe_ui.h"
#include "chrome/browser/ui/webui/ash/login/update_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/update_screen_handler.h"
@@ -223,12 +221,6 @@ OobeScreenId OobeBaseTest::GetFirstSigninScreen() {
: GaiaView::kScreenId; : GaiaView::kScreenId;
} }
// static
OobeScreenId OobeBaseTest::GetScreenAfterNetworkScreen() {
bool consolidated_enabled = features::IsOobeConsolidatedConsentEnabled();
return consolidated_enabled ? UpdateView::kScreenId : EulaView::kScreenId;
}
void OobeBaseTest::MaybeWaitForLoginScreenLoad() { void OobeBaseTest::MaybeWaitForLoginScreenLoad() {
if (!login_screen_load_observer_) if (!login_screen_load_observer_)
return; return;

@@ -37,7 +37,6 @@ class OobeBaseTest : public MixinBasedInProcessBrowserTest {
virtual void RegisterAdditionalRequestHandlers(); virtual void RegisterAdditionalRequestHandlers();
static OobeScreenId GetFirstSigninScreen(); static OobeScreenId GetFirstSigninScreen();
static OobeScreenId GetScreenAfterNetworkScreen();
protected: protected:
// MixinBasedInProcessBrowserTest:: // MixinBasedInProcessBrowserTest::

@@ -16,7 +16,6 @@
#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/ui/webui/ash/login/consolidated_consent_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/consolidated_consent_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/enrollment_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/enrollment_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/eula_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/fingerprint_setup_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/fingerprint_setup_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/guest_tos_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/guest_tos_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/marketing_opt_in_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/marketing_opt_in_screen_handler.h"
@@ -125,11 +124,6 @@ void SkipToEnrollmentOnRecovery() {
WaitForNetworkSelectionScreen(); WaitForNetworkSelectionScreen();
TapNetworkSelectionNext(); TapNetworkSelectionNext();
if (!features::IsOobeConsolidatedConsentEnabled()) {
WaitForEulaScreen();
TapEulaAccept();
}
WaitForUpdateScreen(); WaitForUpdateScreen();
ExitUpdateScreenNoUpdate(); ExitUpdateScreenNoUpdate();
@@ -163,18 +157,6 @@ void WaitForOobeJSReady() {
} }
} }
void WaitForEulaScreen() {
if (!LoginDisplayHost::default_host()->GetWizardContext()->is_branded_build)
return;
WaitFor(EulaView::kScreenId);
}
void TapEulaAccept() {
if (!LoginDisplayHost::default_host()->GetWizardContext()->is_branded_build)
return;
OobeJS().TapOnPath({"oobe-eula-md", "acceptButton"});
}
void WaitForSyncConsentScreen() { void WaitForSyncConsentScreen() {
if (!LoginDisplayHost::default_host()->GetWizardContext()->is_branded_build) if (!LoginDisplayHost::default_host()->GetWizardContext()->is_branded_build)
return; return;

@@ -30,8 +30,6 @@ void TapUserCreationNext();
// Wait for OobeUI to finish loading. // Wait for OobeUI to finish loading.
void WaitForOobeJSReady(); void WaitForOobeJSReady();
void WaitForEulaScreen();
void TapEulaAccept();
void WaitForSyncConsentScreen(); void WaitForSyncConsentScreen();
void ExitScreenSyncConsent(); void ExitScreenSyncConsent();
void WaitForConsolidatedConsentScreen(); void WaitForConsolidatedConsentScreen();

@@ -66,7 +66,6 @@
#include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/login/login_handler.h" #include "chrome/browser/ui/login/login_handler.h"
#include "chrome/browser/ui/webui/ash/login/error_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/error_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/eula_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/gaia_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/gaia_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/marketing_opt_in_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/marketing_opt_in_screen_handler.h"
#include "chrome/browser/ui/webui/ash/login/user_creation_screen_handler.h" #include "chrome/browser/ui/webui/ash/login/user_creation_screen_handler.h"
@@ -1273,11 +1272,6 @@ class WebviewClientCertsLoginTestBase : public WebviewLoginTest {
return server_ssl_info; return server_ssl_info;
} }
void ShowEulaScreen() {
LoginDisplayHost::default_host()->StartWizard(EulaView::kScreenId);
OobeScreenWaiter(EulaView::kScreenId).Wait();
}
protected: protected:
void SetUpInProcessBrowserTestFixture() override { void SetUpInProcessBrowserTestFixture() override {
// Override FakeSessionManagerClient. This will be shut down by the browser. // Override FakeSessionManagerClient. This will be shut down by the browser.
@@ -1388,8 +1382,6 @@ IN_PROC_BROWSER_TEST_F(WebviewClientCertsLoginTest,
R"({"pattern": "*", "filter": {"ISSUER": {"CN": "B CA"}}})"}; R"({"pattern": "*", "filter": {"ISSUER": {"CN": "B CA"}}})"};
SetAutoSelectCertificatePatterns(autoselect_patterns); SetAutoSelectCertificatePatterns(autoselect_patterns);
ShowEulaScreen();
// Use `watch_new_webcontents` because the EULA webview has not navigated yet. // Use `watch_new_webcontents` because the EULA webview has not navigated yet.
absl::optional<net::SSLInfo> ssl_info = absl::optional<net::SSLInfo> ssl_info =
RequestClientCertTestPageInFrame(test::OobeJS(), "$('cros-eula-frame')"); RequestClientCertTestPageInFrame(test::OobeJS(), "$('cros-eula-frame')");

@@ -43,7 +43,6 @@
#include "chrome/browser/ash/login/screens/mock_device_disabled_screen_view.h" #include "chrome/browser/ash/login/screens/mock_device_disabled_screen_view.h"
#include "chrome/browser/ash/login/screens/mock_enable_adb_sideloading_screen.h" #include "chrome/browser/ash/login/screens/mock_enable_adb_sideloading_screen.h"
#include "chrome/browser/ash/login/screens/mock_enable_debugging_screen.h" #include "chrome/browser/ash/login/screens/mock_enable_debugging_screen.h"
#include "chrome/browser/ash/login/screens/mock_eula_screen.h"
#include "chrome/browser/ash/login/screens/mock_network_screen.h" #include "chrome/browser/ash/login/screens/mock_network_screen.h"
#include "chrome/browser/ash/login/screens/mock_update_screen.h" #include "chrome/browser/ash/login/screens/mock_update_screen.h"
#include "chrome/browser/ash/login/screens/mock_welcome_screen.h" #include "chrome/browser/ash/login/screens/mock_welcome_screen.h"
@@ -574,13 +573,6 @@ class WizardControllerFlowTest : public WizardControllerTest {
base::BindRepeating(&WizardController::OnUpdateScreenExit, base::BindRepeating(&WizardController::OnUpdateScreenExit,
base::Unretained(wizard_controller)))); base::Unretained(wizard_controller))));
mock_eula_view_ = std::make_unique<MockEulaView>();
mock_eula_screen_ =
MockScreenExpectLifecycle(std::make_unique<MockEulaScreen>(
mock_eula_view_.get()->AsWeakPtr(),
base::BindRepeating(&WizardController::OnEulaScreenExit,
base::Unretained(wizard_controller))));
mock_enrollment_screen_view_ = std::make_unique<MockEnrollmentScreenView>(); mock_enrollment_screen_view_ = std::make_unique<MockEnrollmentScreenView>();
mock_enrollment_screen_ = mock_enrollment_screen_ =
MockScreenExpectLifecycle(std::make_unique<MockEnrollmentScreen>( MockScreenExpectLifecycle(std::make_unique<MockEnrollmentScreen>(
@@ -736,21 +728,7 @@ class WizardControllerFlowTest : public WizardControllerTest {
InitNetworkPortalDetector(); InitNetworkPortalDetector();
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
// Login shelf should still be visible.
EXPECT_TRUE(LoginScreenTestApi::IsLoginShelfShown());
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
EXPECT_TRUE(GetGeolocationProvider()); EXPECT_TRUE(GetGeolocationProvider());
@@ -764,7 +742,6 @@ class WizardControllerFlowTest : public WizardControllerTest {
CheckCurrentScreen(UserCreationView::kScreenId); CheckCurrentScreen(UserCreationView::kScreenId);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, HideImpl()).Times(0); EXPECT_CALL(*mock_auto_enrollment_check_screen_, HideImpl()).Times(0);
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(0);
EXPECT_FALSE(ExistingUserController::current_controller() == nullptr); EXPECT_FALSE(ExistingUserController::current_controller() == nullptr);
@@ -785,9 +762,6 @@ class WizardControllerFlowTest : public WizardControllerTest {
MockUpdateScreen* mock_update_screen_ = nullptr; MockUpdateScreen* mock_update_screen_ = nullptr;
std::unique_ptr<MockUpdateView> mock_update_view_; std::unique_ptr<MockUpdateView> mock_update_view_;
MockEulaScreen* mock_eula_screen_ = nullptr;
std::unique_ptr<MockEulaView> mock_eula_view_;
MockEnrollmentScreen* mock_enrollment_screen_ = nullptr; MockEnrollmentScreen* mock_enrollment_screen_ = nullptr;
std::unique_ptr<MockEnrollmentScreenView> mock_enrollment_screen_view_; std::unique_ptr<MockEnrollmentScreenView> mock_enrollment_screen_view_;
@@ -848,18 +822,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
content::RunAllPendingInMessageLoop(); content::RunAllPendingInMessageLoop();
@@ -871,7 +834,6 @@ IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest,
CheckCurrentScreen(UserCreationView::kScreenId); CheckCurrentScreen(UserCreationView::kScreenId);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, HideImpl()).Times(0); EXPECT_CALL(*mock_auto_enrollment_check_screen_, HideImpl()).Times(0);
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(0);
EXPECT_FALSE(ExistingUserController::current_controller() == nullptr); EXPECT_FALSE(ExistingUserController::current_controller() == nullptr);
} }
@@ -891,25 +853,13 @@ IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
content::RunAllPendingInMessageLoop(); content::RunAllPendingInMessageLoop();
CheckCurrentScreen(UpdateView::kScreenId); CheckCurrentScreen(UpdateView::kScreenId);
EXPECT_CALL(*mock_update_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(0);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(0); EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(0);
EXPECT_CALL(*mock_network_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, ShowImpl()).Times(1);
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(0); // last transition EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(0); // last transition
@@ -931,34 +881,15 @@ IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowSkipUpdateEnroll) {
CheckCurrentScreen(NetworkScreenView::kScreenId); CheckCurrentScreen(NetworkScreenView::kScreenId);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(0); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(0);
if (features::IsOobeConsolidatedConsentEnabled()) { WizardController::default_controller()
// EULA screen is skipped when OobeConsolidatedConsent is enabled. ->wizard_context_->enrollment_triggered_early = true;
WizardController::default_controller() EXPECT_CALL(*mock_enrollment_screen_view_,
->wizard_context_->enrollment_triggered_early = true; SetEnrollmentConfig(
EXPECT_CALL(*mock_enrollment_screen_view_, EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL)))
SetEnrollmentConfig(EnrollmentModeMatches( .Times(1);
policy::EnrollmentConfig::MODE_MANUAL))) EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(0);
.Times(1); EXPECT_CALL(*mock_enrollment_screen_, ShowImpl()).Times(1);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(0); mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
EXPECT_CALL(*mock_enrollment_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
WizardController::default_controller()
->wizard_context_->enrollment_triggered_early = true;
EXPECT_CALL(*mock_enrollment_screen_view_,
SetEnrollmentConfig(EnrollmentModeMatches(
policy::EnrollmentConfig::MODE_MANUAL)))
.Times(1);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(0);
EXPECT_CALL(*mock_enrollment_screen_, ShowImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
content::RunAllPendingInMessageLoop(); content::RunAllPendingInMessageLoop();
@@ -968,31 +899,6 @@ IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowSkipUpdateEnroll) {
content::RunAllPendingInMessageLoop(); content::RunAllPendingInMessageLoop();
} }
IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) {
// EULA screen will be skipped if the OobeConsolidatedConsent is enabled.
if (features::IsOobeConsolidatedConsentEnabled()) {
return;
}
CheckCurrentScreen(WelcomeView::kScreenId);
EXPECT_CALL(*mock_network_screen_, ShowImpl()).Times(1);
EXPECT_CALL(*mock_welcome_screen_, HideImpl()).Times(1);
mock_welcome_screen_->ExitScreen(WelcomeScreen::Result::NEXT);
CheckCurrentScreen(NetworkScreenView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(0);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_network_screen_, ShowImpl()).Times(1);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(EulaScreen::Result::BACK);
CheckCurrentScreen(NetworkScreenView::kScreenId);
}
IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest,
ControlFlowEnrollmentCompleted) { ControlFlowEnrollmentCompleted) {
CheckCurrentScreen(WelcomeView::kScreenId); CheckCurrentScreen(WelcomeView::kScreenId);
@@ -1090,20 +996,7 @@ IN_PROC_BROWSER_TEST_P(WizardControllerUpdateAfterCompletedOobeTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
testing::Mock::VerifyAndClearExpectations(mock_eula_screen_);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
content::RunAllPendingInMessageLoop(); content::RunAllPendingInMessageLoop();
@@ -1118,9 +1011,7 @@ IN_PROC_BROWSER_TEST_P(WizardControllerUpdateAfterCompletedOobeTest,
CheckCurrentScreen(UserCreationView::kScreenId); CheckCurrentScreen(UserCreationView::kScreenId);
testing::Mock::VerifyAndClearExpectations(mock_auto_enrollment_check_screen_); testing::Mock::VerifyAndClearExpectations(mock_auto_enrollment_check_screen_);
testing::Mock::VerifyAndClearExpectations(mock_eula_screen_);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, HideImpl()).Times(0); EXPECT_CALL(*mock_auto_enrollment_check_screen_, HideImpl()).Times(0);
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(0);
EXPECT_NE(nullptr, ExistingUserController::current_controller()); EXPECT_NE(nullptr, ExistingUserController::current_controller());
} }
@@ -1214,18 +1105,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
content::RunAllPendingInMessageLoop(); content::RunAllPendingInMessageLoop();
@@ -1255,18 +1135,13 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest,
std::move(device_state)); std::move(device_state));
EXPECT_CALL(*mock_network_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, ShowImpl()).Times(1);
if (!features::IsOobeConsolidatedConsentEnabled())
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(1);
EXPECT_CALL(*mock_enrollment_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_enrollment_screen_, ShowImpl()).Times(1);
mock_welcome_screen_->ExitScreen(WelcomeScreen::Result::NEXT); mock_welcome_screen_->ExitScreen(WelcomeScreen::Result::NEXT);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED); mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
if (!features::IsOobeConsolidatedConsentEnabled()) {
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
mock_update_screen_->RunExit(UpdateScreen::Result::UPDATE_NOT_REQUIRED); mock_update_screen_->RunExit(UpdateScreen::Result::UPDATE_NOT_REQUIRED);
mock_auto_enrollment_check_screen_->ExitScreen(); mock_auto_enrollment_check_screen_->ExitScreen();
@@ -1294,18 +1169,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
content::RunAllPendingInMessageLoop(); content::RunAllPendingInMessageLoop();
@@ -1397,18 +1261,7 @@ IN_PROC_BROWSER_TEST_P(WizardControllerDeviceStateExplicitRequirementTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
@@ -1489,18 +1342,7 @@ IN_PROC_BROWSER_TEST_P(WizardControllerDeviceStateExplicitRequirementTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
@@ -1634,18 +1476,7 @@ class WizardControllerDeviceStateWithInitialEnrollmentTest
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
if (check_fre) { if (check_fre) {
// Wait for auto-enrollment controller to encounter the connection error. // Wait for auto-enrollment controller to encounter the connection error.
@@ -1751,18 +1582,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateWithInitialEnrollmentTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
@@ -1842,18 +1662,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateWithInitialEnrollmentTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
@@ -1886,18 +1695,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateWithInitialEnrollmentTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
@@ -1944,18 +1742,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateWithInitialEnrollmentTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
task_runner->RunUntilIdle(); task_runner->RunUntilIdle();
@@ -2003,18 +1790,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateWithInitialEnrollmentTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
@@ -2090,16 +1866,8 @@ IN_PROC_BROWSER_TEST_F(WizardControllerScreenPriorityOOBETest,
NetworkScreenView::kScreenId); NetworkScreenView::kScreenId);
CheckCurrentScreen(NetworkScreenView::kScreenId); CheckCurrentScreen(NetworkScreenView::kScreenId);
if (!features::IsOobeConsolidatedConsentEnabled()) {
// Showing eula screen should pass it has default priority which is same as
// network screen.
WizardController::default_controller()->AdvanceToScreen(
EulaView::kScreenId);
CheckCurrentScreen(EulaView::kScreenId);
}
// Showing update screen should pass it has default priority which is same as // Showing update screen should pass it has default priority which is same as
// eula screen. // network screen.
WizardController::default_controller()->AdvanceToScreen( WizardController::default_controller()->AdvanceToScreen(
UpdateView::kScreenId); UpdateView::kScreenId);
CheckCurrentScreen(UpdateView::kScreenId); CheckCurrentScreen(UpdateView::kScreenId);
@@ -2286,18 +2054,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
content::RunAllPendingInMessageLoop(); content::RunAllPendingInMessageLoop();
@@ -2335,18 +2092,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest,
EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_network_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
// EULA screen is skipped when OobeConsolidatedConsent is enabled.
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
} else {
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_network_screen_->ExitScreen(NetworkScreen::Result::CONNECTED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
}
// Let update screen smooth time process (time = 0ms). // Let update screen smooth time process (time = 0ms).
content::RunAllPendingInMessageLoop(); content::RunAllPendingInMessageLoop();
@@ -2524,63 +2270,25 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest,
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress()); EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_demo_preferences_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_demo_preferences_screen_, HideImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) {
// If OobeConsolidatedConsent is enabled, the flow will be updated to:
// Network -> Update -> Consolidated Consent -> Auto Enrollment. // Network -> Update -> Consolidated Consent -> Auto Enrollment.
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
mock_demo_preferences_screen_->ExitScreen( mock_demo_preferences_screen_->ExitScreen(
DemoPreferencesScreen::Result::COMPLETED_CONSOLIDATED_CONSENT); DemoPreferencesScreen::Result::COMPLETED_CONSOLIDATED_CONSENT);
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
CheckCurrentScreen(UpdateView::kScreenId); CheckCurrentScreen(UpdateView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress()); EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_consolidated_consent_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_consolidated_consent_screen_, ShowImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, HideImpl()).Times(1);
mock_update_screen_->RunExit(UpdateScreen::Result::UPDATE_NOT_REQUIRED); mock_update_screen_->RunExit(UpdateScreen::Result::UPDATE_NOT_REQUIRED);
EXPECT_CALL(*mock_consolidated_consent_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_consolidated_consent_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(0); EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(0);
EXPECT_CALL(*mock_demo_setup_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_demo_setup_screen_, ShowImpl()).Times(1);
mock_consolidated_consent_screen_->ExitScreen( mock_consolidated_consent_screen_->ExitScreen(
ConsolidatedConsentScreen::Result::ACCEPTED_DEMO_ONLINE); ConsolidatedConsentScreen::Result::ACCEPTED_DEMO_ONLINE);
} else {
// The flow when OobeConsolidatedConsent is disabled:
// Network -> EULA -> ARC ToS -> Update -> Auto Enrollment.
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_demo_preferences_screen_->ExitScreen(
DemoPreferencesScreen::Result::COMPLETED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_arc_terms_of_service_screen_, ShowImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
CheckCurrentScreen(ArcTermsOfServiceScreenView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_arc_terms_of_service_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
mock_arc_terms_of_service_screen_->ExitScreen(
ArcTermsOfServiceScreen::Result::ACCEPTED_DEMO_ONLINE);
base::RunLoop().RunUntilIdle();
CheckCurrentScreen(UpdateView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_update_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(0);
EXPECT_CALL(*mock_demo_setup_screen_, ShowImpl()).Times(1);
mock_update_screen_->RunExit(UpdateScreen::Result::UPDATE_NOT_REQUIRED);
}
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress()); EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
@@ -2620,63 +2328,25 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, DemoSetupCanceled) {
EXPECT_CALL(*mock_demo_preferences_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_demo_preferences_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { mock_demo_preferences_screen_->ExitScreen(
// If OobeConsolidatedConsent is enabled, the flow will be updated to: DemoPreferencesScreen::Result::COMPLETED_CONSOLIDATED_CONSENT);
// Network -> Update -> Consolidated Consent -> Auto Enrollment.
mock_demo_preferences_screen_->ExitScreen(
DemoPreferencesScreen::Result::COMPLETED_CONSOLIDATED_CONSENT);
CheckCurrentScreen(UpdateView::kScreenId); CheckCurrentScreen(UpdateView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress()); EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_update_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_consolidated_consent_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_consolidated_consent_screen_, ShowImpl()).Times(1);
mock_update_screen_->RunExit(UpdateScreen::Result::UPDATE_NOT_REQUIRED); mock_update_screen_->RunExit(UpdateScreen::Result::UPDATE_NOT_REQUIRED);
CheckCurrentScreen(ConsolidatedConsentScreenView::kScreenId); CheckCurrentScreen(ConsolidatedConsentScreenView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress()); EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_consolidated_consent_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_consolidated_consent_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(0); EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(0);
EXPECT_CALL(*mock_demo_setup_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_demo_setup_screen_, ShowImpl()).Times(1);
mock_consolidated_consent_screen_->ExitScreen( mock_consolidated_consent_screen_->ExitScreen(
ConsolidatedConsentScreen::Result::ACCEPTED_DEMO_ONLINE); ConsolidatedConsentScreen::Result::ACCEPTED_DEMO_ONLINE);
} else {
// The flow when OobeConsolidatedConsent is disabled:
// Network -> EULA -> ARC ToS -> Update -> Auto Enrollment.
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_demo_preferences_screen_->ExitScreen(
DemoPreferencesScreen::Result::COMPLETED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_arc_terms_of_service_screen_, ShowImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
CheckCurrentScreen(ArcTermsOfServiceScreenView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_arc_terms_of_service_screen_, HideImpl()).Times(1);
mock_arc_terms_of_service_screen_->ExitScreen(
ArcTermsOfServiceScreen::Result::ACCEPTED_DEMO_ONLINE);
base::RunLoop().RunUntilIdle();
CheckCurrentScreen(UpdateView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_update_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(0);
EXPECT_CALL(*mock_demo_setup_screen_, ShowImpl()).Times(1);
mock_update_screen_->RunExit(UpdateScreen::Result::UPDATE_NOT_REQUIRED);
}
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress()); EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_auto_enrollment_check_screen_, HideImpl()).Times(0); EXPECT_CALL(*mock_auto_enrollment_check_screen_, HideImpl()).Times(0);
@@ -2736,78 +2406,6 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, NetworkBackPressed) {
EXPECT_FALSE(DemoSetupController::IsOobeDemoSetupFlowInProgress()); EXPECT_FALSE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
} }
IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, EulaBackPressed) {
// EULA screen will be skipped if the OobeConsolidatedConsent is enabled.
if (features::IsOobeConsolidatedConsentEnabled())
return;
CheckCurrentScreen(WelcomeView::kScreenId);
EXPECT_FALSE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
SkipToScreen(EulaView::kScreenId, mock_eula_screen_);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_demo_preferences_screen_, ShowImpl()).Times(1);
mock_eula_screen_->ExitScreen(EulaScreen::Result::BACK_DEMO_MODE);
CheckCurrentScreen(DemoPreferencesScreenView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
}
IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, ArcTosBackPressed) {
// ARC ToS screen will be skipped if the OobeConsolidatedConsent is enabled.
if (features::IsOobeConsolidatedConsentEnabled())
return;
CheckCurrentScreen(WelcomeView::kScreenId);
EXPECT_FALSE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
// User cannot go to ARC ToS screen without accepting eula - simulate that.
StartupUtils::MarkEulaAccepted();
SkipToScreen(ArcTermsOfServiceScreenView::kScreenId,
mock_arc_terms_of_service_screen_);
CheckCurrentScreen(ArcTermsOfServiceScreenView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_arc_terms_of_service_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_demo_preferences_screen_, ShowImpl()).Times(1);
mock_arc_terms_of_service_screen_->ExitScreen(
ArcTermsOfServiceScreen::Result::BACK);
CheckCurrentScreen(DemoPreferencesScreenView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
}
IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest,
ConsolidatedConsentBackPressed) {
if (!features::IsOobeConsolidatedConsentEnabled()) {
return;
}
CheckCurrentScreen(WelcomeView::kScreenId);
EXPECT_FALSE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
SkipToScreen(ConsolidatedConsentScreenView::kScreenId,
mock_consolidated_consent_screen_);
CheckCurrentScreen(ConsolidatedConsentScreenView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_consolidated_consent_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_demo_preferences_screen_, ShowImpl()).Times(1);
mock_consolidated_consent_screen_->ExitScreen(
ConsolidatedConsentScreen::Result::BACK_DEMO);
CheckCurrentScreen(DemoPreferencesScreenView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
}
class WizardControllerDemoSetupDeviceDisabledTest class WizardControllerDemoSetupDeviceDisabledTest
: public WizardControllerDeviceStateTest { : public WizardControllerDeviceStateTest {
public: public:
@@ -2851,58 +2449,23 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupDeviceDisabledTest,
EXPECT_CALL(*mock_demo_preferences_screen_, HideImpl()).Times(1); EXPECT_CALL(*mock_demo_preferences_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1); EXPECT_CALL(*mock_update_screen_, ShowImpl()).Times(1);
if (features::IsOobeConsolidatedConsentEnabled()) { // Network -> Update -> Consolidated Consent -> Auto Enrollment.
// If OobeConsolidatedConsent is enabled, the flow will be updated to: mock_demo_preferences_screen_->ExitScreen(
// Network -> Update -> Consolidated Consent -> Auto Enrollment. DemoPreferencesScreen::Result::COMPLETED_CONSOLIDATED_CONSENT);
mock_demo_preferences_screen_->ExitScreen( CheckCurrentScreen(UpdateView::kScreenId);
DemoPreferencesScreen::Result::COMPLETED_CONSOLIDATED_CONSENT); EXPECT_CALL(*mock_update_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_consolidated_consent_screen_, ShowImpl()).Times(1);
mock_update_screen_->RunExit(UpdateScreen::Result::UPDATE_NOT_REQUIRED);
CheckCurrentScreen(UpdateView::kScreenId); CheckCurrentScreen(ConsolidatedConsentScreenView::kScreenId);
EXPECT_CALL(*mock_update_screen_, HideImpl()).Times(1); EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_consolidated_consent_screen_, ShowImpl()).Times(1);
mock_update_screen_->RunExit(UpdateScreen::Result::UPDATE_NOT_REQUIRED);
CheckCurrentScreen(ConsolidatedConsentScreenView::kScreenId); EXPECT_CALL(*mock_consolidated_consent_screen_, HideImpl()).Times(1);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress()); EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(1);
EXPECT_CALL(*mock_consolidated_consent_screen_, HideImpl()).Times(1); mock_consolidated_consent_screen_->ExitScreen(
EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(1); ConsolidatedConsentScreen::Result::ACCEPTED_DEMO_ONLINE);
mock_consolidated_consent_screen_->ExitScreen(
ConsolidatedConsentScreen::Result::ACCEPTED_DEMO_ONLINE);
} else {
// The flow when OobeConsolidatedConsent is disabled:
// Network -> EULA -> ARC ToS -> Update -> Auto Enrollment.
EXPECT_CALL(*mock_eula_screen_, ShowImpl()).Times(1);
mock_demo_preferences_screen_->ExitScreen(
DemoPreferencesScreen::Result::COMPLETED);
CheckCurrentScreen(EulaView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_eula_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_arc_terms_of_service_screen_, ShowImpl()).Times(1);
mock_eula_screen_->ExitScreen(
EulaScreen::Result::ACCEPTED_WITHOUT_USAGE_STATS_REPORTING);
CheckCurrentScreen(ArcTermsOfServiceScreenView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_arc_terms_of_service_screen_, HideImpl()).Times(1);
mock_arc_terms_of_service_screen_->ExitScreen(
ArcTermsOfServiceScreen::Result::ACCEPTED_DEMO_ONLINE);
base::RunLoop().RunUntilIdle();
CheckCurrentScreen(UpdateView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_CALL(*mock_update_screen_, HideImpl()).Times(1);
EXPECT_CALL(*mock_auto_enrollment_check_screen_, ShowImpl()).Times(1);
mock_update_screen_->RunExit(UpdateScreen::Result::UPDATE_NOT_REQUIRED);
}
CheckCurrentScreen(AutoEnrollmentCheckScreenView::kScreenId); CheckCurrentScreen(AutoEnrollmentCheckScreenView::kScreenId);
EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress()); EXPECT_TRUE(DemoSetupController::IsOobeDemoSetupFlowInProgress());

@@ -194,33 +194,6 @@ class NetworkScreenTester extends ScreenElementApi {
} }
} }
class EulaScreenTester extends ScreenElementApi {
constructor() {
super('oobe-eula-md');
this.eulaStep = new PolymerElementApi(this, '#eulaDialog');
this.nextButton = new PolymerElementApi(this, '#acceptButton');
}
/** @override */
shouldSkip() {
// Eula screen should skipped on non-branded build and on CfM devices.
return loadTimeData.getBoolean('testapi_shouldSkipEula');
}
/**
* Returns if the EULA Screen is ready for test interaction.
* @return {boolean}
*/
isReadyForTesting() {
return this.isVisible() && this.eulaStep.isVisible() &&
this.nextButton.isVisible();
}
getNextButtonName() {
return loadTimeData.getString('oobeEulaAcceptAndContinueButtonText');
}
}
class UpdateScreenTester extends ScreenElementApi { class UpdateScreenTester extends ScreenElementApi {
constructor() { constructor() {
super('oobe-update'); super('oobe-update');
@@ -808,7 +781,6 @@ export class OobeApiProvider {
HIDDetectionScreen: new HIDDetectionScreenTester(), HIDDetectionScreen: new HIDDetectionScreenTester(),
WelcomeScreen: new WelcomeScreenTester(), WelcomeScreen: new WelcomeScreenTester(),
NetworkScreen: new NetworkScreenTester(), NetworkScreen: new NetworkScreenTester(),
EulaScreen: new EulaScreenTester(),
UpdateScreen: new UpdateScreenTester(), UpdateScreen: new UpdateScreenTester(),
EnrollmentScreen: new EnrollmentScreenTester(), EnrollmentScreen: new EnrollmentScreenTester(),
UserCreationScreen: new UserCreationScreenTester(), UserCreationScreen: new UserCreationScreenTester(),

@@ -48,18 +48,6 @@ IN_PROC_BROWSER_TEST_F(OobeTestApiTest, OobeAPI) {
.CreateWaiter("OobeAPI.screens.NetworkScreen.isVisible()") .CreateWaiter("OobeAPI.screens.NetworkScreen.isVisible()")
->Wait(); ->Wait();
test::OobeJS().Evaluate("OobeAPI.screens.NetworkScreen.clickNext()"); test::OobeJS().Evaluate("OobeAPI.screens.NetworkScreen.clickNext()");
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
if (!features::IsOobeConsolidatedConsentEnabled()) {
test::OobeJS().ExpectFalse("OobeAPI.screens.EulaScreen.shouldSkip()");
test::OobeJS()
.CreateWaiter("OobeAPI.screens.EulaScreen.isReadyForTesting()")
->Wait();
test::OobeJS().Evaluate("OobeAPI.screens.EulaScreen.clickNext()");
return;
}
#endif
test::OobeJS().ExpectTrue("OobeAPI.screens.EulaScreen.shouldSkip()");
} }
class OobeTestApiTestChromebox : public OobeTestApiTest { class OobeTestApiTestChromebox : public OobeTestApiTest {
@@ -145,10 +133,6 @@ class OobeTestApiRemoraRequisitionTest : public OobeTestApiTest,
LocalStateMixin local_state_mixin_{&mixin_host_, this}; LocalStateMixin local_state_mixin_{&mixin_host_, this};
}; };
IN_PROC_BROWSER_TEST_F(OobeTestApiRemoraRequisitionTest, SkipsEula) {
test::OobeJS().ExpectTrue("OobeAPI.screens.EulaScreen.shouldSkip()");
}
class OobeTestApiLoginPinTest : public OobeTestApiTest { class OobeTestApiLoginPinTest : public OobeTestApiTest {
public: public:
OobeTestApiLoginPinTest() { login_mixin_.AppendRegularUsers(1); } OobeTestApiLoginPinTest() { login_mixin_.AppendRegularUsers(1); }

@@ -67,11 +67,6 @@ void OobeTestAPIHandler::GetAdditionalParameters(base::Value::Dict* dict) {
features::IsOobeNetworkScreenSkipEnabled() && features::IsOobeNetworkScreenSkipEnabled() &&
!switches::IsOOBENetworkScreenSkippingDisabledForTesting() && !switches::IsOOBENetworkScreenSkippingDisabledForTesting() &&
helper_.IsConnectedToEthernet()); helper_.IsConnectedToEthernet());
dict->Set("testapi_shouldSkipEula",
policy::EnrollmentRequisitionManager::IsRemoraRequisition() ||
StartupUtils::IsEulaAccepted() ||
features::IsOobeConsolidatedConsentEnabled() ||
!BUILDFLAG(GOOGLE_CHROME_BRANDING));
dict->Set("testapi_shouldSkipGuestTos", dict->Set("testapi_shouldSkipGuestTos",
StartupUtils::IsEulaAccepted() || StartupUtils::IsEulaAccepted() ||

@@ -3801,7 +3801,6 @@ if (!is_android) {
"../browser/ash/login/enrollment/mock_auto_enrollment_check_screen.h", "../browser/ash/login/enrollment/mock_auto_enrollment_check_screen.h",
"../browser/ash/login/enterprise_enrollment_browsertest.cc", "../browser/ash/login/enterprise_enrollment_browsertest.cc",
"../browser/ash/login/error_screen_browsertest.cc", "../browser/ash/login/error_screen_browsertest.cc",
"../browser/ash/login/eula_browsertest.cc",
"../browser/ash/login/existing_user_controller_browsertest.cc", "../browser/ash/login/existing_user_controller_browsertest.cc",
"../browser/ash/login/extensions/login_screen_extensions_content_script_manager_browsertest.cc", "../browser/ash/login/extensions/login_screen_extensions_content_script_manager_browsertest.cc",
"../browser/ash/login/extensions/login_screen_extensions_lifetime_manager_browsertest.cc", "../browser/ash/login/extensions/login_screen_extensions_lifetime_manager_browsertest.cc",
@@ -3866,8 +3865,6 @@ if (!is_android) {
"../browser/ash/login/screens/mock_enable_adb_sideloading_screen.h", "../browser/ash/login/screens/mock_enable_adb_sideloading_screen.h",
"../browser/ash/login/screens/mock_enable_debugging_screen.cc", "../browser/ash/login/screens/mock_enable_debugging_screen.cc",
"../browser/ash/login/screens/mock_enable_debugging_screen.h", "../browser/ash/login/screens/mock_enable_debugging_screen.h",
"../browser/ash/login/screens/mock_eula_screen.cc",
"../browser/ash/login/screens/mock_eula_screen.h",
"../browser/ash/login/screens/mock_wrong_hwid_screen.cc", "../browser/ash/login/screens/mock_wrong_hwid_screen.cc",
"../browser/ash/login/screens/mock_wrong_hwid_screen.h", "../browser/ash/login/screens/mock_wrong_hwid_screen.h",
"../browser/ash/login/screens/multidevice_setup_screen_browsertest.cc", "../browser/ash/login/screens/multidevice_setup_screen_browsertest.cc",