#include "chrome/browser/notifications/scheduler/internal/background_task_coordinator.h"
#include <map>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/test/task_environment.h"
#include "chrome/browser/notifications/scheduler/internal/notification_entry.h"
#include "chrome/browser/notifications/scheduler/internal/scheduler_config.h"
#include "chrome/browser/notifications/scheduler/public/notification_background_task_scheduler.h"
#include "chrome/browser/notifications/scheduler/test/fake_clock.h"
#include "chrome/browser/notifications/scheduler/test/mock_notification_background_task_scheduler.h"
#include "chrome/browser/notifications/scheduler/test/test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
_;
namespace notifications {
namespace {
Notifications;
ClientStates;
const char kNow[] = …;
const char kDeliverTimeWindowStart[] = …;
const char kDeliverTimeWindowEnd[] = …;
const char kTommorow[] = …;
const char kGuid[] = …;
const std::vector<test::ImpressionTestData> kSingleClientImpressionTestData = …;
const std::vector<test::ImpressionTestData> kClientsImpressionTestData = …;
struct TestData { … };
class BackgroundTaskCoordinatorTest : public testing::Test { … };
TEST_F(BackgroundTaskCoordinatorTest, NoNotification) { … }
TEST_F(BackgroundTaskCoordinatorTest, OneNotification) { … }
TEST_F(BackgroundTaskCoordinatorTest, ThrottlePerType) { … }
TEST_F(BackgroundTaskCoordinatorTest, ThrottleAllType) { … }
TEST_F(BackgroundTaskCoordinatorTest, ThrottlePerTypeNextDay) { … }
TEST_F(BackgroundTaskCoordinatorTest, DeliverWindowPassed) { … }
TEST_F(BackgroundTaskCoordinatorTest, Suppression) { … }
TEST_F(BackgroundTaskCoordinatorTest, DeliverTimeAfterSuppressionExpired) { … }
TEST_F(BackgroundTaskCoordinatorTest, MutipleNotifications) { … }
TEST_F(BackgroundTaskCoordinatorTest, NoThrottleNotifications) { … }
}
}