1 // Copyright 2020 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "chromeos/components/phonehub/phone_model_test_util.h"
6 
7 #include "base/no_destructor.h"
8 #include "base/strings/utf_string_conversions.h"
9 
10 namespace chromeos {
11 namespace phonehub {
12 
13 const char kFakeMobileProviderName[] = "Fake Mobile Provider";
14 
15 const PhoneStatusModel::MobileConnectionMetadata&
CreateFakeMobileConnectionMetadata()16 CreateFakeMobileConnectionMetadata() {
17   static const base::NoDestructor<PhoneStatusModel::MobileConnectionMetadata>
18       fake_mobile_connection_metadata{
19           {PhoneStatusModel::SignalStrength::kFourBars,
20            base::UTF8ToUTF16(kFakeMobileProviderName)}};
21   return *fake_mobile_connection_metadata;
22 }
23 
CreateFakePhoneStatusModel()24 const PhoneStatusModel& CreateFakePhoneStatusModel() {
25   static const base::NoDestructor<PhoneStatusModel> fake_phone_status_model{
26       PhoneStatusModel::MobileStatus::kSimWithReception,
27       CreateFakeMobileConnectionMetadata(),
28       PhoneStatusModel::ChargingState::kNotCharging,
29       PhoneStatusModel::BatterySaverState::kOff,
30       /*battery_percentage=*/100u};
31   return *fake_phone_status_model;
32 }
33 
34 const char kFakeBrowserTabUrl1[] = "https://www.example.com/tab1";
35 const char kFakeBrowserTabName1[] = "Tab 1";
36 const base::Time kFakeBrowserTabLastAccessedTimestamp1 =
37     base::Time::FromDoubleT(4);
38 
39 const char kFakeBrowserTabUrl2[] = "https://www.example.com/tab2";
40 const char kFakeBrowserTabName2[] = "Tab 2";
41 const base::Time kFakeBrowserTabLastAccessedTimestamp2 =
42     base::Time::FromDoubleT(3);
43 
CreateFakeBrowserTabMetadata()44 const BrowserTabsModel::BrowserTabMetadata& CreateFakeBrowserTabMetadata() {
45   static const base::NoDestructor<BrowserTabsModel::BrowserTabMetadata>
46       fake_browser_tab_metadata{
47           GURL(kFakeBrowserTabUrl1), base::UTF8ToUTF16(kFakeBrowserTabName1),
48           kFakeBrowserTabLastAccessedTimestamp1, gfx::Image()};
49   return *fake_browser_tab_metadata;
50 }
51 
CreateFakeBrowserTabsModel()52 const BrowserTabsModel& CreateFakeBrowserTabsModel() {
53   static const base::NoDestructor<BrowserTabsModel::BrowserTabMetadata>
54       second_browser_tab_metadata{
55           GURL(kFakeBrowserTabUrl2), base::UTF8ToUTF16(kFakeBrowserTabName2),
56           kFakeBrowserTabLastAccessedTimestamp2, gfx::Image()};
57 
58   static const base::NoDestructor<
59       std::vector<BrowserTabsModel::BrowserTabMetadata>>
60       most_recent_tabs(
61           {CreateFakeBrowserTabMetadata(), *second_browser_tab_metadata});
62 
63   static const base::NoDestructor<BrowserTabsModel> fake_browser_tabs_model{
64       /*is_tab_sync_enabled=*/true, *most_recent_tabs};
65 
66   return *fake_browser_tabs_model;
67 }
68 
69 const char kFakeAppVisibleName[] = "Fake App";
70 const char kFakeAppPackageName[] = "com.fakeapp";
71 const int64_t kFakeAppId = 1234567890;
72 const int64_t kFakeInlineReplyId = 1337;
73 const char kFakeNotificationTitle[] = "Fake Title";
74 const char kFakeNotificationText[] = "Fake Text";
75 
CreateFakeAppMetadata()76 const Notification::AppMetadata& CreateFakeAppMetadata() {
77   static const base::NoDestructor<Notification::AppMetadata> fake_app_metadata{
78       base::UTF8ToUTF16(kFakeAppVisibleName), kFakeAppPackageName,
79       gfx::Image()};
80   return *fake_app_metadata;
81 }
82 
CreateFakeNotification()83 const Notification& CreateFakeNotification() {
84   static const base::NoDestructor<Notification> fake_notification{
85       kFakeAppId,
86       CreateFakeAppMetadata(),
87       base::Time(),
88       Notification::Importance::kDefault,
89       kFakeInlineReplyId,
90       base::UTF8ToUTF16(kFakeNotificationTitle),
91       base::UTF8ToUTF16(kFakeNotificationText)};
92   return *fake_notification;
93 }
94 
95 }  // namespace phonehub
96 }  // namespace chromeos
97