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) {
} else if (action_id == kUserActionOfflineSetup) {
demo_controller_->EnrollOffline();
} else if (action_id == kUserActionClose) {
Finish(ScreenExitCode::DEMO_MODE_SETUP_CLOSED);
Finish(ScreenExitCode::DEMO_MODE_SETUP_CANCELED);
} else {
BaseScreen::OnUserAction(action_id);
}
......@@ -59,7 +59,7 @@ void DemoSetupScreen::OnSetupError() {
}
void DemoSetupScreen::OnSetupSuccess() {
Finish(ScreenExitCode::DEMO_MODE_SETUP_CLOSED);
Finish(ScreenExitCode::DEMO_MODE_SETUP_FINISHED);
}
void DemoSetupScreen::OnViewDestroyed(DemoSetupScreenView* view) {
......
......@@ -72,8 +72,10 @@ std::string ExitCodeToString(ScreenExitCode code) {
return "WAIT_FOR_CONTAINER_READY_ERROR";
case ScreenExitCode::SYNC_CONSENT_FINISHED:
return "SYNC_CONSENT_FINISHED";
case ScreenExitCode::DEMO_MODE_SETUP_CLOSED:
return "DEMO_MODE_SETUP_CLOSED";
case ScreenExitCode::DEMO_MODE_SETUP_FINISHED:
return "DEMO_MODE_SETUP_FINISHED";
case ScreenExitCode::DEMO_MODE_SETUP_CANCELED:
return "DEMO_MODE_SETUP_CANCELED";
case ScreenExitCode::RECOMMEND_APPS_SKIPPED:
return "RECOMMEND_APPS_SKIPPED";
case ScreenExitCode::RECOMMEND_APPS_SELECTED:
......
......@@ -57,9 +57,10 @@ enum class ScreenExitCode {
WAIT_FOR_CONTAINER_READY_FINISHED = 30,
WAIT_FOR_CONTAINER_READY_ERROR = 31,
SYNC_CONSENT_FINISHED = 32,
DEMO_MODE_SETUP_CLOSED = 33,
RECOMMEND_APPS_SKIPPED = 34,
RECOMMEND_APPS_SELECTED = 35,
DEMO_MODE_SETUP_FINISHED = 33,
DEMO_MODE_SETUP_CANCELED = 34,
RECOMMEND_APPS_SKIPPED = 35,
RECOMMEND_APPS_SELECTED = 36,
EXIT_CODES_COUNT // not a real code, must be the last
};
......
......@@ -956,7 +956,12 @@ void WizardController::OnAutoEnrollmentCheckCompleted() {
weak_factory_.GetWeakPtr()));
}
void WizardController::OnDemoSetupClosed() {
void WizardController::OnDemoSetupFinished() {
PerformOOBECompletedActions();
ShowLoginScreen(LoginScreenContext());
}
void WizardController::OnDemoSetupCanceled() {
DCHECK(previous_screen_);
SetCurrentScreen(previous_screen_);
}
......@@ -1353,8 +1358,11 @@ void WizardController::OnExit(BaseScreen& /* screen */,
case ScreenExitCode::RECOMMEND_APPS_SELECTED:
// TODO(rsgingerrs): Actions if user selects some apps to install
break;
case ScreenExitCode::DEMO_MODE_SETUP_CLOSED:
OnDemoSetupClosed();
case ScreenExitCode::DEMO_MODE_SETUP_FINISHED:
OnDemoSetupFinished();
break;
case ScreenExitCode::DEMO_MODE_SETUP_CANCELED:
OnDemoSetupCanceled();
break;
default:
NOTREACHED();
......
......@@ -191,7 +191,8 @@ class WizardController : public BaseScreenDelegate,
void OnVoiceInteractionValuePropAccepted();
void OnControllerPairingFinished();
void OnAutoEnrollmentCheckCompleted();
void OnDemoSetupClosed();
void OnDemoSetupFinished();
void OnDemoSetupCanceled();
void OnWaitForContainerReadyFinished();
void OnOobeFlowFinished();
......
......@@ -1990,8 +1990,25 @@ class WizardControllerDemoSetupTest : public WizardControllerFlowTest {
DISALLOW_COPY_AND_ASSIGN(WizardControllerDemoSetupTest);
};
IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest,
CloseDemoSetupShouldShowSignIn) {
IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, DemoSetupFinished) {
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);
WaitUntilJSIsReady();
......@@ -2006,7 +2023,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest,
EXPECT_CALL(*mock_demo_setup_screen_, Hide()).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);
}
......@@ -2111,7 +2128,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerCellularFirstTest, CellularFirstFlow) {
// TODO(alemate): Add tests for Sync Consent 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");
} // 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