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

Unified Diff: ash/system/supervised/tray_supervised_user_unittest.cc

Issue 2832903002: cros: Remove supervised user methods from SystemTrayDelegate (Closed)
Patch Set: rebase Created 3 years, 8 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 | « ash/system/supervised/tray_supervised_user.cc ('k') | ash/system/tray/hover_highlight_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/system/supervised/tray_supervised_user_unittest.cc
diff --git a/ash/system/supervised/tray_supervised_user_unittest.cc b/ash/system/supervised/tray_supervised_user_unittest.cc
index 37c96c9643477a06981aa42bb6360f7cfa500e9f..6907a05ee513fd58d7031fb7e9a0f7b6ff9be3b8 100644
--- a/ash/system/supervised/tray_supervised_user_unittest.cc
+++ b/ash/system/supervised/tray_supervised_user_unittest.cc
@@ -7,13 +7,18 @@
#include "ash/login_status.h"
#include "ash/session/session_controller.h"
#include "ash/shell.h"
+#include "ash/system/tray/label_tray_view.h"
+#include "ash/system/tray/system_tray.h"
#include "ash/test/ash_test_base.h"
#include "ash/test/test_session_controller_client.h"
#include "ash/test/test_system_tray_delegate.h"
+#include "base/memory/ptr_util.h"
+#include "base/strings/utf_string_conversions.h"
#include "ui/message_center/message_center.h"
#include "ui/message_center/notification.h"
#include "ui/message_center/notification_list.h"
#include "ui/message_center/notification_types.h"
+#include "ui/views/view.h"
using message_center::NotificationList;
@@ -54,13 +59,71 @@ TEST_F(TraySupervisedUserTest, SupervisedUserHasNotification) {
// Simulate a supervised user logging in.
test::TestSessionControllerClient* client = GetSessionControllerClient();
client->Reset();
- client->AddUserSession("user1@test.com", user_manager::USER_TYPE_SUPERVISED);
+ client->AddUserSession("child@test.com", user_manager::USER_TYPE_SUPERVISED);
client->SetSessionState(session_manager::SessionState::ACTIVE);
+ // No notification because custodian email not available yet.
message_center::Notification* notification = GetPopup();
- ASSERT_NE(static_cast<message_center::Notification*>(NULL), notification);
+ EXPECT_FALSE(notification);
+
+ // Update the user session with the custodian data (which happens after the
+ // profile loads).
+ mojom::UserSessionPtr user_session = session->GetUserSession(0)->Clone();
+ user_session->custodian_email = "parent1@test.com";
+ session->UpdateUserSession(std::move(user_session));
+
+ // Notification is shown.
+ notification = GetPopup();
+ ASSERT_TRUE(notification);
EXPECT_EQ(static_cast<int>(message_center::SYSTEM_PRIORITY),
notification->rich_notification_data().priority);
+ EXPECT_EQ(
+ "Usage and history of this user can be reviewed by the manager "
+ "(parent1@test.com) on chrome.com.",
+ UTF16ToUTF8(notification->message()));
+
+ // Update the user session with new custodian data.
+ user_session = session->GetUserSession(0)->Clone();
+ user_session->custodian_email = "parent2@test.com";
+ session->UpdateUserSession(std::move(user_session));
+
+ // Notification is shown with updated message.
+ notification = GetPopup();
+ ASSERT_TRUE(notification);
+ EXPECT_EQ(
+ "Usage and history of this user can be reviewed by the manager "
+ "(parent2@test.com) on chrome.com.",
+ UTF16ToUTF8(notification->message()));
+}
+
+// Verifies an item is created for a supervised user.
+TEST_F(TraySupervisedUserTest, CreateDefaultView) {
+ TraySupervisedUser* tray =
+ GetPrimarySystemTray()->GetTraySupervisedUserForTesting();
+ SessionController* session = Shell::Get()->session_controller();
+ ASSERT_FALSE(session->IsActiveUserSessionStarted());
+
+ // Before login there is no supervised user item.
+ const LoginStatus unused = LoginStatus::NOT_LOGGED_IN;
+ EXPECT_FALSE(tray->CreateDefaultView(unused));
+
+ // Simulate a supervised user logging in.
+ test::TestSessionControllerClient* client = GetSessionControllerClient();
+ client->Reset();
+ client->AddUserSession("child@test.com", user_manager::USER_TYPE_SUPERVISED);
+ client->SetSessionState(session_manager::SessionState::ACTIVE);
+ mojom::UserSessionPtr user_session = session->GetUserSession(0)->Clone();
+ user_session->custodian_email = "parent@test.com";
+ session->UpdateUserSession(std::move(user_session));
+
+ // Now there is a supervised user item.
+ std::unique_ptr<views::View> view =
+ base::WrapUnique(tray->CreateDefaultView(unused));
+ ASSERT_TRUE(view);
+ EXPECT_EQ(
+ "Usage and history of this user can be reviewed by the manager "
+ "(parent@test.com) on chrome.com.",
+ UTF16ToUTF8(static_cast<LabelTrayView*>(view.get())->message()));
}
} // namespace ash
« no previous file with comments | « ash/system/supervised/tray_supervised_user.cc ('k') | ash/system/tray/hover_highlight_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698