chromium/components/feature_engagement/internal/event_model_impl_unittest.cc

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/feature_engagement/internal/event_model_impl.h"

#include <memory>

#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/test_simple_task_runner.h"
#include "components/feature_engagement/internal/editable_configuration.h"
#include "components/feature_engagement/internal/in_memory_event_store.h"
#include "components/feature_engagement/internal/never_event_storage_validator.h"
#include "components/feature_engagement/internal/proto/feature_event.pb.h"
#include "components/feature_engagement/internal/test/event_util.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace feature_engagement {

namespace {

// A test-only implementation of InMemoryEventStore that tracks calls to
// WriteEvent(...).
class TestInMemoryEventStore : public InMemoryEventStore {};

class TestEventStorageValidator : public EventStorageValidator {};

// Creates a TestInMemoryEventStore containing three hard coded events.
std::unique_ptr<TestInMemoryEventStore> CreatePrefilledStore() {}

class EventModelImplTest : public ::testing::Test {};

class LoadFailingEventModelImplTest : public EventModelImplTest {};

}  // namespace

TEST_F(EventModelImplTest, InitializeShouldBeReadyImmediatelyAfterCallback) {}

TEST_F(EventModelImplTest, InitializeShouldLoadEntries) {}

TEST_F(EventModelImplTest, InitializeShouldOnlyLoadEntriesThatShouldBeKept) {}

TEST_F(EventModelImplTest, RetrievingNewEventsShouldYieldNullptr) {}

TEST_F(EventModelImplTest, IncrementingNonExistingEvent) {}

TEST_F(EventModelImplTest, IncrementingNonExistingEventMultipleDays) {}

TEST_F(EventModelImplTest, IncrementingNonExistingEventWithoutStoring) {}

TEST_F(EventModelImplTest, IncrementingExistingEventWithoutStoring) {}

TEST_F(EventModelImplTest, IncrementingSingleDayExistingEvent) {}

TEST_F(EventModelImplTest, IncrementingSingleDayExistingEventTwice) {}

TEST_F(EventModelImplTest, IncrementingExistingMultiDayEvent) {}

TEST_F(EventModelImplTest, IncrementingExistingMultiDayEventNewDay) {}

TEST_F(EventModelImplTest, IncrementingSnoozeEvent) {}

TEST_F(EventModelImplTest, DismissSnoozeEvent) {}

TEST_F(EventModelImplTest, GetLastSnoozeTimestamp) {}

TEST_F(EventModelImplTest, GetEventCount) {}

TEST_F(LoadFailingEventModelImplTest, FailedInitializeInformsCaller) {}

TEST_F(EventModelImplTest, ClearEvents) {}

}  // namespace feature_engagement