#include "components/autofill/core/browser/webdata/payments/autofill_wallet_offer_sync_bridge.h"
#include <stddef.h>
#include <memory>
#include <utility>
#include "base/files/scoped_temp_dir.h"
#include "base/functional/callback_helpers.h"
#include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h"
#include "base/test/bind.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "components/autofill/core/browser/autofill_test_utils.h"
#include "components/autofill/core/browser/test_autofill_clock.h"
#include "components/autofill/core/browser/webdata/autofill_sync_metadata_table.h"
#include "components/autofill/core/browser/webdata/autofill_webdata_backend.h"
#include "components/autofill/core/browser/webdata/mock_autofill_webdata_backend.h"
#include "components/autofill/core/browser/webdata/payments/payments_autofill_table.h"
#include "components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.h"
#include "components/autofill/core/common/autofill_constants.h"
#include "components/sync/base/data_type.h"
#include "components/sync/base/hash_util.h"
#include "components/sync/engine/data_type_activation_response.h"
#include "components/sync/model/client_tag_based_data_type_processor.h"
#include "components/sync/model/in_memory_metadata_change_list.h"
#include "components/sync/model/sync_data.h"
#include "components/sync/protocol/autofill_offer_specifics.pb.h"
#include "components/sync/protocol/data_type_progress_marker.pb.h"
#include "components/sync/protocol/data_type_state.pb.h"
#include "components/sync/protocol/entity_data.h"
#include "components/sync/protocol/entity_specifics.pb.h"
#include "components/sync/test/mock_commit_queue.h"
#include "components/sync/test/mock_data_type_local_change_processor.h"
#include "components/webdata/common/web_database.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace autofill {
namespace {
ScopedTempDir;
AutofillOfferSpecifics;
DataTypeState;
EntityData;
MockDataTypeLocalChangeProcessor;
NiceMock;
Return;
const char kDefaultCacheGuid[] = …;
void ExtractAutofillOfferSpecificsFromDataBatch(
std::unique_ptr<syncer::DataBatch> batch,
std::vector<AutofillOfferSpecifics>* output) { … }
std::string AutofillOfferSpecificsAsDebugString(
const AutofillOfferSpecifics& specifics) { … }
MATCHER_P(EqualsSpecifics, expected, "") { … }
}
class AutofillWalletOfferSyncBridgeTest : public testing::Test { … };
TEST_F(AutofillWalletOfferSyncBridgeTest, VerifyGetClientTag) { … }
TEST_F(AutofillWalletOfferSyncBridgeTest, VerifyGetStorageKey) { … }
TEST_F(AutofillWalletOfferSyncBridgeTest, MergeFullSyncData_NewData) { … }
TEST_F(AutofillWalletOfferSyncBridgeTest, MergeFullSyncData_NoData) { … }
TEST_F(AutofillWalletOfferSyncBridgeTest, MergeFullSyncData_LogDataValidity) { … }
TEST_F(AutofillWalletOfferSyncBridgeTest, ApplyDisableSyncChanges) { … }
}