Index: chrome/browser/chromeos/login/wizard_controller_browsertest.cc |
diff --git a/chrome/browser/chromeos/login/wizard_controller_browsertest.cc b/chrome/browser/chromeos/login/wizard_controller_browsertest.cc |
index c0f6c912b347318827d1a3f001025b551a95cff4..ed1d609214d1c500ad8e2204aa4173ac68853632 100644 |
--- a/chrome/browser/chromeos/login/wizard_controller_browsertest.cc |
+++ b/chrome/browser/chromeos/login/wizard_controller_browsertest.cc |
@@ -24,6 +24,7 @@ |
#include "chrome/browser/chromeos/login/auth/mock_login_status_consumer.h" |
#include "chrome/browser/chromeos/login/auth/user_context.h" |
#include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" |
+#include "chrome/browser/chromeos/login/enrollment/mock_auto_enrollment_check_screen.h" |
#include "chrome/browser/chromeos/login/enrollment/mock_enrollment_screen.h" |
#include "chrome/browser/chromeos/login/existing_user_controller.h" |
#include "chrome/browser/chromeos/login/screens/error_screen.h" |
@@ -396,6 +397,8 @@ class WizardControllerFlowTest : public WizardControllerTest { |
MOCK(mock_eula_screen_, eula_screen_, MockEulaScreen, MockEulaScreenActor); |
MOCK(mock_enrollment_screen_, enrollment_screen_, |
MockEnrollmentScreen, MockEnrollmentScreenActor); |
+ MOCK(mock_auto_enrollment_check_screen_, auto_enrollment_check_screen_, |
+ MockAutoEnrollmentCheckScreen, MockAutoEnrollmentCheckScreenActor); |
// Switch to the initial screen. |
EXPECT_EQ(NULL, WizardController::default_controller()->current_screen()); |
@@ -457,12 +460,19 @@ class WizardControllerFlowTest : public WizardControllerTest { |
runner->Run(); |
} |
+ void ResetAutoEnrollmentCheckScreen() { |
+ WizardController::default_controller()-> |
+ auto_enrollment_check_screen_.reset(); |
+ } |
+ |
MockOutShowHide<MockNetworkScreen, MockNetworkScreenActor>* |
mock_network_screen_; |
MockOutShowHide<MockUpdateScreen, MockUpdateScreenActor>* mock_update_screen_; |
MockOutShowHide<MockEulaScreen, MockEulaScreenActor>* mock_eula_screen_; |
MockOutShowHide<MockEnrollmentScreen, |
MockEnrollmentScreenActor>* mock_enrollment_screen_; |
+ MockOutShowHide<MockAutoEnrollmentCheckScreen, |
+ MockAutoEnrollmentCheckScreenActor>* mock_auto_enrollment_check_screen_; |
private: |
NetworkPortalDetectorTestImpl* network_portal_detector_; |
@@ -507,10 +517,17 @@ IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) { |
EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), |
WizardController::default_controller()->current_screen()); |
- EXPECT_CALL(*mock_update_screen_, Hide()).Times(0); |
- EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
+ EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
+ EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
OnExit(ScreenObserver::UPDATE_INSTALLED); |
+ EXPECT_EQ( |
+ WizardController::default_controller()->GetAutoEnrollmentCheckScreen(), |
+ WizardController::default_controller()->current_screen()); |
+ EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0); |
+ EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
+ OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
+ |
EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
EXPECT_EQ("ethernet,wifi,cellular", |
NetworkHandler::Get()->network_state_handler() |
@@ -542,11 +559,17 @@ IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { |
EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), |
WizardController::default_controller()->current_screen()); |
- EXPECT_CALL(*mock_update_screen_, Hide()).Times(0); |
- EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
- EXPECT_CALL(*mock_eula_screen_, Hide()).Times(0); // last transition |
+ EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
+ EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
OnExit(ScreenObserver::UPDATE_ERROR_UPDATING); |
+ EXPECT_EQ( |
+ WizardController::default_controller()->GetAutoEnrollmentCheckScreen(), |
+ WizardController::default_controller()->current_screen()); |
+ EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0); |
+ EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
+ OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
+ |
EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
} |
@@ -720,8 +743,15 @@ IN_PROC_BROWSER_TEST_F(WizardControllerEnrollmentFlowTest, |
EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), |
WizardController::default_controller()->current_screen()); |
EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
+ EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
OnExit(ScreenObserver::UPDATE_INSTALLED); |
+ AutoEnrollmentCheckScreen* screen = |
+ WizardController::default_controller()->GetAutoEnrollmentCheckScreen(); |
+ EXPECT_EQ(screen, |
+ WizardController::default_controller()->current_screen()); |
+ EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
+ screen->Start(); |
// Wait for auto-enrollment controller to encounter the connection error. |
WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR); |
@@ -741,6 +771,8 @@ IN_PROC_BROWSER_TEST_F(WizardControllerEnrollmentFlowTest, |
"")).Times(1); |
OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
+ ResetAutoEnrollmentCheckScreen(); |
+ |
// Make sure enterprise enrollment page shows up. |
EXPECT_EQ(WizardController::default_controller()->GetEnrollmentScreen(), |
WizardController::default_controller()->current_screen()); |
@@ -915,9 +947,17 @@ IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, |
EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), |
WizardController::default_controller()->current_screen()); |
EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
- EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
+ EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
OnExit(ScreenObserver::UPDATE_INSTALLED); |
+ EXPECT_EQ( |
+ WizardController::default_controller()->GetAutoEnrollmentCheckScreen(), |
+ WizardController::default_controller()->current_screen()); |
+ EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
+ EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
+ OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
+ |
+ |
EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
// Make sure enterprise enrollment page shows up right after update screen. |
@@ -959,9 +999,16 @@ IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, |
EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), |
WizardController::default_controller()->current_screen()); |
EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
+ EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
+ OnExit(ScreenObserver::UPDATE_INSTALLED); |
+ |
+ EXPECT_EQ( |
+ WizardController::default_controller()->GetAutoEnrollmentCheckScreen(), |
+ WizardController::default_controller()->current_screen()); |
+ EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(1); |
- OnExit(ScreenObserver::UPDATE_INSTALLED); |
+ OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |