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