blob: a1fa09897d95aa421245e2716513aa77624a4a3f [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chromeos/components/tether/fake_notification_presenter.h"
#include "base/bind.h"
#include "base/memory/ptr_util.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace chromeos {
namespace tether {
FakeNotificationPresenter::FakeNotificationPresenter()
: NotificationPresenter(),
potential_hotspot_state_(
NotificationPresenter::PotentialHotspotNotificationState::
NO_HOTSPOT_NOTIFICATION_SHOWN),
is_setup_required_notification_shown_(false),
is_connection_failed_notification_shown_(false) {}
FakeNotificationPresenter::~FakeNotificationPresenter() = default;
base::Optional<multidevice::RemoteDeviceRef>
FakeNotificationPresenter::GetPotentialHotspotRemoteDevice() {
EXPECT_EQ(potential_hotspot_state_,
NotificationPresenter::PotentialHotspotNotificationState::
SINGLE_HOTSPOT_NEARBY_SHOWN);
return potential_hotspot_remote_device_;
}
void FakeNotificationPresenter::NotifyPotentialHotspotNearby(
multidevice::RemoteDeviceRef remote_device,
int signal_strength) {
potential_hotspot_state_ = NotificationPresenter::
PotentialHotspotNotificationState::SINGLE_HOTSPOT_NEARBY_SHOWN;
potential_hotspot_remote_device_ = remote_device;
}
void FakeNotificationPresenter::NotifyMultiplePotentialHotspotsNearby() {
potential_hotspot_state_ = NotificationPresenter::
PotentialHotspotNotificationState::MULTIPLE_HOTSPOTS_NEARBY_SHOWN;
}
NotificationPresenter::PotentialHotspotNotificationState
FakeNotificationPresenter::GetPotentialHotspotNotificationState() {
return potential_hotspot_state_;
}
void FakeNotificationPresenter::RemovePotentialHotspotNotification() {
potential_hotspot_state_ = NotificationPresenter::
PotentialHotspotNotificationState::NO_HOTSPOT_NOTIFICATION_SHOWN;
}
void FakeNotificationPresenter::NotifySetupRequired(
const std::string& device_name,
int signal_strength) {
is_setup_required_notification_shown_ = true;
}
void FakeNotificationPresenter::RemoveSetupRequiredNotification() {
is_setup_required_notification_shown_ = false;
}
void FakeNotificationPresenter::NotifyConnectionToHostFailed() {
is_connection_failed_notification_shown_ = true;
}
void FakeNotificationPresenter::RemoveConnectionToHostFailedNotification() {
is_connection_failed_notification_shown_ = false;
}
} // namespace tether
} // namespace chromeos