Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: chrome/browser/chromeos/login/wizard_controller_browsertest.cc

Issue 2566443005: cros: Replace WizardController string constants with OobeScreen values. (Closed)
Patch Set: Address comments Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/wizard_controller.h" 5 #include "chrome/browser/chromeos/login/wizard_controller.h"
6 6
7 #include "ash/common/accessibility_types.h" 7 #include "ash/common/accessibility_types.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "base/strings/string_util.h" 12 #include "base/strings/string_util.h"
13 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
14 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
15 #include "chrome/browser/browser_shutdown.h" 15 #include "chrome/browser/browser_shutdown.h"
16 #include "chrome/browser/chrome_notification_types.h" 16 #include "chrome/browser/chrome_notification_types.h"
17 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" 17 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
18 #include "chrome/browser/chromeos/base/locale_util.h" 18 #include "chrome/browser/chromeos/base/locale_util.h"
19 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" 19 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h"
20 #include "chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper. h" 20 #include "chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper. h"
21 #include "chrome/browser/chromeos/login/enrollment/mock_auto_enrollment_check_sc reen.h" 21 #include "chrome/browser/chromeos/login/enrollment/mock_auto_enrollment_check_sc reen.h"
22 #include "chrome/browser/chromeos/login/enrollment/mock_enrollment_screen.h" 22 #include "chrome/browser/chromeos/login/enrollment/mock_enrollment_screen.h"
23 #include "chrome/browser/chromeos/login/existing_user_controller.h" 23 #include "chrome/browser/chromeos/login/existing_user_controller.h"
24 #include "chrome/browser/chromeos/login/oobe_screen.h"
24 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" 25 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h"
25 #include "chrome/browser/chromeos/login/screens/error_screen.h" 26 #include "chrome/browser/chromeos/login/screens/error_screen.h"
26 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" 27 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h"
27 #include "chrome/browser/chromeos/login/screens/mock_device_disabled_screen_acto r.h" 28 #include "chrome/browser/chromeos/login/screens/mock_device_disabled_screen_acto r.h"
28 #include "chrome/browser/chromeos/login/screens/mock_enable_debugging_screen.h" 29 #include "chrome/browser/chromeos/login/screens/mock_enable_debugging_screen.h"
29 #include "chrome/browser/chromeos/login/screens/mock_eula_screen.h" 30 #include "chrome/browser/chromeos/login/screens/mock_eula_screen.h"
30 #include "chrome/browser/chromeos/login/screens/mock_network_screen.h" 31 #include "chrome/browser/chromeos/login/screens/mock_network_screen.h"
31 #include "chrome/browser/chromeos/login/screens/mock_update_screen.h" 32 #include "chrome/browser/chromeos/login/screens/mock_update_screen.h"
32 #include "chrome/browser/chromeos/login/screens/mock_wrong_hwid_screen.h" 33 #include "chrome/browser/chromeos/login/screens/mock_wrong_hwid_screen.h"
33 #include "chrome/browser/chromeos/login/screens/network_screen.h" 34 #include "chrome/browser/chromeos/login/screens/network_screen.h"
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 } 216 }
216 217
217 void RealHide() { 218 void RealHide() {
218 T::Hide(); 219 T::Hide();
219 } 220 }
220 221
221 private: 222 private:
222 std::unique_ptr<H> actor_; 223 std::unique_ptr<H> actor_;
223 }; 224 };
224 225
225 #define MOCK(mock_var, screen_name, mocked_class, actor_class) \ 226 #define MOCK(mock_var, screen_name, mocked_class, actor_class) \
226 mock_var = new MockOutShowHide<mocked_class, actor_class>( \ 227 mock_var = new MockOutShowHide<mocked_class, actor_class>( \
227 WizardController::default_controller(), new actor_class); \ 228 WizardController::default_controller(), new actor_class); \
228 WizardController::default_controller() \ 229 WizardController::default_controller()->screens_[screen_name] = \
229 ->screens_[WizardController::screen_name] = make_linked_ptr(mock_var); \ 230 make_linked_ptr(mock_var); \
230 EXPECT_CALL(*mock_var, Show()).Times(0); \ 231 EXPECT_CALL(*mock_var, Show()).Times(0); \
231 EXPECT_CALL(*mock_var, Hide()).Times(0); 232 EXPECT_CALL(*mock_var, Hide()).Times(0);
232 233
233 #define MOCK_WITH_DELEGATE(mock_var, screen_name, mocked_class, actor_class) \ 234 #define MOCK_WITH_DELEGATE(mock_var, screen_name, mocked_class, actor_class) \
234 mock_var = new MockOutShowHide<mocked_class, actor_class>( \ 235 mock_var = new MockOutShowHide<mocked_class, actor_class>( \
235 WizardController::default_controller(), \ 236 WizardController::default_controller(), \
236 WizardController::default_controller(), \ 237 WizardController::default_controller(), new actor_class); \
237 new actor_class); \ 238 WizardController::default_controller()->screens_[screen_name] = \
238 WizardController::default_controller() \ 239 make_linked_ptr(mock_var); \
239 ->screens_[WizardController::screen_name] = make_linked_ptr(mock_var); \
240 EXPECT_CALL(*mock_var, Show()).Times(0); \ 240 EXPECT_CALL(*mock_var, Show()).Times(0); \
241 EXPECT_CALL(*mock_var, Hide()).Times(0); 241 EXPECT_CALL(*mock_var, Hide()).Times(0);
242 242
243 class WizardControllerTest : public WizardInProcessBrowserTest { 243 class WizardControllerTest : public WizardInProcessBrowserTest {
244 protected: 244 protected:
245 WizardControllerTest() : WizardInProcessBrowserTest( 245 WizardControllerTest()
246 WizardController::kTestNoScreenName) {} 246 : WizardInProcessBrowserTest(OobeScreen::SCREEN_TEST_NO_WINDOW) {}
247 ~WizardControllerTest() override {} 247 ~WizardControllerTest() override {}
248 248
249 void SetUpOnMainThread() override { 249 void SetUpOnMainThread() override {
250 AccessibilityManager::Get()-> 250 AccessibilityManager::Get()->
251 SetProfileForTest(ProfileHelper::GetSigninProfile()); 251 SetProfileForTest(ProfileHelper::GetSigninProfile());
252 WizardInProcessBrowserTest::SetUpOnMainThread(); 252 WizardInProcessBrowserTest::SetUpOnMainThread();
253 } 253 }
254 254
255 ErrorScreen* GetErrorScreen() { 255 ErrorScreen* GetErrorScreen() {
256 return static_cast<BaseScreenDelegate*>( 256 return static_cast<BaseScreenDelegate*>(
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 290
291 bool JSExecuteBooleanExpression(const std::string& expression) { 291 bool JSExecuteBooleanExpression(const std::string& expression) {
292 bool result; 292 bool result;
293 EXPECT_TRUE(content::ExecuteScriptAndExtractBool( 293 EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
294 GetWebContents(), 294 GetWebContents(),
295 "window.domAutomationController.send(!!(" + expression + "));", 295 "window.domAutomationController.send(!!(" + expression + "));",
296 &result)); 296 &result));
297 return result; 297 return result;
298 } 298 }
299 299
300 void CheckCurrentScreen(const std::string& screen_name) { 300 void CheckCurrentScreen(OobeScreen screen) {
301 EXPECT_EQ(WizardController::default_controller()->GetScreen(screen_name), 301 EXPECT_EQ(WizardController::default_controller()->GetScreen(screen),
302 WizardController::default_controller()->current_screen()); 302 WizardController::default_controller()->current_screen());
303 } 303 }
304 304
305 private: 305 private:
306 DISALLOW_COPY_AND_ASSIGN(WizardControllerTest); 306 DISALLOW_COPY_AND_ASSIGN(WizardControllerTest);
307 }; 307 };
308 308
309 IN_PROC_BROWSER_TEST_F(WizardControllerTest, SwitchLanguage) { 309 IN_PROC_BROWSER_TEST_F(WizardControllerTest, SwitchLanguage) {
310 ASSERT_TRUE(WizardController::default_controller() != NULL); 310 ASSERT_TRUE(WizardController::default_controller() != NULL);
311 WizardController::default_controller()->AdvanceToScreen( 311 WizardController::default_controller()->AdvanceToScreen(
312 WizardController::kNetworkScreenName); 312 OobeScreen::SCREEN_OOBE_NETWORK);
313 313
314 // Checking the default locale. Provided that the profile is cleared in SetUp. 314 // Checking the default locale. Provided that the profile is cleared in SetUp.
315 EXPECT_EQ("en-US", g_browser_process->GetApplicationLocale()); 315 EXPECT_EQ("en-US", g_browser_process->GetApplicationLocale());
316 EXPECT_STREQ("en", icu::Locale::getDefault().getLanguage()); 316 EXPECT_STREQ("en", icu::Locale::getDefault().getLanguage());
317 EXPECT_FALSE(base::i18n::IsRTL()); 317 EXPECT_FALSE(base::i18n::IsRTL());
318 const base::string16 en_str = 318 const base::string16 en_str =
319 l10n_util::GetStringUTF16(IDS_NETWORK_SELECTION_TITLE); 319 l10n_util::GetStringUTF16(IDS_NETWORK_SELECTION_TITLE);
320 320
321 RunSwitchLanguageTest("fr", "fr", true); 321 RunSwitchLanguageTest("fr", "fr", true);
322 EXPECT_EQ("fr", g_browser_process->GetApplicationLocale()); 322 EXPECT_EQ("fr", g_browser_process->GetApplicationLocale());
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 418
419 // Clear portal list (as it is by default in OOBE). 419 // Clear portal list (as it is by default in OOBE).
420 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); 420 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList("");
421 421
422 // Set up the mocks for all screens. 422 // Set up the mocks for all screens.
423 mock_network_screen_.reset(new MockNetworkScreen( 423 mock_network_screen_.reset(new MockNetworkScreen(
424 WizardController::default_controller(), 424 WizardController::default_controller(),
425 WizardController::default_controller(), GetOobeUI()->GetNetworkView())); 425 WizardController::default_controller(), GetOobeUI()->GetNetworkView()));
426 mock_network_screen_->Initialize(nullptr /* context */); 426 mock_network_screen_->Initialize(nullptr /* context */);
427 WizardController::default_controller() 427 WizardController::default_controller()
428 ->screens_[WizardController::kNetworkScreenName] = mock_network_screen_; 428 ->screens_[OobeScreen::SCREEN_OOBE_NETWORK] = mock_network_screen_;
429 EXPECT_CALL(*mock_network_screen_, Show()).Times(0); 429 EXPECT_CALL(*mock_network_screen_, Show()).Times(0);
430 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); 430 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0);
431 431
432 MOCK(mock_update_screen_, kUpdateScreenName, MockUpdateScreen, 432 MOCK(mock_update_screen_, OobeScreen::SCREEN_OOBE_UPDATE, MockUpdateScreen,
433 MockUpdateView); 433 MockUpdateView);
434 MOCK_WITH_DELEGATE(mock_eula_screen_, kEulaScreenName, MockEulaScreen, 434 MOCK_WITH_DELEGATE(mock_eula_screen_, OobeScreen::SCREEN_OOBE_EULA,
435 MockEulaView); 435 MockEulaScreen, MockEulaView);
436 MOCK(mock_enrollment_screen_, 436 MOCK(mock_enrollment_screen_, OobeScreen::SCREEN_OOBE_ENROLLMENT,
437 kEnrollmentScreenName, 437 MockEnrollmentScreen, MockEnrollmentScreenActor);
438 MockEnrollmentScreen,
439 MockEnrollmentScreenActor);
440 MOCK(mock_auto_enrollment_check_screen_, 438 MOCK(mock_auto_enrollment_check_screen_,
441 kAutoEnrollmentCheckScreenName, 439 OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK,
442 MockAutoEnrollmentCheckScreen, 440 MockAutoEnrollmentCheckScreen, MockAutoEnrollmentCheckScreenActor);
443 MockAutoEnrollmentCheckScreenActor); 441 MOCK(mock_wrong_hwid_screen_, OobeScreen::SCREEN_WRONG_HWID,
444 MOCK(mock_wrong_hwid_screen_, kWrongHWIDScreenName, MockWrongHWIDScreen, 442 MockWrongHWIDScreen, MockWrongHWIDScreenActor);
445 MockWrongHWIDScreenActor);
446 MOCK(mock_enable_debugging_screen_, 443 MOCK(mock_enable_debugging_screen_,
447 kEnableDebuggingScreenName, 444 OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING, MockEnableDebuggingScreen,
448 MockEnableDebuggingScreen,
449 MockEnableDebuggingScreenActor); 445 MockEnableDebuggingScreenActor);
450 device_disabled_screen_actor_.reset(new MockDeviceDisabledScreenActor); 446 device_disabled_screen_actor_.reset(new MockDeviceDisabledScreenActor);
451 wizard_controller->screens_[WizardController::kDeviceDisabledScreenName] = 447 wizard_controller->screens_[OobeScreen::SCREEN_DEVICE_DISABLED] =
452 make_linked_ptr(new DeviceDisabledScreen( 448 make_linked_ptr(new DeviceDisabledScreen(
453 wizard_controller, 449 wizard_controller, device_disabled_screen_actor_.get()));
454 device_disabled_screen_actor_.get()));
455 EXPECT_CALL(*device_disabled_screen_actor_, Show()).Times(0); 450 EXPECT_CALL(*device_disabled_screen_actor_, Show()).Times(0);
456 451
457 // Switch to the initial screen. 452 // Switch to the initial screen.
458 EXPECT_EQ(NULL, wizard_controller->current_screen()); 453 EXPECT_EQ(NULL, wizard_controller->current_screen());
459 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 454 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
460 wizard_controller->AdvanceToScreen(WizardController::kNetworkScreenName); 455 wizard_controller->AdvanceToScreen(OobeScreen::SCREEN_OOBE_NETWORK);
461 } 456 }
462 457
463 void TearDownOnMainThread() override { 458 void TearDownOnMainThread() override {
464 mock_network_screen_.reset(); 459 mock_network_screen_.reset();
465 device_disabled_screen_actor_.reset(); 460 device_disabled_screen_actor_.reset();
466 WizardControllerTest::TearDownOnMainThread(); 461 WizardControllerTest::TearDownOnMainThread();
467 } 462 }
468 463
469 void TearDown() override { 464 void TearDown() override {
470 if (fallback_fetcher_factory_) { 465 if (fallback_fetcher_factory_) {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 ->SetOnTimeZoneResolvedForTesting( 508 ->SetOnTimeZoneResolvedForTesting(
514 base::Bind(&TimeZoneTestRunner::OnResolved, 509 base::Bind(&TimeZoneTestRunner::OnResolved,
515 base::Unretained(runner.get())))) 510 base::Unretained(runner.get()))))
516 return; 511 return;
517 512
518 runner->Run(); 513 runner->Run();
519 } 514 }
520 515
521 void ResetAutoEnrollmentCheckScreen() { 516 void ResetAutoEnrollmentCheckScreen() {
522 WizardController::default_controller()->screens_.erase( 517 WizardController::default_controller()->screens_.erase(
523 WizardController::kAutoEnrollmentCheckScreenName); 518 OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
524 } 519 }
525 520
526 linked_ptr<MockNetworkScreen> mock_network_screen_; 521 linked_ptr<MockNetworkScreen> mock_network_screen_;
527 MockOutShowHide<MockUpdateScreen, MockUpdateView>* mock_update_screen_; 522 MockOutShowHide<MockUpdateScreen, MockUpdateView>* mock_update_screen_;
528 MockOutShowHide<MockEulaScreen, MockEulaView>* mock_eula_screen_; 523 MockOutShowHide<MockEulaScreen, MockEulaView>* mock_eula_screen_;
529 MockOutShowHide<MockEnrollmentScreen, 524 MockOutShowHide<MockEnrollmentScreen,
530 MockEnrollmentScreenActor>* mock_enrollment_screen_; 525 MockEnrollmentScreenActor>* mock_enrollment_screen_;
531 MockOutShowHide<MockAutoEnrollmentCheckScreen, 526 MockOutShowHide<MockAutoEnrollmentCheckScreen,
532 MockAutoEnrollmentCheckScreenActor>* mock_auto_enrollment_check_screen_; 527 MockAutoEnrollmentCheckScreenActor>* mock_auto_enrollment_check_screen_;
533 MockOutShowHide<MockWrongHWIDScreen, MockWrongHWIDScreenActor>* 528 MockOutShowHide<MockWrongHWIDScreen, MockWrongHWIDScreenActor>*
534 mock_wrong_hwid_screen_; 529 mock_wrong_hwid_screen_;
535 MockOutShowHide<MockEnableDebuggingScreen, 530 MockOutShowHide<MockEnableDebuggingScreen,
536 MockEnableDebuggingScreenActor>* mock_enable_debugging_screen_; 531 MockEnableDebuggingScreenActor>* mock_enable_debugging_screen_;
537 std::unique_ptr<MockDeviceDisabledScreenActor> device_disabled_screen_actor_; 532 std::unique_ptr<MockDeviceDisabledScreenActor> device_disabled_screen_actor_;
538 533
539 private: 534 private:
540 NetworkPortalDetectorTestImpl* network_portal_detector_; 535 NetworkPortalDetectorTestImpl* network_portal_detector_;
541 536
542 // Use a test factory as a fallback so we don't have to deal with other 537 // Use a test factory as a fallback so we don't have to deal with other
543 // requests. 538 // requests.
544 std::unique_ptr<WizardControllerTestURLFetcherFactory> 539 std::unique_ptr<WizardControllerTestURLFetcherFactory>
545 fallback_fetcher_factory_; 540 fallback_fetcher_factory_;
546 std::unique_ptr<net::FakeURLFetcherFactory> fetcher_factory_; 541 std::unique_ptr<net::FakeURLFetcherFactory> fetcher_factory_;
547 542
548 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest); 543 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest);
549 }; 544 };
550 545
551 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) { 546 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) {
552 CheckCurrentScreen(WizardController::kNetworkScreenName); 547 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
553 548
554 WaitUntilJSIsReady(); 549 WaitUntilJSIsReady();
555 550
556 // Check visibility of the header bar. 551 // Check visibility of the header bar.
557 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden")); 552 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden"));
558 553
559 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 554 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
560 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 555 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
561 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); 556 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED);
562 557
563 CheckCurrentScreen(WizardController::kEulaScreenName); 558 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA);
564 559
565 // Header bar should still be visible. 560 // Header bar should still be visible.
566 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden")); 561 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden"));
567 562
568 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 563 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
569 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 564 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
570 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 565 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
571 // Enable TimeZone resolve 566 // Enable TimeZone resolve
572 InitTimezoneResolver(); 567 InitTimezoneResolver();
573 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); 568 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED);
574 EXPECT_TRUE(GetGeolocationProvider()); 569 EXPECT_TRUE(GetGeolocationProvider());
575 570
576 // Let update screen smooth time process (time = 0ms). 571 // Let update screen smooth time process (time = 0ms).
577 content::RunAllPendingInMessageLoop(); 572 content::RunAllPendingInMessageLoop();
578 573
579 CheckCurrentScreen(WizardController::kUpdateScreenName); 574 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE);
580 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 575 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
581 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 576 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
582 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); 577 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED);
583 578
584 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 579 CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
585 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0); 580 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0);
586 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); 581 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0);
587 OnExit(*mock_auto_enrollment_check_screen_, 582 OnExit(*mock_auto_enrollment_check_screen_,
588 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 583 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
589 584
590 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 585 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
591 EXPECT_EQ("ethernet,wifi,cellular", 586 EXPECT_EQ("ethernet,wifi,cellular",
592 NetworkHandler::Get()->network_state_handler() 587 NetworkHandler::Get()->network_state_handler()
593 ->GetCheckPortalListForTest()); 588 ->GetCheckPortalListForTest());
594 589
595 WaitUntilTimezoneResolved(); 590 WaitUntilTimezoneResolved();
596 EXPECT_EQ("America/Anchorage", 591 EXPECT_EQ("America/Anchorage",
597 base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance() 592 base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance()
598 ->GetCurrentTimezoneID())); 593 ->GetCurrentTimezoneID()));
599 } 594 }
600 595
601 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { 596 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) {
602 CheckCurrentScreen(WizardController::kNetworkScreenName); 597 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
603 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 598 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
604 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 599 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
605 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); 600 EXPECT_CALL(*mock_update_screen_, Show()).Times(0);
606 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 601 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
607 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); 602 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED);
608 603
609 CheckCurrentScreen(WizardController::kEulaScreenName); 604 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA);
610 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 605 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
611 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 606 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
612 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 607 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
613 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); 608 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED);
614 609
615 // Let update screen smooth time process (time = 0ms). 610 // Let update screen smooth time process (time = 0ms).
616 content::RunAllPendingInMessageLoop(); 611 content::RunAllPendingInMessageLoop();
617 612
618 CheckCurrentScreen(WizardController::kUpdateScreenName); 613 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE);
619 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 614 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
620 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 615 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
621 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_ERROR_UPDATING); 616 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_ERROR_UPDATING);
622 617
623 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 618 CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
624 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0); 619 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0);
625 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); 620 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0);
626 OnExit(*mock_auto_enrollment_check_screen_, 621 OnExit(*mock_auto_enrollment_check_screen_,
627 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 622 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
628 623
629 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 624 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
630 } 625 }
631 626
632 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowSkipUpdateEnroll) { 627 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowSkipUpdateEnroll) {
633 CheckCurrentScreen(WizardController::kNetworkScreenName); 628 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
634 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 629 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
635 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 630 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
636 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); 631 EXPECT_CALL(*mock_update_screen_, Show()).Times(0);
637 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 632 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
638 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); 633 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED);
639 634
640 CheckCurrentScreen(WizardController::kEulaScreenName); 635 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA);
641 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 636 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
642 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 637 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
643 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); 638 EXPECT_CALL(*mock_update_screen_, Show()).Times(0);
644 WizardController::default_controller()->SkipUpdateEnrollAfterEula(); 639 WizardController::default_controller()->SkipUpdateEnrollAfterEula();
645 EXPECT_CALL(*mock_enrollment_screen_->actor(), 640 EXPECT_CALL(*mock_enrollment_screen_->actor(),
646 SetParameters( 641 SetParameters(
647 mock_enrollment_screen_, 642 mock_enrollment_screen_,
648 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL))) 643 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL)))
649 .Times(1); 644 .Times(1);
650 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 645 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
651 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); 646 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED);
652 content::RunAllPendingInMessageLoop(); 647 content::RunAllPendingInMessageLoop();
653 648
654 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 649 CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
655 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 650 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
656 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 651 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
657 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(0); 652 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(0);
658 OnExit(*mock_auto_enrollment_check_screen_, 653 OnExit(*mock_auto_enrollment_check_screen_,
659 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 654 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
660 content::RunAllPendingInMessageLoop(); 655 content::RunAllPendingInMessageLoop();
661 656
662 CheckCurrentScreen(WizardController::kEnrollmentScreenName); 657 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT);
663 EXPECT_EQ("ethernet,wifi,cellular", 658 EXPECT_EQ("ethernet,wifi,cellular",
664 NetworkHandler::Get()->network_state_handler() 659 NetworkHandler::Get()->network_state_handler()
665 ->GetCheckPortalListForTest()); 660 ->GetCheckPortalListForTest());
666 } 661 }
667 662
668 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) { 663 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) {
669 CheckCurrentScreen(WizardController::kNetworkScreenName); 664 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
670 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 665 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
671 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 666 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
672 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 667 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
673 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); 668 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED);
674 669
675 CheckCurrentScreen(WizardController::kEulaScreenName); 670 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA);
676 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 671 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
677 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 672 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
678 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition 673 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition
679 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_BACK); 674 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_BACK);
680 675
681 CheckCurrentScreen(WizardController::kNetworkScreenName); 676 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
682 } 677 }
683 678
684 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, 679 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest,
685 ControlFlowEnrollmentCompleted) { 680 ControlFlowEnrollmentCompleted) {
686 CheckCurrentScreen(WizardController::kNetworkScreenName); 681 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
687 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 682 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
688 EXPECT_CALL(*mock_enrollment_screen_->actor(), 683 EXPECT_CALL(*mock_enrollment_screen_->actor(),
689 SetParameters( 684 SetParameters(
690 mock_enrollment_screen_, 685 mock_enrollment_screen_,
691 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL))) 686 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL)))
692 .Times(1); 687 .Times(1);
693 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 688 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
694 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 689 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
695 690
696 WizardController::default_controller()->AdvanceToScreen( 691 WizardController::default_controller()->AdvanceToScreen(
697 WizardController::kEnrollmentScreenName); 692 OobeScreen::SCREEN_OOBE_ENROLLMENT);
698 CheckCurrentScreen(WizardController::kEnrollmentScreenName); 693 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT);
699 OnExit(*mock_enrollment_screen_, 694 OnExit(*mock_enrollment_screen_,
700 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED); 695 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED);
701 696
702 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 697 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
703 } 698 }
704 699
705 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, 700 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest,
706 ControlFlowWrongHWIDScreenFromLogin) { 701 ControlFlowWrongHWIDScreenFromLogin) {
707 CheckCurrentScreen(WizardController::kNetworkScreenName); 702 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
708 703
709 LoginDisplayHost::default_host()->StartSignInScreen(LoginScreenContext()); 704 LoginDisplayHost::default_host()->StartSignInScreen(LoginScreenContext());
710 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 705 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
711 ExistingUserController::current_controller()->ShowWrongHWIDScreen(); 706 ExistingUserController::current_controller()->ShowWrongHWIDScreen();
712 707
713 CheckCurrentScreen(WizardController::kWrongHWIDScreenName); 708 CheckCurrentScreen(OobeScreen::SCREEN_WRONG_HWID);
714 709
715 // After warning is skipped, user returns to sign-in screen. 710 // After warning is skipped, user returns to sign-in screen.
716 // And this destroys WizardController. 711 // And this destroys WizardController.
717 OnExit(*mock_wrong_hwid_screen_, 712 OnExit(*mock_wrong_hwid_screen_,
718 BaseScreenDelegate::WRONG_HWID_WARNING_SKIPPED); 713 BaseScreenDelegate::WRONG_HWID_WARNING_SKIPPED);
719 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 714 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
720 } 715 }
721 716
722 class WizardControllerDeviceStateTest : public WizardControllerFlowTest { 717 class WizardControllerDeviceStateTest : public WizardControllerFlowTest {
723 protected: 718 protected:
(...skipping 20 matching lines...) Expand all
744 system::ScopedFakeStatisticsProvider fake_statistics_provider_; 739 system::ScopedFakeStatisticsProvider fake_statistics_provider_;
745 740
746 private: 741 private:
747 ScopedStubInstallAttributes install_attributes_; 742 ScopedStubInstallAttributes install_attributes_;
748 743
749 DISALLOW_COPY_AND_ASSIGN(WizardControllerDeviceStateTest); 744 DISALLOW_COPY_AND_ASSIGN(WizardControllerDeviceStateTest);
750 }; 745 };
751 746
752 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest, 747 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest,
753 ControlFlowForcedReEnrollment) { 748 ControlFlowForcedReEnrollment) {
754 CheckCurrentScreen(WizardController::kNetworkScreenName); 749 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
755 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 750 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
756 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 751 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
757 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); 752 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED);
758 753
759 CheckCurrentScreen(WizardController::kEulaScreenName); 754 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA);
760 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 755 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
761 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 756 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
762 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 757 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
763 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); 758 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED);
764 759
765 // Let update screen smooth time process (time = 0ms). 760 // Let update screen smooth time process (time = 0ms).
766 content::RunAllPendingInMessageLoop(); 761 content::RunAllPendingInMessageLoop();
767 762
768 CheckCurrentScreen(WizardController::kUpdateScreenName); 763 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE);
769 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 764 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
770 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 765 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
771 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); 766 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED);
772 767
773 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 768 CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
774 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 769 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
775 mock_auto_enrollment_check_screen_->RealShow(); 770 mock_auto_enrollment_check_screen_->RealShow();
776 771
777 // Wait for auto-enrollment controller to encounter the connection error. 772 // Wait for auto-enrollment controller to encounter the connection error.
778 WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR); 773 WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR);
779 774
780 // The error screen shows up if there's no auto-enrollment decision. 775 // The error screen shows up if there's no auto-enrollment decision.
781 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 776 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
782 EXPECT_EQ(GetErrorScreen(), 777 EXPECT_EQ(GetErrorScreen(),
783 WizardController::default_controller()->current_screen()); 778 WizardController::default_controller()->current_screen());
784 base::DictionaryValue device_state; 779 base::DictionaryValue device_state;
785 device_state.SetString(policy::kDeviceStateRestoreMode, 780 device_state.SetString(policy::kDeviceStateRestoreMode,
786 policy::kDeviceStateRestoreModeReEnrollmentEnforced); 781 policy::kDeviceStateRestoreModeReEnrollmentEnforced);
787 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, 782 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState,
788 device_state); 783 device_state);
789 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 784 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
790 EXPECT_CALL(*mock_enrollment_screen_->actor(), 785 EXPECT_CALL(*mock_enrollment_screen_->actor(),
791 SetParameters(mock_enrollment_screen_, 786 SetParameters(mock_enrollment_screen_,
792 EnrollmentModeMatches( 787 EnrollmentModeMatches(
793 policy::EnrollmentConfig::MODE_SERVER_FORCED))) 788 policy::EnrollmentConfig::MODE_SERVER_FORCED)))
794 .Times(1); 789 .Times(1);
795 OnExit(*mock_auto_enrollment_check_screen_, 790 OnExit(*mock_auto_enrollment_check_screen_,
796 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 791 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
797 792
798 ResetAutoEnrollmentCheckScreen(); 793 ResetAutoEnrollmentCheckScreen();
799 794
800 // Make sure enterprise enrollment page shows up. 795 // Make sure enterprise enrollment page shows up.
801 CheckCurrentScreen(WizardController::kEnrollmentScreenName); 796 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT);
802 OnExit(*mock_enrollment_screen_, 797 OnExit(*mock_enrollment_screen_,
803 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED); 798 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED);
804 799
805 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); 800 EXPECT_TRUE(StartupUtils::IsOobeCompleted());
806 } 801 }
807 802
808 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest, 803 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest,
809 ControlFlowNoForcedReEnrollmentOnFirstBoot) { 804 ControlFlowNoForcedReEnrollmentOnFirstBoot) {
810 fake_statistics_provider_.ClearMachineStatistic(system::kActivateDateKey); 805 fake_statistics_provider_.ClearMachineStatistic(system::kActivateDateKey);
811 EXPECT_NE( 806 EXPECT_NE(
812 policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT, 807 policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT,
813 LoginDisplayHost::default_host()->GetAutoEnrollmentController()->state()); 808 LoginDisplayHost::default_host()->GetAutoEnrollmentController()->state());
814 809
815 CheckCurrentScreen(WizardController::kNetworkScreenName); 810 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
816 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 811 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
817 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 812 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
818 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); 813 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED);
819 814
820 CheckCurrentScreen(WizardController::kEulaScreenName); 815 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA);
821 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 816 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
822 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 817 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
823 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 818 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
824 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); 819 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED);
825 820
826 // Let update screen smooth time process (time = 0ms). 821 // Let update screen smooth time process (time = 0ms).
827 content::RunAllPendingInMessageLoop(); 822 content::RunAllPendingInMessageLoop();
828 823
829 CheckCurrentScreen(WizardController::kUpdateScreenName); 824 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE);
830 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 825 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
831 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 826 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
832 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); 827 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED);
833 828
834 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 829 CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
835 mock_auto_enrollment_check_screen_->RealShow(); 830 mock_auto_enrollment_check_screen_->RealShow();
836 EXPECT_EQ( 831 EXPECT_EQ(
837 policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT, 832 policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT,
838 LoginDisplayHost::default_host()->GetAutoEnrollmentController()->state()); 833 LoginDisplayHost::default_host()->GetAutoEnrollmentController()->state());
839 } 834 }
840 835
841 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest, 836 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest,
842 ControlFlowDeviceDisabled) { 837 ControlFlowDeviceDisabled) {
843 CheckCurrentScreen(WizardController::kNetworkScreenName); 838 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
844 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 839 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
845 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 840 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
846 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); 841 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED);
847 842
848 CheckCurrentScreen(WizardController::kEulaScreenName); 843 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA);
849 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 844 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
850 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 845 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
851 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 846 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
852 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); 847 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED);
853 848
854 // Let update screen smooth time process (time = 0ms). 849 // Let update screen smooth time process (time = 0ms).
855 content::RunAllPendingInMessageLoop(); 850 content::RunAllPendingInMessageLoop();
856 851
857 CheckCurrentScreen(WizardController::kUpdateScreenName); 852 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE);
858 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 853 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
859 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 854 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
860 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); 855 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED);
861 856
862 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 857 CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
863 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 858 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
864 mock_auto_enrollment_check_screen_->RealShow(); 859 mock_auto_enrollment_check_screen_->RealShow();
865 860
866 // Wait for auto-enrollment controller to encounter the connection error. 861 // Wait for auto-enrollment controller to encounter the connection error.
867 WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR); 862 WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR);
868 863
869 // The error screen shows up if device state could not be retrieved. 864 // The error screen shows up if device state could not be retrieved.
870 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 865 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
871 EXPECT_EQ(GetErrorScreen(), 866 EXPECT_EQ(GetErrorScreen(),
872 WizardController::default_controller()->current_screen()); 867 WizardController::default_controller()->current_screen());
873 base::DictionaryValue device_state; 868 base::DictionaryValue device_state;
874 device_state.SetString(policy::kDeviceStateRestoreMode, 869 device_state.SetString(policy::kDeviceStateRestoreMode,
875 policy::kDeviceStateRestoreModeDisabled); 870 policy::kDeviceStateRestoreModeDisabled);
876 device_state.SetString(policy::kDeviceStateDisabledMessage, kDisabledMessage); 871 device_state.SetString(policy::kDeviceStateDisabledMessage, kDisabledMessage);
877 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, 872 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState,
878 device_state); 873 device_state);
879 EXPECT_CALL(*device_disabled_screen_actor_, 874 EXPECT_CALL(*device_disabled_screen_actor_,
880 UpdateMessage(kDisabledMessage)).Times(1); 875 UpdateMessage(kDisabledMessage)).Times(1);
881 EXPECT_CALL(*device_disabled_screen_actor_, Show()).Times(1); 876 EXPECT_CALL(*device_disabled_screen_actor_, Show()).Times(1);
882 OnExit(*mock_auto_enrollment_check_screen_, 877 OnExit(*mock_auto_enrollment_check_screen_,
883 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 878 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
884 879
885 ResetAutoEnrollmentCheckScreen(); 880 ResetAutoEnrollmentCheckScreen();
886 881
887 // Make sure the device disabled screen is shown. 882 // Make sure the device disabled screen is shown.
888 CheckCurrentScreen(WizardController::kDeviceDisabledScreenName); 883 CheckCurrentScreen(OobeScreen::SCREEN_DEVICE_DISABLED);
889 884
890 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 885 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
891 } 886 }
892 887
893 class WizardControllerBrokenLocalStateTest : public WizardControllerTest { 888 class WizardControllerBrokenLocalStateTest : public WizardControllerTest {
894 protected: 889 protected:
895 WizardControllerBrokenLocalStateTest() 890 WizardControllerBrokenLocalStateTest()
896 : fake_session_manager_client_(NULL) { 891 : fake_session_manager_client_(NULL) {
897 } 892 }
898 893
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
966 961
967 // Overridden from WizardControllerTest: 962 // Overridden from WizardControllerTest:
968 void SetUp() override { 963 void SetUp() override {
969 ASSERT_TRUE(proxy_server_.Start()); 964 ASSERT_TRUE(proxy_server_.Start());
970 WizardControllerTest::SetUp(); 965 WizardControllerTest::SetUp();
971 } 966 }
972 967
973 void SetUpOnMainThread() override { 968 void SetUpOnMainThread() override {
974 WizardControllerTest::SetUpOnMainThread(); 969 WizardControllerTest::SetUpOnMainThread();
975 WizardController::default_controller()->AdvanceToScreen( 970 WizardController::default_controller()->AdvanceToScreen(
976 WizardController::kNetworkScreenName); 971 OobeScreen::SCREEN_OOBE_NETWORK);
977 } 972 }
978 973
979 void SetUpCommandLine(base::CommandLine* command_line) override { 974 void SetUpCommandLine(base::CommandLine* command_line) override {
980 command_line->AppendSwitchASCII(::switches::kProxyServer, 975 command_line->AppendSwitchASCII(::switches::kProxyServer,
981 proxy_server_.host_port_pair().ToString()); 976 proxy_server_.host_port_pair().ToString());
982 } 977 }
983 978
984 net::SpawnedTestServer& proxy_server() { return proxy_server_; } 979 net::SpawnedTestServer& proxy_server() { return proxy_server_; }
985 980
986 private: 981 private:
987 net::SpawnedTestServer proxy_server_; 982 net::SpawnedTestServer proxy_server_;
988 983
989 DISALLOW_COPY_AND_ASSIGN(WizardControllerProxyAuthOnSigninTest); 984 DISALLOW_COPY_AND_ASSIGN(WizardControllerProxyAuthOnSigninTest);
990 }; 985 };
991 986
992 // Disabled, see https://crbug.com/504928. 987 // Disabled, see https://crbug.com/504928.
993 IN_PROC_BROWSER_TEST_F(WizardControllerProxyAuthOnSigninTest, 988 IN_PROC_BROWSER_TEST_F(WizardControllerProxyAuthOnSigninTest,
994 DISABLED_ProxyAuthDialogOnSigninScreen) { 989 DISABLED_ProxyAuthDialogOnSigninScreen) {
995 content::WindowedNotificationObserver auth_needed_waiter( 990 content::WindowedNotificationObserver auth_needed_waiter(
996 chrome::NOTIFICATION_AUTH_NEEDED, 991 chrome::NOTIFICATION_AUTH_NEEDED,
997 content::NotificationService::AllSources()); 992 content::NotificationService::AllSources());
998 993
999 CheckCurrentScreen(WizardController::kNetworkScreenName); 994 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
1000 995
1001 LoginDisplayHost::default_host()->StartSignInScreen(LoginScreenContext()); 996 LoginDisplayHost::default_host()->StartSignInScreen(LoginScreenContext());
1002 auth_needed_waiter.Wait(); 997 auth_needed_waiter.Wait();
1003 } 998 }
1004 999
1005 class WizardControllerKioskFlowTest : public WizardControllerFlowTest { 1000 class WizardControllerKioskFlowTest : public WizardControllerFlowTest {
1006 protected: 1001 protected:
1007 WizardControllerKioskFlowTest() {} 1002 WizardControllerKioskFlowTest() {}
1008 1003
1009 // Overridden from InProcessBrowserTest: 1004 // Overridden from InProcessBrowserTest:
(...skipping 10 matching lines...) Expand all
1020 DISALLOW_COPY_AND_ASSIGN(WizardControllerKioskFlowTest); 1015 DISALLOW_COPY_AND_ASSIGN(WizardControllerKioskFlowTest);
1021 }; 1016 };
1022 1017
1023 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, 1018 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest,
1024 ControlFlowKioskForcedEnrollment) { 1019 ControlFlowKioskForcedEnrollment) {
1025 EXPECT_CALL(*mock_enrollment_screen_->actor(), 1020 EXPECT_CALL(*mock_enrollment_screen_->actor(),
1026 SetParameters(mock_enrollment_screen_, 1021 SetParameters(mock_enrollment_screen_,
1027 EnrollmentModeMatches( 1022 EnrollmentModeMatches(
1028 policy::EnrollmentConfig::MODE_LOCAL_FORCED))) 1023 policy::EnrollmentConfig::MODE_LOCAL_FORCED)))
1029 .Times(1); 1024 .Times(1);
1030 CheckCurrentScreen(WizardController::kNetworkScreenName); 1025 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
1031 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 1026 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
1032 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 1027 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
1033 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); 1028 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED);
1034 1029
1035 CheckCurrentScreen(WizardController::kEulaScreenName); 1030 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA);
1036 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 1031 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
1037 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 1032 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
1038 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 1033 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
1039 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); 1034 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED);
1040 1035
1041 // Let update screen smooth time process (time = 0ms). 1036 // Let update screen smooth time process (time = 0ms).
1042 content::RunAllPendingInMessageLoop(); 1037 content::RunAllPendingInMessageLoop();
1043 1038
1044 CheckCurrentScreen(WizardController::kUpdateScreenName); 1039 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE);
1045 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 1040 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
1046 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 1041 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
1047 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); 1042 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED);
1048 1043
1049 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 1044 CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
1050 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 1045 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
1051 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 1046 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
1052 OnExit(*mock_auto_enrollment_check_screen_, 1047 OnExit(*mock_auto_enrollment_check_screen_,
1053 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 1048 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
1054 1049
1055 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 1050 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
1056 1051
1057 // Make sure enterprise enrollment page shows up right after update screen. 1052 // Make sure enterprise enrollment page shows up right after update screen.
1058 CheckCurrentScreen(WizardController::kEnrollmentScreenName); 1053 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT);
1059 OnExit(*mock_enrollment_screen_, 1054 OnExit(*mock_enrollment_screen_,
1060 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED); 1055 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED);
1061 1056
1062 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); 1057 EXPECT_TRUE(StartupUtils::IsOobeCompleted());
1063 } 1058 }
1064 1059
1065 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, 1060 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest,
1066 ControlFlowEnrollmentBack) { 1061 ControlFlowEnrollmentBack) {
1067 EXPECT_CALL(*mock_enrollment_screen_->actor(), 1062 EXPECT_CALL(*mock_enrollment_screen_->actor(),
1068 SetParameters(mock_enrollment_screen_, 1063 SetParameters(mock_enrollment_screen_,
1069 EnrollmentModeMatches( 1064 EnrollmentModeMatches(
1070 policy::EnrollmentConfig::MODE_LOCAL_FORCED))) 1065 policy::EnrollmentConfig::MODE_LOCAL_FORCED)))
1071 .Times(1); 1066 .Times(1);
1072 1067
1073 CheckCurrentScreen(WizardController::kNetworkScreenName); 1068 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
1074 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 1069 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
1075 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 1070 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
1076 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); 1071 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED);
1077 1072
1078 CheckCurrentScreen(WizardController::kEulaScreenName); 1073 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA);
1079 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 1074 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
1080 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 1075 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
1081 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 1076 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
1082 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); 1077 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED);
1083 1078
1084 // Let update screen smooth time process (time = 0ms). 1079 // Let update screen smooth time process (time = 0ms).
1085 content::RunAllPendingInMessageLoop(); 1080 content::RunAllPendingInMessageLoop();
1086 1081
1087 CheckCurrentScreen(WizardController::kUpdateScreenName); 1082 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE);
1088 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 1083 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
1089 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 1084 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
1090 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); 1085 OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED);
1091 1086
1092 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 1087 CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
1093 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 1088 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
1094 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 1089 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
1095 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(1); 1090 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(1);
1096 OnExit(*mock_auto_enrollment_check_screen_, 1091 OnExit(*mock_auto_enrollment_check_screen_,
1097 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 1092 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
1098 1093
1099 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 1094 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
1100 1095
1101 // Make sure enterprise enrollment page shows up right after update screen. 1096 // Make sure enterprise enrollment page shows up right after update screen.
1102 CheckCurrentScreen(WizardController::kEnrollmentScreenName); 1097 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT);
1103 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 1098 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
1104 OnExit(*mock_enrollment_screen_, 1099 OnExit(*mock_enrollment_screen_,
1105 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK); 1100 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK);
1106 1101
1107 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 1102 CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
1108 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 1103 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
1109 } 1104 }
1110 1105
1111 1106
1112 class WizardControllerEnableDebuggingTest : public WizardControllerFlowTest { 1107 class WizardControllerEnableDebuggingTest : public WizardControllerFlowTest {
1113 protected: 1108 protected:
1114 WizardControllerEnableDebuggingTest() {} 1109 WizardControllerEnableDebuggingTest() {}
1115 1110
1116 // Overridden from InProcessBrowserTest: 1111 // Overridden from InProcessBrowserTest:
1117 void SetUpCommandLine(base::CommandLine* command_line) override { 1112 void SetUpCommandLine(base::CommandLine* command_line) override {
1118 WizardControllerFlowTest::SetUpCommandLine(command_line); 1113 WizardControllerFlowTest::SetUpCommandLine(command_line);
1119 command_line->AppendSwitch(chromeos::switches::kSystemDevMode); 1114 command_line->AppendSwitch(chromeos::switches::kSystemDevMode);
1120 } 1115 }
1121 1116
1122 private: 1117 private:
1123 DISALLOW_COPY_AND_ASSIGN(WizardControllerEnableDebuggingTest); 1118 DISALLOW_COPY_AND_ASSIGN(WizardControllerEnableDebuggingTest);
1124 }; 1119 };
1125 1120
1126 IN_PROC_BROWSER_TEST_F(WizardControllerEnableDebuggingTest, 1121 IN_PROC_BROWSER_TEST_F(WizardControllerEnableDebuggingTest,
1127 ShowAndCancelEnableDebugging) { 1122 ShowAndCancelEnableDebugging) {
1128 CheckCurrentScreen(WizardController::kNetworkScreenName); 1123 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
1129 WaitUntilJSIsReady(); 1124 WaitUntilJSIsReady();
1130 1125
1131 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 1126 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
1132 EXPECT_CALL(*mock_enable_debugging_screen_, Show()).Times(1); 1127 EXPECT_CALL(*mock_enable_debugging_screen_, Show()).Times(1);
1133 1128
1134 ASSERT_TRUE(JSExecute("$('connect-debugging-features-link').click()")); 1129 ASSERT_TRUE(JSExecute("$('connect-debugging-features-link').click()"));
1135 1130
1136 // Let update screen smooth time process (time = 0ms). 1131 // Let update screen smooth time process (time = 0ms).
1137 content::RunAllPendingInMessageLoop(); 1132 content::RunAllPendingInMessageLoop();
1138 1133
1139 CheckCurrentScreen(WizardController::kEnableDebuggingScreenName); 1134 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING);
1140 EXPECT_CALL(*mock_enable_debugging_screen_, Hide()).Times(1); 1135 EXPECT_CALL(*mock_enable_debugging_screen_, Hide()).Times(1);
1141 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 1136 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
1142 1137
1143 OnExit(*mock_enable_debugging_screen_, 1138 OnExit(*mock_enable_debugging_screen_,
1144 BaseScreenDelegate::ENABLE_DEBUGGING_CANCELED); 1139 BaseScreenDelegate::ENABLE_DEBUGGING_CANCELED);
1145 1140
1146 // Let update screen smooth time process (time = 0ms). 1141 // Let update screen smooth time process (time = 0ms).
1147 content::RunAllPendingInMessageLoop(); 1142 content::RunAllPendingInMessageLoop();
1148 1143
1149 CheckCurrentScreen(WizardController::kNetworkScreenName); 1144 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
1150 } 1145 }
1151 1146
1152 class WizardControllerOobeResumeTest : public WizardControllerTest { 1147 class WizardControllerOobeResumeTest : public WizardControllerTest {
1153 protected: 1148 protected:
1154 WizardControllerOobeResumeTest() {} 1149 WizardControllerOobeResumeTest() {}
1155 // Overriden from InProcessBrowserTest: 1150 // Overriden from InProcessBrowserTest:
1156 void SetUpOnMainThread() override { 1151 void SetUpOnMainThread() override {
1157 WizardControllerTest::SetUpOnMainThread(); 1152 WizardControllerTest::SetUpOnMainThread();
1158 1153
1159 // Make sure that OOBE is run as an "official" build. 1154 // Make sure that OOBE is run as an "official" build.
1160 WizardController::default_controller()->is_official_build_ = true; 1155 WizardController::default_controller()->is_official_build_ = true;
1161 1156
1162 // Clear portal list (as it is by default in OOBE). 1157 // Clear portal list (as it is by default in OOBE).
1163 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); 1158 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList("");
1164 1159
1165 // Set up the mocks for all screens. 1160 // Set up the mocks for all screens.
1166 MOCK_WITH_DELEGATE(mock_network_screen_, kNetworkScreenName, 1161 MOCK_WITH_DELEGATE(mock_network_screen_, OobeScreen::SCREEN_OOBE_NETWORK,
1167 MockNetworkScreen, MockNetworkView); 1162 MockNetworkScreen, MockNetworkView);
1168 MOCK(mock_enrollment_screen_, 1163 MOCK(mock_enrollment_screen_, OobeScreen::SCREEN_OOBE_ENROLLMENT,
1169 kEnrollmentScreenName, 1164 MockEnrollmentScreen, MockEnrollmentScreenActor);
1170 MockEnrollmentScreen,
1171 MockEnrollmentScreenActor);
1172 } 1165 }
1173 1166
1174 void OnExit(BaseScreen& screen, BaseScreenDelegate::ExitCodes exit_code) { 1167 void OnExit(BaseScreen& screen, BaseScreenDelegate::ExitCodes exit_code) {
1175 WizardController::default_controller()->OnExit(screen, exit_code, 1168 WizardController::default_controller()->OnExit(screen, exit_code,
1176 nullptr /* context */); 1169 nullptr /* context */);
1177 } 1170 }
1178 1171
1179 std::string GetFirstScreenName() { 1172 OobeScreen GetFirstScreen() {
1180 return WizardController::default_controller()->first_screen_name(); 1173 return WizardController::default_controller()->first_screen();
1181 } 1174 }
1182 1175
1183 MockOutShowHide<MockNetworkScreen, MockNetworkView>* mock_network_screen_; 1176 MockOutShowHide<MockNetworkScreen, MockNetworkView>* mock_network_screen_;
1184 MockOutShowHide<MockEnrollmentScreen, 1177 MockOutShowHide<MockEnrollmentScreen,
1185 MockEnrollmentScreenActor>* mock_enrollment_screen_; 1178 MockEnrollmentScreenActor>* mock_enrollment_screen_;
1186 1179
1187 private: 1180 private:
1188 DISALLOW_COPY_AND_ASSIGN(WizardControllerOobeResumeTest); 1181 DISALLOW_COPY_AND_ASSIGN(WizardControllerOobeResumeTest);
1189 }; 1182 };
1190 1183
1191 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest, 1184 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest,
1192 PRE_ControlFlowResumeInterruptedOobe) { 1185 PRE_ControlFlowResumeInterruptedOobe) {
1193 // Switch to the initial screen. 1186 // Switch to the initial screen.
1194 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 1187 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
1195 WizardController::default_controller()->AdvanceToScreen( 1188 WizardController::default_controller()->AdvanceToScreen(
1196 WizardController::kNetworkScreenName); 1189 OobeScreen::SCREEN_OOBE_NETWORK);
1197 CheckCurrentScreen(WizardController::kNetworkScreenName); 1190 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
1198 EXPECT_CALL(*mock_enrollment_screen_->actor(), 1191 EXPECT_CALL(*mock_enrollment_screen_->actor(),
1199 SetParameters( 1192 SetParameters(
1200 mock_enrollment_screen_, 1193 mock_enrollment_screen_,
1201 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL))) 1194 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL)))
1202 .Times(1); 1195 .Times(1);
1203 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 1196 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
1204 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 1197 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
1205 1198
1206 WizardController::default_controller()->AdvanceToScreen( 1199 WizardController::default_controller()->AdvanceToScreen(
1207 WizardController::kEnrollmentScreenName); 1200 OobeScreen::SCREEN_OOBE_ENROLLMENT);
1208 CheckCurrentScreen(WizardController::kEnrollmentScreenName); 1201 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT);
1209 } 1202 }
1210 1203
1211 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest, 1204 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest,
1212 ControlFlowResumeInterruptedOobe) { 1205 ControlFlowResumeInterruptedOobe) {
1213 EXPECT_EQ(WizardController::kEnrollmentScreenName, GetFirstScreenName()); 1206 EXPECT_EQ(OobeScreen::SCREEN_OOBE_ENROLLMENT, GetFirstScreen());
1214 } 1207 }
1215 1208
1216 // TODO(dzhioev): Add test emaulating device with wrong HWID. 1209 // TODO(dzhioev): Add test emaulating device with wrong HWID.
1217 1210
1218 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 1211 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571
1219 1212
1220 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when 1213 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when
1221 // UI and logic is ready. http://crbug.com/127016 1214 // UI and logic is ready. http://crbug.com/127016
1222 1215
1223 // TODO(dzhioev): Add tests for controller/host pairing flow. 1216 // TODO(dzhioev): Add tests for controller/host pairing flow.
1224 // http://crbug.com/375191 1217 // http://crbug.com/375191
1225 1218
1226 // TODO(khmel): Add tests for Arc OptIn flow. 1219 // TODO(khmel): Add tests for Arc OptIn flow.
1227 // http://crbug.com/651144 1220 // http://crbug.com/651144
1228 static_assert(BaseScreenDelegate::EXIT_CODES_COUNT == 24, 1221 static_assert(BaseScreenDelegate::EXIT_CODES_COUNT == 24,
1229 "tests for new control flow are missing"); 1222 "tests for new control flow are missing");
1230 1223
1231 } // namespace chromeos 1224 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.cc ('k') | chrome/browser/chromeos/policy/device_local_account_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698