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

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

Issue 494473003: Generalize screen getting/instantiation code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes Created 6 years, 3 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
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/prefs/pref_registry_simple.h" 9 #include "base/prefs/pref_registry_simple.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 205
206 H* actor() const { return actor_.get(); } 206 H* actor() const { return actor_.get(); }
207 207
208 MOCK_METHOD0(Show, void()); 208 MOCK_METHOD0(Show, void());
209 MOCK_METHOD0(Hide, void()); 209 MOCK_METHOD0(Hide, void());
210 210
211 private: 211 private:
212 scoped_ptr<H> actor_; 212 scoped_ptr<H> actor_;
213 }; 213 };
214 214
215 #define MOCK(mock_var, screen_name, mocked_class, actor_class) \ 215 #define MOCK(mock_var, screen_name, mocked_class, actor_class) \
216 mock_var = new MockOutShowHide<mocked_class, actor_class>( \ 216 mock_var = new MockOutShowHide<mocked_class, actor_class>( \
217 WizardController::default_controller(), new actor_class); \ 217 WizardController::default_controller(), new actor_class); \
218 WizardController::default_controller()->screen_name.reset(mock_var); \ 218 WizardController::default_controller() \
219 EXPECT_CALL(*mock_var, Show()).Times(0); \ 219 ->screens_[WizardController::screen_name] = make_linked_ptr(mock_var); \
220 EXPECT_CALL(*mock_var, Show()).Times(0); \
220 EXPECT_CALL(*mock_var, Hide()).Times(0); 221 EXPECT_CALL(*mock_var, Hide()).Times(0);
221 222
222 class WizardControllerTest : public WizardInProcessBrowserTest { 223 class WizardControllerTest : public WizardInProcessBrowserTest {
223 protected: 224 protected:
224 WizardControllerTest() : WizardInProcessBrowserTest( 225 WizardControllerTest() : WizardInProcessBrowserTest(
225 WizardController::kTestNoScreenName) {} 226 WizardController::kTestNoScreenName) {}
226 virtual ~WizardControllerTest() {} 227 virtual ~WizardControllerTest() {}
227 228
228 virtual void SetUpOnMainThread() OVERRIDE { 229 virtual void SetUpOnMainThread() OVERRIDE {
229 AccessibilityManager::Get()-> 230 AccessibilityManager::Get()->
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 264
264 bool JSExecuteBooleanExpression(const std::string& expression) { 265 bool JSExecuteBooleanExpression(const std::string& expression) {
265 bool result; 266 bool result;
266 EXPECT_TRUE(content::ExecuteScriptAndExtractBool( 267 EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
267 GetWebContents(), 268 GetWebContents(),
268 "window.domAutomationController.send(!!(" + expression + "));", 269 "window.domAutomationController.send(!!(" + expression + "));",
269 &result)); 270 &result));
270 return result; 271 return result;
271 } 272 }
272 273
274 void CheckCurrentScreen(const std::string& screen_name) {
275 EXPECT_EQ(WizardController::default_controller()->GetScreen(screen_name),
276 WizardController::default_controller()->current_screen());
277 }
278
273 private: 279 private:
274 DISALLOW_COPY_AND_ASSIGN(WizardControllerTest); 280 DISALLOW_COPY_AND_ASSIGN(WizardControllerTest);
275 }; 281 };
276 282
277 IN_PROC_BROWSER_TEST_F(WizardControllerTest, SwitchLanguage) { 283 IN_PROC_BROWSER_TEST_F(WizardControllerTest, SwitchLanguage) {
278 ASSERT_TRUE(WizardController::default_controller() != NULL); 284 ASSERT_TRUE(WizardController::default_controller() != NULL);
279 WizardController::default_controller()->AdvanceToScreen( 285 WizardController::default_controller()->AdvanceToScreen(
280 WizardController::kNetworkScreenName); 286 WizardController::kNetworkScreenName);
281 287
282 // Checking the default locale. Provided that the profile is cleared in SetUp. 288 // Checking the default locale. Provided that the profile is cleared in SetUp.
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 virtual void SetUpOnMainThread() OVERRIDE { 389 virtual void SetUpOnMainThread() OVERRIDE {
384 WizardControllerTest::SetUpOnMainThread(); 390 WizardControllerTest::SetUpOnMainThread();
385 391
386 // Make sure that OOBE is run as an "official" build. 392 // Make sure that OOBE is run as an "official" build.
387 WizardController::default_controller()->is_official_build_ = true; 393 WizardController::default_controller()->is_official_build_ = true;
388 394
389 // Clear portal list (as it is by default in OOBE). 395 // Clear portal list (as it is by default in OOBE).
390 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); 396 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList("");
391 397
392 // Set up the mocks for all screens. 398 // Set up the mocks for all screens.
393 MOCK(mock_network_screen_, network_screen_, 399 MOCK(mock_network_screen_,
394 MockNetworkScreen, MockNetworkScreenActor); 400 kNetworkScreenName,
395 MOCK(mock_update_screen_, update_screen_, 401 MockNetworkScreen,
396 MockUpdateScreen, MockUpdateScreenActor); 402 MockNetworkScreenActor);
397 MOCK(mock_eula_screen_, eula_screen_, MockEulaScreen, MockEulaScreenActor); 403 MOCK(mock_update_screen_,
398 MOCK(mock_enrollment_screen_, enrollment_screen_, 404 kUpdateScreenName,
399 MockEnrollmentScreen, MockEnrollmentScreenActor); 405 MockUpdateScreen,
400 MOCK(mock_auto_enrollment_check_screen_, auto_enrollment_check_screen_, 406 MockUpdateScreenActor);
401 MockAutoEnrollmentCheckScreen, MockAutoEnrollmentCheckScreenActor); 407 MOCK(mock_eula_screen_,
408 kEulaScreenName,
409 MockEulaScreen,
410 MockEulaScreenActor);
411 MOCK(mock_enrollment_screen_,
412 kEnrollmentScreenName,
413 MockEnrollmentScreen,
414 MockEnrollmentScreenActor);
415 MOCK(mock_auto_enrollment_check_screen_,
416 kAutoEnrollmentCheckScreenName,
417 MockAutoEnrollmentCheckScreen,
418 MockAutoEnrollmentCheckScreenActor);
402 419
403 // Switch to the initial screen. 420 // Switch to the initial screen.
404 EXPECT_EQ(NULL, WizardController::default_controller()->current_screen()); 421 EXPECT_EQ(NULL, WizardController::default_controller()->current_screen());
405 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 422 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
406 WizardController::default_controller()->AdvanceToScreen( 423 WizardController::default_controller()->AdvanceToScreen(
407 WizardController::kNetworkScreenName); 424 WizardController::kNetworkScreenName);
408 } 425 }
409 426
410 virtual void TearDown() { 427 virtual void TearDown() {
411 if (fallback_fetcher_factory_) { 428 if (fallback_fetcher_factory_) {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 if (!WizardController::default_controller() 469 if (!WizardController::default_controller()
453 ->SetOnTimeZoneResolvedForTesting( 470 ->SetOnTimeZoneResolvedForTesting(
454 base::Bind(&TimeZoneTestRunner::OnResolved, 471 base::Bind(&TimeZoneTestRunner::OnResolved,
455 base::Unretained(runner.get())))) 472 base::Unretained(runner.get()))))
456 return; 473 return;
457 474
458 runner->Run(); 475 runner->Run();
459 } 476 }
460 477
461 void ResetAutoEnrollmentCheckScreen() { 478 void ResetAutoEnrollmentCheckScreen() {
462 WizardController::default_controller()-> 479 WizardController::default_controller()->screens_.erase(
463 auto_enrollment_check_screen_.reset(); 480 WizardController::kAutoEnrollmentCheckScreenName);
464 } 481 }
465 482
466 MockOutShowHide<MockNetworkScreen, MockNetworkScreenActor>* 483 MockOutShowHide<MockNetworkScreen, MockNetworkScreenActor>*
467 mock_network_screen_; 484 mock_network_screen_;
468 MockOutShowHide<MockUpdateScreen, MockUpdateScreenActor>* mock_update_screen_; 485 MockOutShowHide<MockUpdateScreen, MockUpdateScreenActor>* mock_update_screen_;
469 MockOutShowHide<MockEulaScreen, MockEulaScreenActor>* mock_eula_screen_; 486 MockOutShowHide<MockEulaScreen, MockEulaScreenActor>* mock_eula_screen_;
470 MockOutShowHide<MockEnrollmentScreen, 487 MockOutShowHide<MockEnrollmentScreen,
471 MockEnrollmentScreenActor>* mock_enrollment_screen_; 488 MockEnrollmentScreenActor>* mock_enrollment_screen_;
472 MockOutShowHide<MockAutoEnrollmentCheckScreen, 489 MockOutShowHide<MockAutoEnrollmentCheckScreen,
473 MockAutoEnrollmentCheckScreenActor>* mock_auto_enrollment_check_screen_; 490 MockAutoEnrollmentCheckScreenActor>* mock_auto_enrollment_check_screen_;
474 491
475 private: 492 private:
476 NetworkPortalDetectorTestImpl* network_portal_detector_; 493 NetworkPortalDetectorTestImpl* network_portal_detector_;
477 494
478 // Use a test factory as a fallback so we don't have to deal with other 495 // Use a test factory as a fallback so we don't have to deal with other
479 // requests. 496 // requests.
480 scoped_ptr<WizardControllerTestURLFetcherFactory> fallback_fetcher_factory_; 497 scoped_ptr<WizardControllerTestURLFetcherFactory> fallback_fetcher_factory_;
481 scoped_ptr<net::FakeURLFetcherFactory> fetcher_factory_; 498 scoped_ptr<net::FakeURLFetcherFactory> fetcher_factory_;
482 499
483 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest); 500 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest);
484 }; 501 };
485 502
486 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) { 503 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) {
487 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); 504 EXPECT_TRUE(ExistingUserController::current_controller() == NULL);
488 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 505 CheckCurrentScreen(WizardController::kNetworkScreenName);
489 WizardController::default_controller()->current_screen());
490 506
491 WaitUntilJSIsReady(); 507 WaitUntilJSIsReady();
492 508
493 // Check visibility of the header bar. 509 // Check visibility of the header bar.
494 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden")); 510 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden"));
495 511
496 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 512 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
497 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 513 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
498 OnExit(ScreenObserver::NETWORK_CONNECTED); 514 OnExit(ScreenObserver::NETWORK_CONNECTED);
499 515
500 EXPECT_EQ(WizardController::default_controller()->GetEulaScreen(), 516 CheckCurrentScreen(WizardController::kEulaScreenName);
501 WizardController::default_controller()->current_screen());
502 517
503 // Header bar should still be visible. 518 // Header bar should still be visible.
504 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden")); 519 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden"));
505 520
506 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 521 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
507 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 522 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
508 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 523 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
509 // Enable TimeZone resolve 524 // Enable TimeZone resolve
510 InitTimezoneResolver(); 525 InitTimezoneResolver();
511 OnExit(ScreenObserver::EULA_ACCEPTED); 526 OnExit(ScreenObserver::EULA_ACCEPTED);
512 EXPECT_TRUE(GetGeolocationProvider()); 527 EXPECT_TRUE(GetGeolocationProvider());
513 // Let update screen smooth time process (time = 0ms). 528 // Let update screen smooth time process (time = 0ms).
514 content::RunAllPendingInMessageLoop(); 529 content::RunAllPendingInMessageLoop();
515 530
516 EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), 531 CheckCurrentScreen(WizardController::kUpdateScreenName);
517 WizardController::default_controller()->current_screen());
518 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 532 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
519 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 533 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
520 OnExit(ScreenObserver::UPDATE_INSTALLED); 534 OnExit(ScreenObserver::UPDATE_INSTALLED);
521 535
522 EXPECT_EQ( 536 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName);
523 WizardController::default_controller()->GetAutoEnrollmentCheckScreen(),
524 WizardController::default_controller()->current_screen());
525 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0); 537 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0);
526 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); 538 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0);
527 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 539 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
528 540
529 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 541 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
530 EXPECT_EQ("ethernet,wifi,cellular", 542 EXPECT_EQ("ethernet,wifi,cellular",
531 NetworkHandler::Get()->network_state_handler() 543 NetworkHandler::Get()->network_state_handler()
532 ->GetCheckPortalListForTest()); 544 ->GetCheckPortalListForTest());
533 545
534 WaitUntilTimezoneResolved(); 546 WaitUntilTimezoneResolved();
535 EXPECT_EQ("America/Anchorage", 547 EXPECT_EQ("America/Anchorage",
536 base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance() 548 base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance()
537 ->GetCurrentTimezoneID())); 549 ->GetCurrentTimezoneID()));
538 } 550 }
539 551
540 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { 552 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) {
541 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 553 CheckCurrentScreen(WizardController::kNetworkScreenName);
542 WizardController::default_controller()->current_screen());
543 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 554 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
544 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 555 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
545 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); 556 EXPECT_CALL(*mock_update_screen_, Show()).Times(0);
546 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 557 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
547 OnExit(ScreenObserver::NETWORK_CONNECTED); 558 OnExit(ScreenObserver::NETWORK_CONNECTED);
548 559
549 EXPECT_EQ(WizardController::default_controller()->GetEulaScreen(), 560 CheckCurrentScreen(WizardController::kEulaScreenName);
550 WizardController::default_controller()->current_screen());
551 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 561 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
552 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 562 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
553 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 563 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
554 OnExit(ScreenObserver::EULA_ACCEPTED); 564 OnExit(ScreenObserver::EULA_ACCEPTED);
555 // Let update screen smooth time process (time = 0ms). 565 // Let update screen smooth time process (time = 0ms).
556 content::RunAllPendingInMessageLoop(); 566 content::RunAllPendingInMessageLoop();
557 567
558 EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), 568 CheckCurrentScreen(WizardController::kUpdateScreenName);
559 WizardController::default_controller()->current_screen());
560 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 569 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
561 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 570 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
562 OnExit(ScreenObserver::UPDATE_ERROR_UPDATING); 571 OnExit(ScreenObserver::UPDATE_ERROR_UPDATING);
563 572
564 EXPECT_EQ( 573 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName);
565 WizardController::default_controller()->GetAutoEnrollmentCheckScreen(),
566 WizardController::default_controller()->current_screen());
567 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0); 574 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0);
568 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); 575 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0);
569 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 576 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
570 577
571 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 578 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
572 } 579 }
573 580
574 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowSkipUpdateEnroll) { 581 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowSkipUpdateEnroll) {
575 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 582 CheckCurrentScreen(WizardController::kNetworkScreenName);
576 WizardController::default_controller()->current_screen());
577 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 583 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
578 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 584 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
579 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); 585 EXPECT_CALL(*mock_update_screen_, Show()).Times(0);
580 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 586 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
581 OnExit(ScreenObserver::NETWORK_CONNECTED); 587 OnExit(ScreenObserver::NETWORK_CONNECTED);
582 588
583 EXPECT_EQ(WizardController::default_controller()->GetEulaScreen(), 589 CheckCurrentScreen(WizardController::kEulaScreenName);
584 WizardController::default_controller()->current_screen());
585 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 590 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
586 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 591 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
587 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); 592 EXPECT_CALL(*mock_update_screen_, Show()).Times(0);
588 WizardController::default_controller()->SkipUpdateEnrollAfterEula(); 593 WizardController::default_controller()->SkipUpdateEnrollAfterEula();
589 EXPECT_CALL(*mock_enrollment_screen_->actor(), 594 EXPECT_CALL(*mock_enrollment_screen_->actor(),
590 SetParameters(mock_enrollment_screen_, 595 SetParameters(mock_enrollment_screen_,
591 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL, 596 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL,
592 "")) 597 ""))
593 .Times(1); 598 .Times(1);
594 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 599 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
595 OnExit(ScreenObserver::EULA_ACCEPTED); 600 OnExit(ScreenObserver::EULA_ACCEPTED);
596 content::RunAllPendingInMessageLoop(); 601 content::RunAllPendingInMessageLoop();
597 602
598 EXPECT_EQ( 603 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName);
599 WizardController::default_controller()->GetAutoEnrollmentCheckScreen(),
600 WizardController::default_controller()->current_screen());
601 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 604 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
602 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 605 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
603 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(0); 606 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(0);
604 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 607 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
605 content::RunAllPendingInMessageLoop(); 608 content::RunAllPendingInMessageLoop();
606 609
607 EXPECT_EQ(WizardController::default_controller()->GetEnrollmentScreen(), 610 CheckCurrentScreen(WizardController::kEnrollmentScreenName);
608 WizardController::default_controller()->current_screen());
609 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); 611 EXPECT_TRUE(ExistingUserController::current_controller() == NULL);
610 EXPECT_EQ("ethernet,wifi,cellular", 612 EXPECT_EQ("ethernet,wifi,cellular",
611 NetworkHandler::Get()->network_state_handler() 613 NetworkHandler::Get()->network_state_handler()
612 ->GetCheckPortalListForTest()); 614 ->GetCheckPortalListForTest());
613 } 615 }
614 616
615 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) { 617 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) {
616 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 618 CheckCurrentScreen(WizardController::kNetworkScreenName);
617 WizardController::default_controller()->current_screen());
618 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 619 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
619 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 620 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
620 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 621 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
621 OnExit(ScreenObserver::NETWORK_CONNECTED); 622 OnExit(ScreenObserver::NETWORK_CONNECTED);
622 623
623 EXPECT_EQ(WizardController::default_controller()->GetEulaScreen(), 624 CheckCurrentScreen(WizardController::kEulaScreenName);
624 WizardController::default_controller()->current_screen());
625 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 625 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
626 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 626 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
627 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition 627 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition
628 OnExit(ScreenObserver::EULA_BACK); 628 OnExit(ScreenObserver::EULA_BACK);
629 629
630 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 630 CheckCurrentScreen(WizardController::kNetworkScreenName);
631 WizardController::default_controller()->current_screen());
632 } 631 }
633 632
634 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, 633 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest,
635 ControlFlowEnrollmentCompleted) { 634 ControlFlowEnrollmentCompleted) {
636 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 635 CheckCurrentScreen(WizardController::kNetworkScreenName);
637 WizardController::default_controller()->current_screen());
638 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 636 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
639 EXPECT_CALL(*mock_enrollment_screen_->actor(), 637 EXPECT_CALL(*mock_enrollment_screen_->actor(),
640 SetParameters(mock_enrollment_screen_, 638 SetParameters(mock_enrollment_screen_,
641 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL, 639 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL,
642 "")) 640 ""))
643 .Times(1); 641 .Times(1);
644 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 642 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
645 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 643 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
646 644
647 WizardController::default_controller()->AdvanceToScreen( 645 WizardController::default_controller()->AdvanceToScreen(
648 WizardController::kEnrollmentScreenName); 646 WizardController::kEnrollmentScreenName);
649 EnrollmentScreen* screen = 647 CheckCurrentScreen(WizardController::kEnrollmentScreenName);
650 WizardController::default_controller()->GetEnrollmentScreen();
651 EXPECT_EQ(screen, WizardController::default_controller()->current_screen());
652 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED); 648 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED);
653 649
654 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 650 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
655 } 651 }
656 652
657 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, 653 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest,
658 ControlFlowAutoEnrollmentCompleted) { 654 ControlFlowAutoEnrollmentCompleted) {
659 WizardController::default_controller()->SkipPostLoginScreensForTesting(); 655 WizardController::default_controller()->SkipPostLoginScreensForTesting();
660 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 656 CheckCurrentScreen(WizardController::kNetworkScreenName);
661 WizardController::default_controller()->current_screen());
662 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 657 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
663 658
664 UserContext user_context(kUsername); 659 UserContext user_context(kUsername);
665 user_context.SetKey(Key(kPassword)); 660 user_context.SetKey(Key(kPassword));
666 user_context.SetUserIDHash(user_context.GetUserID()); 661 user_context.SetUserIDHash(user_context.GetUserID());
667 LoginUtils::Set(new TestLoginUtils(user_context)); 662 LoginUtils::Set(new TestLoginUtils(user_context));
668 MockAuthStatusConsumer mock_consumer; 663 MockAuthStatusConsumer mock_consumer;
669 664
670 // Must have a pending signin to resume after auto-enrollment: 665 // Must have a pending signin to resume after auto-enrollment:
671 LoginDisplayHostImpl::default_host()->StartSignInScreen(LoginScreenContext()); 666 LoginDisplayHostImpl::default_host()->StartSignInScreen(LoginScreenContext());
672 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 667 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
673 ExistingUserController::current_controller()->DoAutoEnrollment(); 668 ExistingUserController::current_controller()->DoAutoEnrollment();
674 ExistingUserController::current_controller()->set_login_status_consumer( 669 ExistingUserController::current_controller()->set_login_status_consumer(
675 &mock_consumer); 670 &mock_consumer);
676 // This calls StartWizard, destroying the current controller() and its mocks; 671 // This calls StartWizard, destroying the current controller() and its mocks;
677 // don't set expectations on those objects. 672 // don't set expectations on those objects.
678 ExistingUserController::current_controller()->CompleteLogin(user_context); 673 ExistingUserController::current_controller()->CompleteLogin(user_context);
679 // Run the tasks posted to complete the login: 674 // Run the tasks posted to complete the login:
680 base::MessageLoop::current()->RunUntilIdle(); 675 base::MessageLoop::current()->RunUntilIdle();
681 676
682 EnrollmentScreen* screen = 677 CheckCurrentScreen(WizardController::kEnrollmentScreenName);
683 WizardController::default_controller()->GetEnrollmentScreen();
684 EXPECT_EQ(screen, WizardController::default_controller()->current_screen());
685 // This is the main expectation: after auto-enrollment, login is resumed. 678 // This is the main expectation: after auto-enrollment, login is resumed.
686 EXPECT_CALL(mock_consumer, OnAuthSuccess(_)).Times(1); 679 EXPECT_CALL(mock_consumer, OnAuthSuccess(_)).Times(1);
687 OnExit(ScreenObserver::ENTERPRISE_AUTO_MAGIC_ENROLLMENT_COMPLETED); 680 OnExit(ScreenObserver::ENTERPRISE_AUTO_MAGIC_ENROLLMENT_COMPLETED);
688 // Prevent browser launch when the profile is prepared: 681 // Prevent browser launch when the profile is prepared:
689 browser_shutdown::SetTryingToQuit(true); 682 browser_shutdown::SetTryingToQuit(true);
690 // Run the tasks posted to complete the login: 683 // Run the tasks posted to complete the login:
691 base::MessageLoop::current()->RunUntilIdle(); 684 base::MessageLoop::current()->RunUntilIdle();
692 } 685 }
693 686
694 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, 687 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest,
695 ControlFlowWrongHWIDScreenFromLogin) { 688 ControlFlowWrongHWIDScreenFromLogin) {
696 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 689 CheckCurrentScreen(WizardController::kNetworkScreenName);
697 WizardController::default_controller()->current_screen());
698 690
699 LoginDisplayHostImpl::default_host()->StartSignInScreen(LoginScreenContext()); 691 LoginDisplayHostImpl::default_host()->StartSignInScreen(LoginScreenContext());
700 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 692 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
701 ExistingUserController::current_controller()->ShowWrongHWIDScreen(); 693 ExistingUserController::current_controller()->ShowWrongHWIDScreen();
702 694
703 WrongHWIDScreen* screen = 695 CheckCurrentScreen(WizardController::kWrongHWIDScreenName);
704 WizardController::default_controller()->GetWrongHWIDScreen();
705 EXPECT_EQ(screen, WizardController::default_controller()->current_screen());
706 696
707 // After warning is skipped, user returns to sign-in screen. 697 // After warning is skipped, user returns to sign-in screen.
708 // And this destroys WizardController. 698 // And this destroys WizardController.
709 OnExit(ScreenObserver::WRONG_HWID_WARNING_SKIPPED); 699 OnExit(ScreenObserver::WRONG_HWID_WARNING_SKIPPED);
710 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 700 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
711 } 701 }
712 702
713 class WizardControllerEnrollmentFlowTest : public WizardControllerFlowTest { 703 class WizardControllerEnrollmentFlowTest : public WizardControllerFlowTest {
714 protected: 704 protected:
715 WizardControllerEnrollmentFlowTest() {} 705 WizardControllerEnrollmentFlowTest() {}
716 706
717 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { 707 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
718 WizardControllerFlowTest::SetUpCommandLine(command_line); 708 WizardControllerFlowTest::SetUpCommandLine(command_line);
719 709
720 command_line->AppendSwitchASCII( 710 command_line->AppendSwitchASCII(
721 switches::kEnterpriseEnableForcedReEnrollment, 711 switches::kEnterpriseEnableForcedReEnrollment,
722 chromeos::AutoEnrollmentController::kForcedReEnrollmentAlways); 712 chromeos::AutoEnrollmentController::kForcedReEnrollmentAlways);
723 command_line->AppendSwitchASCII( 713 command_line->AppendSwitchASCII(
724 switches::kEnterpriseEnrollmentInitialModulus, "1"); 714 switches::kEnterpriseEnrollmentInitialModulus, "1");
725 command_line->AppendSwitchASCII( 715 command_line->AppendSwitchASCII(
726 switches::kEnterpriseEnrollmentModulusLimit, "2"); 716 switches::kEnterpriseEnrollmentModulusLimit, "2");
727 } 717 }
728 718
729 private: 719 private:
730 DISALLOW_COPY_AND_ASSIGN(WizardControllerEnrollmentFlowTest); 720 DISALLOW_COPY_AND_ASSIGN(WizardControllerEnrollmentFlowTest);
731 }; 721 };
732 722
733 IN_PROC_BROWSER_TEST_F(WizardControllerEnrollmentFlowTest, 723 IN_PROC_BROWSER_TEST_F(WizardControllerEnrollmentFlowTest,
734 ControlFlowForcedReEnrollment) { 724 ControlFlowForcedReEnrollment) {
735 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 725 CheckCurrentScreen(WizardController::kNetworkScreenName);
736 WizardController::default_controller()->current_screen());
737 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 726 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
738 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 727 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
739 OnExit(ScreenObserver::NETWORK_CONNECTED); 728 OnExit(ScreenObserver::NETWORK_CONNECTED);
740 729
741 EXPECT_EQ(WizardController::default_controller()->GetEulaScreen(), 730 CheckCurrentScreen(WizardController::kEulaScreenName);
742 WizardController::default_controller()->current_screen());
743 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 731 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
744 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 732 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
745 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 733 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
746 OnExit(ScreenObserver::EULA_ACCEPTED); 734 OnExit(ScreenObserver::EULA_ACCEPTED);
747 // Let update screen smooth time process (time = 0ms). 735 // Let update screen smooth time process (time = 0ms).
748 content::RunAllPendingInMessageLoop(); 736 content::RunAllPendingInMessageLoop();
749 737
750 EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), 738 CheckCurrentScreen(WizardController::kUpdateScreenName);
751 WizardController::default_controller()->current_screen());
752 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 739 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
753 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 740 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
754 OnExit(ScreenObserver::UPDATE_INSTALLED); 741 OnExit(ScreenObserver::UPDATE_INSTALLED);
755 742
756 AutoEnrollmentCheckScreen* screen = 743 AutoEnrollmentCheckScreen* screen =
757 WizardController::default_controller()->GetAutoEnrollmentCheckScreen(); 744 WizardController::default_controller()->GetAutoEnrollmentCheckScreen();
758 EXPECT_EQ(screen, 745 EXPECT_EQ(screen,
759 WizardController::default_controller()->current_screen()); 746 WizardController::default_controller()->current_screen());
760 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 747 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
761 screen->Start(); 748 screen->Start();
(...skipping 12 matching lines...) Expand all
774 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 761 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
775 EXPECT_CALL(*mock_enrollment_screen_->actor(), 762 EXPECT_CALL(*mock_enrollment_screen_->actor(),
776 SetParameters(mock_enrollment_screen_, 763 SetParameters(mock_enrollment_screen_,
777 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED, 764 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED,
778 "")).Times(1); 765 "")).Times(1);
779 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 766 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
780 767
781 ResetAutoEnrollmentCheckScreen(); 768 ResetAutoEnrollmentCheckScreen();
782 769
783 // Make sure enterprise enrollment page shows up. 770 // Make sure enterprise enrollment page shows up.
784 EXPECT_EQ(WizardController::default_controller()->GetEnrollmentScreen(), 771 CheckCurrentScreen(WizardController::kEnrollmentScreenName);
785 WizardController::default_controller()->current_screen());
786 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED); 772 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED);
787 773
788 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); 774 EXPECT_TRUE(StartupUtils::IsOobeCompleted());
789 } 775 }
790 776
791 class WizardControllerBrokenLocalStateTest : public WizardControllerTest { 777 class WizardControllerBrokenLocalStateTest : public WizardControllerTest {
792 protected: 778 protected:
793 WizardControllerBrokenLocalStateTest() 779 WizardControllerBrokenLocalStateTest()
794 : fake_session_manager_client_(NULL) { 780 : fake_session_manager_client_(NULL) {
795 } 781 }
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
895 881
896 DISALLOW_COPY_AND_ASSIGN(WizardControllerProxyAuthOnSigninTest); 882 DISALLOW_COPY_AND_ASSIGN(WizardControllerProxyAuthOnSigninTest);
897 }; 883 };
898 884
899 IN_PROC_BROWSER_TEST_F(WizardControllerProxyAuthOnSigninTest, 885 IN_PROC_BROWSER_TEST_F(WizardControllerProxyAuthOnSigninTest,
900 ProxyAuthDialogOnSigninScreen) { 886 ProxyAuthDialogOnSigninScreen) {
901 content::WindowedNotificationObserver auth_needed_waiter( 887 content::WindowedNotificationObserver auth_needed_waiter(
902 chrome::NOTIFICATION_AUTH_NEEDED, 888 chrome::NOTIFICATION_AUTH_NEEDED,
903 content::NotificationService::AllSources()); 889 content::NotificationService::AllSources());
904 890
905 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 891 CheckCurrentScreen(WizardController::kNetworkScreenName);
906 WizardController::default_controller()->current_screen());
907 892
908 LoginDisplayHostImpl::default_host()->StartSignInScreen(LoginScreenContext()); 893 LoginDisplayHostImpl::default_host()->StartSignInScreen(LoginScreenContext());
909 auth_needed_waiter.Wait(); 894 auth_needed_waiter.Wait();
910 } 895 }
911 896
912 class WizardControllerKioskFlowTest : public WizardControllerFlowTest { 897 class WizardControllerKioskFlowTest : public WizardControllerFlowTest {
913 protected: 898 protected:
914 WizardControllerKioskFlowTest() {} 899 WizardControllerKioskFlowTest() {}
915 900
916 // Overridden from InProcessBrowserTest: 901 // Overridden from InProcessBrowserTest:
(...skipping 12 matching lines...) Expand all
929 914
930 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, 915 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest,
931 ControlFlowKioskForcedEnrollment) { 916 ControlFlowKioskForcedEnrollment) {
932 EXPECT_CALL(*mock_enrollment_screen_->actor(), 917 EXPECT_CALL(*mock_enrollment_screen_->actor(),
933 SetParameters(mock_enrollment_screen_, 918 SetParameters(mock_enrollment_screen_,
934 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED, 919 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED,
935 "")) 920 ""))
936 .Times(1); 921 .Times(1);
937 922
938 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); 923 EXPECT_TRUE(ExistingUserController::current_controller() == NULL);
939 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 924 CheckCurrentScreen(WizardController::kNetworkScreenName);
940 WizardController::default_controller()->current_screen());
941 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 925 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
942 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 926 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
943 OnExit(ScreenObserver::NETWORK_CONNECTED); 927 OnExit(ScreenObserver::NETWORK_CONNECTED);
944 928
945 EXPECT_EQ(WizardController::default_controller()->GetEulaScreen(), 929 CheckCurrentScreen(WizardController::kEulaScreenName);
946 WizardController::default_controller()->current_screen());
947 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 930 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
948 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 931 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
949 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 932 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
950 OnExit(ScreenObserver::EULA_ACCEPTED); 933 OnExit(ScreenObserver::EULA_ACCEPTED);
951 // Let update screen smooth time process (time = 0ms). 934 // Let update screen smooth time process (time = 0ms).
952 content::RunAllPendingInMessageLoop(); 935 content::RunAllPendingInMessageLoop();
953 936
954 EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), 937 CheckCurrentScreen(WizardController::kUpdateScreenName);
955 WizardController::default_controller()->current_screen());
956 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 938 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
957 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 939 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
958 OnExit(ScreenObserver::UPDATE_INSTALLED); 940 OnExit(ScreenObserver::UPDATE_INSTALLED);
959 941
960 EXPECT_EQ( 942 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName);
961 WizardController::default_controller()->GetAutoEnrollmentCheckScreen(),
962 WizardController::default_controller()->current_screen());
963 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 943 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
964 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 944 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
965 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 945 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
966 946
967 947
968 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 948 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
969 949
970 // Make sure enterprise enrollment page shows up right after update screen. 950 // Make sure enterprise enrollment page shows up right after update screen.
971 EnrollmentScreen* screen = 951 CheckCurrentScreen(WizardController::kEnrollmentScreenName);
972 WizardController::default_controller()->GetEnrollmentScreen();
973 EXPECT_EQ(screen, WizardController::default_controller()->current_screen());
974 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED); 952 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED);
975 953
976 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); 954 EXPECT_TRUE(StartupUtils::IsOobeCompleted());
977 } 955 }
978 956
979 957
980 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, 958 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest,
981 ControlFlowEnrollmentBack) { 959 ControlFlowEnrollmentBack) {
982 EXPECT_CALL(*mock_enrollment_screen_->actor(), 960 EXPECT_CALL(*mock_enrollment_screen_->actor(),
983 SetParameters(mock_enrollment_screen_, 961 SetParameters(mock_enrollment_screen_,
984 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED, 962 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED,
985 "")) 963 ""))
986 .Times(1); 964 .Times(1);
987 965
988 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); 966 EXPECT_TRUE(ExistingUserController::current_controller() == NULL);
989 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 967 CheckCurrentScreen(WizardController::kNetworkScreenName);
990 WizardController::default_controller()->current_screen());
991 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 968 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
992 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 969 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
993 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 970 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
994 OnExit(ScreenObserver::NETWORK_CONNECTED); 971 OnExit(ScreenObserver::NETWORK_CONNECTED);
995 972
996 EXPECT_EQ(WizardController::default_controller()->GetEulaScreen(), 973 CheckCurrentScreen(WizardController::kEulaScreenName);
997 WizardController::default_controller()->current_screen());
998 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 974 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
999 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 975 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
1000 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 976 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
1001 OnExit(ScreenObserver::EULA_ACCEPTED); 977 OnExit(ScreenObserver::EULA_ACCEPTED);
1002 // Let update screen smooth time process (time = 0ms). 978 // Let update screen smooth time process (time = 0ms).
1003 content::RunAllPendingInMessageLoop(); 979 content::RunAllPendingInMessageLoop();
1004 980
1005 EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), 981 CheckCurrentScreen(WizardController::kUpdateScreenName);
1006 WizardController::default_controller()->current_screen());
1007 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 982 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
1008 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 983 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
1009 OnExit(ScreenObserver::UPDATE_INSTALLED); 984 OnExit(ScreenObserver::UPDATE_INSTALLED);
1010 985
1011 EXPECT_EQ( 986 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName);
1012 WizardController::default_controller()->GetAutoEnrollmentCheckScreen(),
1013 WizardController::default_controller()->current_screen());
1014 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 987 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
1015 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 988 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
1016 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(1); 989 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(1);
1017 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 990 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
1018 991
1019 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 992 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
1020 993
1021 // Make sure enterprise enrollment page shows up right after update screen. 994 // Make sure enterprise enrollment page shows up right after update screen.
1022 EnrollmentScreen* screen = 995 CheckCurrentScreen(WizardController::kEnrollmentScreenName);
1023 WizardController::default_controller()->GetEnrollmentScreen();
1024 EXPECT_EQ(screen, WizardController::default_controller()->current_screen());
1025 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_BACK); 996 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_BACK);
1026 997
1027 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 998 CheckCurrentScreen(WizardController::kNetworkScreenName);
1028 WizardController::default_controller()->current_screen());
1029 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 999 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
1030 } 1000 }
1031 1001
1032 class WizardControllerOobeResumeTest : public WizardControllerTest { 1002 class WizardControllerOobeResumeTest : public WizardControllerTest {
1033 protected: 1003 protected:
1034 WizardControllerOobeResumeTest() {} 1004 WizardControllerOobeResumeTest() {}
1035 // Overriden from InProcessBrowserTest: 1005 // Overriden from InProcessBrowserTest:
1036 virtual void SetUpOnMainThread() OVERRIDE { 1006 virtual void SetUpOnMainThread() OVERRIDE {
1037 WizardControllerTest::SetUpOnMainThread(); 1007 WizardControllerTest::SetUpOnMainThread();
1038 1008
1039 // Make sure that OOBE is run as an "official" build. 1009 // Make sure that OOBE is run as an "official" build.
1040 WizardController::default_controller()->is_official_build_ = true; 1010 WizardController::default_controller()->is_official_build_ = true;
1041 1011
1042 // Clear portal list (as it is by default in OOBE). 1012 // Clear portal list (as it is by default in OOBE).
1043 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); 1013 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList("");
1044 1014
1045 // Set up the mocks for all screens. 1015 // Set up the mocks for all screens.
1046 MOCK(mock_network_screen_, network_screen_, 1016 MOCK(mock_network_screen_,
1047 MockNetworkScreen, MockNetworkScreenActor); 1017 kNetworkScreenName,
1048 MOCK(mock_enrollment_screen_, enrollment_screen_, 1018 MockNetworkScreen,
1049 MockEnrollmentScreen, MockEnrollmentScreenActor); 1019 MockNetworkScreenActor);
1020 MOCK(mock_enrollment_screen_,
1021 kEnrollmentScreenName,
1022 MockEnrollmentScreen,
1023 MockEnrollmentScreenActor);
1050 } 1024 }
1051 1025
1052 void OnExit(ScreenObserver::ExitCodes exit_code) { 1026 void OnExit(ScreenObserver::ExitCodes exit_code) {
1053 WizardController::default_controller()->OnExit(exit_code); 1027 WizardController::default_controller()->OnExit(exit_code);
1054 } 1028 }
1055 1029
1056 std::string GetFirstScreenName() { 1030 std::string GetFirstScreenName() {
1057 return WizardController::default_controller()->first_screen_name(); 1031 return WizardController::default_controller()->first_screen_name();
1058 } 1032 }
1059 1033
1060 MockOutShowHide<MockNetworkScreen, MockNetworkScreenActor>* 1034 MockOutShowHide<MockNetworkScreen, MockNetworkScreenActor>*
1061 mock_network_screen_; 1035 mock_network_screen_;
1062 MockOutShowHide<MockEnrollmentScreen, 1036 MockOutShowHide<MockEnrollmentScreen,
1063 MockEnrollmentScreenActor>* mock_enrollment_screen_; 1037 MockEnrollmentScreenActor>* mock_enrollment_screen_;
1064 1038
1065 private: 1039 private:
1066 DISALLOW_COPY_AND_ASSIGN(WizardControllerOobeResumeTest); 1040 DISALLOW_COPY_AND_ASSIGN(WizardControllerOobeResumeTest);
1067 }; 1041 };
1068 1042
1069 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest, 1043 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest,
1070 PRE_ControlFlowResumeInterruptedOobe) { 1044 PRE_ControlFlowResumeInterruptedOobe) {
1071 // Switch to the initial screen. 1045 // Switch to the initial screen.
1072 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 1046 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
1073 WizardController::default_controller()->AdvanceToScreen( 1047 WizardController::default_controller()->AdvanceToScreen(
1074 WizardController::kNetworkScreenName); 1048 WizardController::kNetworkScreenName);
1075 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 1049 CheckCurrentScreen(WizardController::kNetworkScreenName);
1076 WizardController::default_controller()->current_screen());
1077 EXPECT_CALL(*mock_enrollment_screen_->actor(), 1050 EXPECT_CALL(*mock_enrollment_screen_->actor(),
1078 SetParameters(mock_enrollment_screen_, 1051 SetParameters(mock_enrollment_screen_,
1079 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL, 1052 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL,
1080 "")) 1053 "")).Times(1);
1081 .Times(1);
1082 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 1054 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
1083 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 1055 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
1084 1056
1085 WizardController::default_controller()->AdvanceToScreen( 1057 WizardController::default_controller()->AdvanceToScreen(
1086 WizardController::kEnrollmentScreenName); 1058 WizardController::kEnrollmentScreenName);
1087 EXPECT_EQ(WizardController::default_controller()->GetEnrollmentScreen(), 1059 CheckCurrentScreen(WizardController::kEnrollmentScreenName);
1088 WizardController::default_controller()->current_screen());
1089 } 1060 }
1090 1061
1091 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest, 1062 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest,
1092 ControlFlowResumeInterruptedOobe) { 1063 ControlFlowResumeInterruptedOobe) {
1093 EXPECT_EQ(WizardController::kEnrollmentScreenName, GetFirstScreenName()); 1064 EXPECT_EQ(WizardController::kEnrollmentScreenName, GetFirstScreenName());
1094 } 1065 }
1095 1066
1096 // TODO(dzhioev): Add test emaulating device with wrong HWID. 1067 // TODO(dzhioev): Add test emaulating device with wrong HWID.
1097 1068
1098 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 1069 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571
1099 1070
1100 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when 1071 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when
1101 // UI and logic is ready. http://crbug.com/127016 1072 // UI and logic is ready. http://crbug.com/127016
1102 1073
1103 // TODO(dzhioev): Add tests for controller/host pairing flow. 1074 // TODO(dzhioev): Add tests for controller/host pairing flow.
1104 // http://crbug.com/375191 1075 // http://crbug.com/375191
1105 1076
1106 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 23, 1077 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 23,
1107 add_tests_for_new_control_flow_you_just_introduced); 1078 add_tests_for_new_control_flow_you_just_introduced);
1108 1079
1109 } // namespace chromeos 1080 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698