Commit 4ab23979 authored by Aga Wronska's avatar Aga Wronska Committed by Commit Bot

Split exit codes for Demo Mode Setup flow into FINISHED and CANCELED.

Bug: 827376
Test: Run WizardControllerDemoSetupTest
Change-Id: I84525ecf4b370fac104aba99e8da04eaf32342de
Reviewed-on: https://chromium-review.googlesource.com/1088127Reviewed-by: default avatarAchuith Bhandarkar <achuith@chromium.org>
Commit-Queue: Aga Wronska <agawronska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565354}
parent 24dfd164
...@@ -48,7 +48,7 @@ void DemoSetupScreen::OnUserAction(const std::string& action_id) { ...@@ -48,7 +48,7 @@ void DemoSetupScreen::OnUserAction(const std::string& action_id) {
} else if (action_id == kUserActionOfflineSetup) { } else if (action_id == kUserActionOfflineSetup) {
demo_controller_->EnrollOffline(); demo_controller_->EnrollOffline();
} else if (action_id == kUserActionClose) { } else if (action_id == kUserActionClose) {
Finish(ScreenExitCode::DEMO_MODE_SETUP_CLOSED); Finish(ScreenExitCode::DEMO_MODE_SETUP_CANCELED);
} else { } else {
BaseScreen::OnUserAction(action_id); BaseScreen::OnUserAction(action_id);
} }
...@@ -59,7 +59,7 @@ void DemoSetupScreen::OnSetupError() { ...@@ -59,7 +59,7 @@ void DemoSetupScreen::OnSetupError() {
} }
void DemoSetupScreen::OnSetupSuccess() { void DemoSetupScreen::OnSetupSuccess() {
Finish(ScreenExitCode::DEMO_MODE_SETUP_CLOSED); Finish(ScreenExitCode::DEMO_MODE_SETUP_FINISHED);
} }
void DemoSetupScreen::OnViewDestroyed(DemoSetupScreenView* view) { void DemoSetupScreen::OnViewDestroyed(DemoSetupScreenView* view) {
......
...@@ -72,8 +72,10 @@ std::string ExitCodeToString(ScreenExitCode code) { ...@@ -72,8 +72,10 @@ std::string ExitCodeToString(ScreenExitCode code) {
return "WAIT_FOR_CONTAINER_READY_ERROR"; return "WAIT_FOR_CONTAINER_READY_ERROR";
case ScreenExitCode::SYNC_CONSENT_FINISHED: case ScreenExitCode::SYNC_CONSENT_FINISHED:
return "SYNC_CONSENT_FINISHED"; return "SYNC_CONSENT_FINISHED";
case ScreenExitCode::DEMO_MODE_SETUP_CLOSED: case ScreenExitCode::DEMO_MODE_SETUP_FINISHED:
return "DEMO_MODE_SETUP_CLOSED"; return "DEMO_MODE_SETUP_FINISHED";
case ScreenExitCode::DEMO_MODE_SETUP_CANCELED:
return "DEMO_MODE_SETUP_CANCELED";
case ScreenExitCode::RECOMMEND_APPS_SKIPPED: case ScreenExitCode::RECOMMEND_APPS_SKIPPED:
return "RECOMMEND_APPS_SKIPPED"; return "RECOMMEND_APPS_SKIPPED";
case ScreenExitCode::RECOMMEND_APPS_SELECTED: case ScreenExitCode::RECOMMEND_APPS_SELECTED:
......
...@@ -57,9 +57,10 @@ enum class ScreenExitCode { ...@@ -57,9 +57,10 @@ enum class ScreenExitCode {
WAIT_FOR_CONTAINER_READY_FINISHED = 30, WAIT_FOR_CONTAINER_READY_FINISHED = 30,
WAIT_FOR_CONTAINER_READY_ERROR = 31, WAIT_FOR_CONTAINER_READY_ERROR = 31,
SYNC_CONSENT_FINISHED = 32, SYNC_CONSENT_FINISHED = 32,
DEMO_MODE_SETUP_CLOSED = 33, DEMO_MODE_SETUP_FINISHED = 33,
RECOMMEND_APPS_SKIPPED = 34, DEMO_MODE_SETUP_CANCELED = 34,
RECOMMEND_APPS_SELECTED = 35, RECOMMEND_APPS_SKIPPED = 35,
RECOMMEND_APPS_SELECTED = 36,
EXIT_CODES_COUNT // not a real code, must be the last EXIT_CODES_COUNT // not a real code, must be the last
}; };
......
...@@ -956,7 +956,12 @@ void WizardController::OnAutoEnrollmentCheckCompleted() { ...@@ -956,7 +956,12 @@ void WizardController::OnAutoEnrollmentCheckCompleted() {
weak_factory_.GetWeakPtr())); weak_factory_.GetWeakPtr()));
} }
void WizardController::OnDemoSetupClosed() { void WizardController::OnDemoSetupFinished() {
PerformOOBECompletedActions();
ShowLoginScreen(LoginScreenContext());
}
void WizardController::OnDemoSetupCanceled() {
DCHECK(previous_screen_); DCHECK(previous_screen_);
SetCurrentScreen(previous_screen_); SetCurrentScreen(previous_screen_);
} }
...@@ -1353,8 +1358,11 @@ void WizardController::OnExit(BaseScreen& /* screen */, ...@@ -1353,8 +1358,11 @@ void WizardController::OnExit(BaseScreen& /* screen */,
case ScreenExitCode::RECOMMEND_APPS_SELECTED: case ScreenExitCode::RECOMMEND_APPS_SELECTED:
// TODO(rsgingerrs): Actions if user selects some apps to install // TODO(rsgingerrs): Actions if user selects some apps to install
break; break;
case ScreenExitCode::DEMO_MODE_SETUP_CLOSED: case ScreenExitCode::DEMO_MODE_SETUP_FINISHED:
OnDemoSetupClosed(); OnDemoSetupFinished();
break;
case ScreenExitCode::DEMO_MODE_SETUP_CANCELED:
OnDemoSetupCanceled();
break; break;
default: default:
NOTREACHED(); NOTREACHED();
......
...@@ -191,7 +191,8 @@ class WizardController : public BaseScreenDelegate, ...@@ -191,7 +191,8 @@ class WizardController : public BaseScreenDelegate,
void OnVoiceInteractionValuePropAccepted(); void OnVoiceInteractionValuePropAccepted();
void OnControllerPairingFinished(); void OnControllerPairingFinished();
void OnAutoEnrollmentCheckCompleted(); void OnAutoEnrollmentCheckCompleted();
void OnDemoSetupClosed(); void OnDemoSetupFinished();
void OnDemoSetupCanceled();
void OnWaitForContainerReadyFinished(); void OnWaitForContainerReadyFinished();
void OnOobeFlowFinished(); void OnOobeFlowFinished();
......
...@@ -1990,8 +1990,25 @@ class WizardControllerDemoSetupTest : public WizardControllerFlowTest { ...@@ -1990,8 +1990,25 @@ class WizardControllerDemoSetupTest : public WizardControllerFlowTest {
DISALLOW_COPY_AND_ASSIGN(WizardControllerDemoSetupTest); DISALLOW_COPY_AND_ASSIGN(WizardControllerDemoSetupTest);
}; };
IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, DemoSetupFinished) {
CloseDemoSetupShouldShowSignIn) { CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
WaitUntilJSIsReady();
EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
EXPECT_CALL(*mock_demo_setup_screen_, Show()).Times(1);
WizardController::default_controller()->AdvanceToScreen(
OobeScreen::SCREEN_OOBE_DEMO_SETUP);
CheckCurrentScreen(OobeScreen::SCREEN_OOBE_DEMO_SETUP);
OnExit(*mock_demo_setup_screen_, ScreenExitCode::DEMO_MODE_SETUP_FINISHED);
EXPECT_TRUE(StartupUtils::IsOobeCompleted());
EXPECT_TRUE(ExistingUserController::current_controller());
}
IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, DemoSetupCanceled) {
CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
WaitUntilJSIsReady(); WaitUntilJSIsReady();
...@@ -2006,7 +2023,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, ...@@ -2006,7 +2023,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest,
EXPECT_CALL(*mock_demo_setup_screen_, Hide()).Times(1); EXPECT_CALL(*mock_demo_setup_screen_, Hide()).Times(1);
EXPECT_CALL(*mock_network_screen_, Show()).Times(1); EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
OnExit(*mock_demo_setup_screen_, ScreenExitCode::DEMO_MODE_SETUP_CLOSED); OnExit(*mock_demo_setup_screen_, ScreenExitCode::DEMO_MODE_SETUP_CANCELED);
CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK);
} }
...@@ -2111,7 +2128,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerCellularFirstTest, CellularFirstFlow) { ...@@ -2111,7 +2128,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerCellularFirstTest, CellularFirstFlow) {
// TODO(alemate): Add tests for Sync Consent UI. // TODO(alemate): Add tests for Sync Consent UI.
// TODO(rsgingerrs): Add tests for Recommend Apps UI. // TODO(rsgingerrs): Add tests for Recommend Apps UI.
static_assert(static_cast<int>(ScreenExitCode::EXIT_CODES_COUNT) == 36, static_assert(static_cast<int>(ScreenExitCode::EXIT_CODES_COUNT) == 37,
"tests for new control flow are missing"); "tests for new control flow are missing");
} // namespace chromeos } // namespace chromeos
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment