|  | // 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. | 
|  |  | 
|  | #ifndef COMPONENTS_COMMERCE_CORE_MOCK_CLUSTER_MANAGER_H_ | 
|  | #define COMPONENTS_COMMERCE_CORE_MOCK_CLUSTER_MANAGER_H_ | 
|  |  | 
|  | #include "components/commerce/core/commerce_types.h" | 
|  | #include "components/commerce/core/compare/cluster_manager.h" | 
|  | #include "components/commerce/core/compare/product_group.h" | 
|  | #include "testing/gmock/include/gmock/gmock.h" | 
|  | #include "testing/gtest/include/gtest/gtest.h" | 
|  |  | 
|  | namespace commerce { | 
|  |  | 
|  | class ProductSpecificationsService; | 
|  |  | 
|  | class MockClusterManager : public ClusterManager { | 
|  | public: | 
|  | explicit MockClusterManager( | 
|  | ProductSpecificationsService* product_specifications_service); | 
|  | ~MockClusterManager() override; | 
|  |  | 
|  | MOCK_METHOD(void, | 
|  | GetEntryPointInfoForNavigation, | 
|  | (const GURL& url, | 
|  | ClusterManager::GetEntryPointInfoCallback callback), | 
|  | (override)); | 
|  | MOCK_METHOD(void, | 
|  | GetEntryPointInfoForSelection, | 
|  | (const GURL& old_url, | 
|  | const GURL& new_url, | 
|  | ClusterManager::GetEntryPointInfoCallback callback), | 
|  | (override)); | 
|  | MOCK_METHOD(std::optional<ProductGroup>, | 
|  | GetProductGroupForCandidateProduct, | 
|  | (const GURL& product_url), | 
|  | (override)); | 
|  | MOCK_METHOD(void, | 
|  | GetComparableProducts, | 
|  | (const EntryPointInfo& entry_point_info, | 
|  | ClusterManager::GetEntryPointInfoCallback callback), | 
|  | (override)); | 
|  |  | 
|  | void SetResponseForGetEntryPointInfoForSelection( | 
|  | std::optional<EntryPointInfo> entry_point_info); | 
|  | void SetResponseForGetEntryPointInfoForNavigation( | 
|  | std::optional<EntryPointInfo> entry_point_info); | 
|  | void SetResponseForGetProductGroupForCandidateProduct( | 
|  | std::optional<ProductGroup> product_group); | 
|  | void SetResponseForGetComparableProducts( | 
|  | std::optional<EntryPointInfo> entry_point_info); | 
|  | }; | 
|  | }  // namespace commerce | 
|  |  | 
|  | #endif  // COMPONENTS_COMMERCE_CORE_MOCK_CLUSTER_MANAGER_H_ |