chromium/components/compose/core/browser/compose_manager_impl_unittest.cc

// Copyright 2024 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/compose/core/browser/compose_manager_impl.h"

#include <memory>
#include <optional>
#include <utility>

#include "base/test/metrics/histogram_tester.h"
#include "base/test/task_environment.h"
#include "base/test/test_future.h"
#include "components/autofill/core/browser/mock_autofill_manager.h"
#include "components/autofill/core/browser/test_autofill_client.h"
#include "components/autofill/core/browser/test_autofill_driver.h"
#include "components/autofill/core/browser/ui/suggestion.h"
#include "components/autofill/core/browser/ui/suggestion_test_helpers.h"
#include "components/autofill/core/browser/ui/suggestion_type.h"
#include "components/autofill/core/common/autofill_test_utils.h"
#include "components/autofill/core/common/form_data.h"
#include "components/autofill/core/common/form_data_test_api.h"
#include "components/compose/core/browser/compose_client.h"
#include "components/compose/core/browser/compose_features.h"
#include "components/compose/core/browser/compose_metrics.h"
#include "components/compose/core/browser/config.h"
#include "components/strings/grit/components_strings.h"
#include "components/ukm/test_ukm_recorder.h"
#include "services/metrics/public/cpp/ukm_builders.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/l10n/l10n_util.h"
#include "url/gurl.h"

namespace {

EqualsSuggestion;
Suggestion;
SuggestionType;
_;
Optional;
Pair;
UnorderedElementsAre;
UiEntryPoint;

class MockComposeClient : public compose::ComposeClient {};

class MockAutofillDriver : public autofill::TestAutofillDriver {};

}  // namespace

class ComposeManagerImplTest : public testing::Test {};

TEST_F(
    ComposeManagerImplTest,
    SuggestionGeneration_HasSession_ComposeLostFocus_ApplyExpectedTextAndLabel) {}

TEST_F(
    ComposeManagerImplTest,
    SuggestionGeneration_ProactiveNudgeFeatureOn_DoesNotHaveSession_HasChildSuggestions) {}

TEST_F(
    ComposeManagerImplTest,
    SuggestionGeneration_ProactiveNudgeFeatureOn_HasSession_NoChildSuggestions) {}

TEST_F(
    ComposeManagerImplTest,
    SuggestionGeneration_HasSession_ControlElementClicked_ApplyExpectedTextAndLabel) {}

TEST_F(ComposeManagerImplTest,
       SuggestionGeneration_NoSession_ExpectedTextAndLabel) {}

TEST_F(ComposeManagerImplTest,
       SuggestionGeneration_NoSession_CompactUI_ExpectedTextAndLabel) {}

TEST_F(ComposeManagerImplTest,
       SuggestionGeneration_ShouldNotTriggerPopup_NoSuggestionReturned) {}

TEST_F(ComposeManagerImplTest, TestOpenCompose_Success) {}

TEST_F(ComposeManagerImplTest, TestOpenCompose_FormDataMissing) {}

TEST_F(ComposeManagerImplTest, TestOpenCompose_FormFieldDataMissing) {}

TEST_F(ComposeManagerImplTest, NeverShowForOrigin_MetricsTest) {}

TEST_F(ComposeManagerImplTest, DisableCompose_MetricTest) {}

TEST_F(ComposeManagerImplTest, GoToSettings_HistogramTest) {}