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

Unified Diff: chrome/browser/chromeos/login/reset_browsertest.cc

Issue 653393002: Tests for improved reset options reworked. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/login/reset_browsertest.cc
diff --git a/chrome/browser/chromeos/login/reset_browsertest.cc b/chrome/browser/chromeos/login/reset_browsertest.cc
index 3625289401c75dc180d5da594fe9acd318f25b79..79a8552ea3c194e5c84f7244bb3cea74557490c3 100644
--- a/chrome/browser/chromeos/login/reset_browsertest.cc
+++ b/chrome/browser/chromeos/login/reset_browsertest.cc
@@ -77,6 +77,10 @@ class ResetTest : public LoginManagerTest {
ASSERT_TRUE(JSExecuted("cr.ui.Oobe.handleAccelerator('reset');"));
}
+ void HideRollbackOption() {
+ ASSERT_TRUE(JSExecuted("cr.ui.Oobe.handleAccelerator('reset');"));
+ }
+
void CloseResetScreen() {
ASSERT_TRUE(JSExecuted("$('reset-cancel-button').click();"));
}
@@ -91,6 +95,9 @@ class ResetTest : public LoginManagerTest {
void ClickToConfirmButton() {
ASSERT_TRUE(JSExecuted("$('reset-toconfirm-button').click();"));
}
+ void ClickDismissConfirmationButton() {
+ ASSERT_TRUE(JSExecuted("$('reset-confirm-dismiss').click();"));
+ }
FakeUpdateEngineClient* update_engine_client_;
FakeSessionManagerClient* session_manager_client_;
@@ -136,71 +143,146 @@ IN_PROC_BROWSER_TEST_F(ResetTest, RestartBeforePowerwash) {
EXPECT_TRUE(prefs->GetBoolean(prefs::kFactoryResetRequested));
}
-IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PRE_ShortcutInvokedCases) {
+IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PRE_ViewsLogic) {
PrefService* prefs = g_browser_process->local_state();
prefs->SetBoolean(prefs::kFactoryResetRequested, true);
RegisterSomeUser();
+ update_engine_client_->set_can_rollback_check_result(false);
}
-IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, ShortcutInvokedCases) {
- // rollback unavailable
+IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, ViewsLogic) {
+ PrefService* prefs = g_browser_process->local_state();
+
+ // Rollback unavailable. Show and cancel.
update_engine_client_->set_can_rollback_check_result(false);
+ JSExpect("document.querySelector('#reset').hidden");
+ JSExpect("document.querySelector('#overlay-reset').hidden");
+ InvokeResetScreen();
+ JSExpect("!document.querySelector('#reset').hidden");
+ JSExpect("document.querySelector('#overlay-reset').hidden");
+ CloseResetScreen();
+ JSExpect("document.querySelector('#reset').hidden");
+
+ // Go to confirmation phase, cancel from there in 2 steps.
+ prefs->SetBoolean(prefs::kFactoryResetRequested, true);
+ InvokeResetScreen();
+ JSExpect("document.querySelector('#overlay-reset').hidden");
+ ClickToConfirmButton();
+ JSExpect("!document.querySelector('#overlay-reset').hidden");
+ ClickDismissConfirmationButton();
+ JSExpect("document.querySelector('#overlay-reset').hidden");
+ JSExpect("!document.querySelector('#reset').hidden");
+ CloseResetScreen();
+ JSExpect("document.querySelector('#reset').hidden");
+
+ // Rollback available. Show and cancel from confirmation screen.
+ update_engine_client_->set_can_rollback_check_result(true);
+ prefs->SetBoolean(prefs::kFactoryResetRequested, true);
InvokeResetScreen();
- EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
- EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count());
- EXPECT_EQ(0, update_engine_client_->rollback_call_count());
InvokeRollbackOption();
+ JSExpect("document.querySelector('#overlay-reset').hidden");
ClickToConfirmButton();
- ClickResetButton();
- EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
- EXPECT_EQ(1, session_manager_client_->start_device_wipe_call_count());
- EXPECT_EQ(0, update_engine_client_->rollback_call_count());
+ JSExpect("!document.querySelector('#overlay-reset').hidden");
+ ClickDismissConfirmationButton();
+ JSExpect("document.querySelector('#overlay-reset').hidden");
+ JSExpect("!document.querySelector('#reset').hidden");
CloseResetScreen();
- OobeScreenWaiter(OobeDisplay::SCREEN_ACCOUNT_PICKER).Wait();
+ JSExpect("document.querySelector('#reset').hidden");
+}
+IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PRE_ShowAfterBootIfRequested) {
PrefService* prefs = g_browser_process->local_state();
prefs->SetBoolean(prefs::kFactoryResetRequested, true);
- update_engine_client_->set_can_rollback_check_result(true);
- // rollback available and unchecked
+ RegisterSomeUser();
+}
+
+IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, ShowAfterBootIfRequested) {
+ OobeScreenWaiter(OobeDisplay::SCREEN_OOBE_RESET).Wait();
+ JSExpect("!document.querySelector('#reset').hidden");
+ CloseResetScreen();
+ JSExpect("document.querySelector('#reset').hidden");
+}
+
+
+IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PRE_RollbackUnavailable) {
+ PrefService* prefs = g_browser_process->local_state();
+ prefs->SetBoolean(prefs::kFactoryResetRequested, true);
+ RegisterSomeUser();
+}
+
+IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, RollbackUnavailable) {
+ update_engine_client_->set_can_rollback_check_result(false);
+
InvokeResetScreen();
+ EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
+ EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count());
+ EXPECT_EQ(0, update_engine_client_->rollback_call_count());
+ InvokeRollbackOption(); // No changes
ClickToConfirmButton();
ClickResetButton();
EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
- EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count());
+ EXPECT_EQ(1, session_manager_client_->start_device_wipe_call_count());
EXPECT_EQ(0, update_engine_client_->rollback_call_count());
CloseResetScreen();
OobeScreenWaiter(OobeDisplay::SCREEN_ACCOUNT_PICKER).Wait();
+ // Next invocation leads to rollback view.
+ PrefService* prefs = g_browser_process->local_state();
prefs->SetBoolean(prefs::kFactoryResetRequested, true);
- // rollback available and checked
InvokeResetScreen();
- InvokeRollbackOption();
ClickToConfirmButton();
ClickResetButton();
EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count());
- EXPECT_EQ(1, update_engine_client_->rollback_call_count());
+ EXPECT_EQ(0, update_engine_client_->rollback_call_count());
+ CloseResetScreen();
}
-IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PRE_PowerwashRequested) {
+IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PRE_RollbackAvailable) {
PrefService* prefs = g_browser_process->local_state();
prefs->SetBoolean(prefs::kFactoryResetRequested, true);
RegisterSomeUser();
}
-IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PowerwashRequested) {
- OobeScreenWaiter(OobeDisplay::SCREEN_OOBE_RESET).Wait();
+IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, RollbackAvailable) {
+ update_engine_client_->set_can_rollback_check_result(true);
+ PrefService* prefs = g_browser_process->local_state();
+
+ InvokeResetScreen();
EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count());
EXPECT_EQ(0, update_engine_client_->rollback_call_count());
ClickToConfirmButton();
+ ClickResetButton();
EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
- EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count());
+ EXPECT_EQ(1, session_manager_client_->start_device_wipe_call_count());
EXPECT_EQ(0, update_engine_client_->rollback_call_count());
+ CloseResetScreen();
+ OobeScreenWaiter(OobeDisplay::SCREEN_ACCOUNT_PICKER).Wait();
+
+ // Next invocation leads to simple reset, not rollback view.
+ prefs->SetBoolean(prefs::kFactoryResetRequested, true);
+ InvokeResetScreen();
+ InvokeRollbackOption(); // Shows rollback.
+ ClickDismissConfirmationButton();
+ CloseResetScreen();
+ InvokeResetScreen();
+ ClickToConfirmButton();
ClickResetButton();
EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
- EXPECT_EQ(1, session_manager_client_->start_device_wipe_call_count());
+ EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count());
EXPECT_EQ(0, update_engine_client_->rollback_call_count());
+ CloseResetScreen();
+ OobeScreenWaiter(OobeDisplay::SCREEN_ACCOUNT_PICKER).Wait();
+
+ prefs->SetBoolean(prefs::kFactoryResetRequested, true);
+ InvokeResetScreen();
+ InvokeRollbackOption(); // Shows rollback.
+ ClickToConfirmButton();
+ ClickResetButton();
+ EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
+ EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count());
+ EXPECT_EQ(1, update_engine_client_->rollback_call_count());
}
IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PRE_ErrorOnRollbackRequested) {
@@ -230,30 +312,4 @@ IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, ErrorOnRollbackRequested) {
OobeScreenWaiter(OobeDisplay::SCREEN_ERROR_MESSAGE).Wait();
}
-IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest,
- PRE_SuccessOnRollbackRequested) {
- PrefService* prefs = g_browser_process->local_state();
- prefs->SetBoolean(prefs::kFactoryResetRequested, true);
- RegisterSomeUser();
-}
-
-IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, SuccessOnRollbackRequested) {
- update_engine_client_->set_can_rollback_check_result(true);
- OobeScreenWaiter(OobeDisplay::SCREEN_OOBE_RESET).Wait();
- LOG(ERROR) << "1";
- InvokeRollbackOption();
- ClickToConfirmButton();
- ClickResetButton();
- EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
- EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count());
- EXPECT_EQ(1, update_engine_client_->rollback_call_count());
- UpdateEngineClient::Status ready_for_reboot_status;
- ready_for_reboot_status.status =
- UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT;
- update_engine_client_->NotifyObserversThatStatusChanged(
- ready_for_reboot_status);
- EXPECT_EQ(1, power_manager_client_->num_request_restart_calls());
-}
-
-
} // namespace chromeos
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698