1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
// 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/commerce/core/mock_cluster_manager.h"
#include "base/task/sequenced_task_runner.h"
#include "components/commerce/core/compare/cluster_server_proxy.h"
namespace commerce {
MockClusterManager::MockClusterManager(
ProductSpecificationsService* product_specifications_service)
: ClusterManager(
product_specifications_service,
nullptr,
base::RepeatingCallback<void(const GURL&, ProductInfoCallback)>(),
base::RepeatingCallback<void(const std::vector<GURL>& urls,
ProductInfoBatchCallback)>(),
base::RepeatingCallback<const std::vector<UrlInfo>()>()) {}
MockClusterManager::~MockClusterManager() = default;
void MockClusterManager::SetResponseForGetEntryPointInfoForSelection(
std::optional<EntryPointInfo> entry_point_info) {
ON_CALL(*this, GetEntryPointInfoForSelection)
.WillByDefault([entry_point_info = std::move(entry_point_info)](
const GURL& old_url, const GURL& new_url,
ClusterManager::GetEntryPointInfoCallback callback) {
base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
FROM_HERE,
base::BindOnce(std::move(callback), std::move(entry_point_info)));
});
}
void MockClusterManager::SetResponseForGetEntryPointInfoForNavigation(
std::optional<EntryPointInfo> entry_point_info) {
ON_CALL(*this, GetEntryPointInfoForNavigation)
.WillByDefault([entry_point_info = std::move(entry_point_info)](
const GURL& url,
ClusterManager::GetEntryPointInfoCallback callback) {
base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
FROM_HERE,
base::BindOnce(std::move(callback), std::move(entry_point_info)));
});
}
void MockClusterManager::SetResponseForGetProductGroupForCandidateProduct(
std::optional<ProductGroup> product_group) {
ON_CALL(*this, GetProductGroupForCandidateProduct)
.WillByDefault(testing::Return(product_group));
}
void MockClusterManager::SetResponseForGetComparableProducts(
std::optional<EntryPointInfo> entry_point_info) {
ON_CALL(*this, GetComparableProducts)
.WillByDefault([entry_point_info = std::move(entry_point_info)](
const EntryPointInfo& info,
ClusterManager::GetEntryPointInfoCallback callback) {
base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
FROM_HERE,
base::BindOnce(std::move(callback), std::move(entry_point_info)));
});
}
} // namespace commerce
|