diff --git a/ugc/storage.cpp b/ugc/storage.cpp index 6de192aa5f..c1adf56f11 100644 --- a/ugc/storage.cpp +++ b/ugc/storage.cpp @@ -2,6 +2,7 @@ #include "ugc/serdes.hpp" #include "ugc/serdes_json.hpp" +#include "indexer/classificator.hpp" #include "indexer/feature_algo.hpp" #include "indexer/feature_decl.hpp" #include "indexer/index.hpp" @@ -296,6 +297,7 @@ string Storage::GetUGCToSend() const ToJSONObject(*embeddedNode.get(), "data_version", index.m_dataVersion); ToJSONObject(*embeddedNode.get(), "mwm_name", index.m_mwmName); ToJSONObject(*embeddedNode.get(), "feature_id", index.m_featureId); + ToJSONObject(*embeddedNode.get(), "feature_type", classif().GetReadableObjectName(index.m_type)); ToJSONObject(*serializedUgc.get(), "feature", *embeddedNode.release()); json_array_append_new(array.get(), serializedUgc.get_deep_copy()); } diff --git a/ugc/ugc_tests/storage_tests.cpp b/ugc/ugc_tests/storage_tests.cpp index 92f4117a46..ff5433c966 100644 --- a/ugc/ugc_tests/storage_tests.cpp +++ b/ugc/ugc_tests/storage_tests.cpp @@ -294,10 +294,20 @@ UNIT_CLASS_TEST(StorageTest, ContentTest) } my::Json ugcNode(data); + auto const & indexes = storage.GetIndexesForTesting(); + TEST_EQUAL(indexes.size(), 2, ()); + auto const & firstIndex = indexes.front(); + auto const & lastIndex = indexes.back(); + TEST(firstIndex.m_deleted, ()); + TEST(!lastIndex.m_deleted, ()); + TEST(!firstIndex.m_synchronized, ()); + TEST(!lastIndex.m_synchronized, ()); + auto embeddedNode = my::NewJSONObject(); - ToJSONObject(*embeddedNode.get(), "data_version", cafeId.GetMwmVersion() ); - ToJSONObject(*embeddedNode.get(), "mwm_name", cafeId.GetMwmName()); - ToJSONObject(*embeddedNode.get(), "feature_id", cafeId.m_index); + ToJSONObject(*embeddedNode.get(), "data_version", lastIndex.m_dataVersion); + ToJSONObject(*embeddedNode.get(), "mwm_name", lastIndex.m_mwmName); + ToJSONObject(*embeddedNode.get(), "feature_id", lastIndex.m_featureId); + ToJSONObject(*embeddedNode.get(), "feature_type", classif().GetReadableObjectName(lastIndex.m_type)); ToJSONObject(*ugcNode.get(), "feature", *embeddedNode.release()); auto array = my::NewJSONArray(); @@ -307,4 +317,7 @@ UNIT_CLASS_TEST(StorageTest, ContentTest) unique_ptr buffer(json_dumps(reviewsNode.get(), JSON_COMPACT | JSON_ENSURE_ASCII)); string const toSendExpected(buffer.get()); TEST_EQUAL(toSendActual, toSendExpected, ()); + storage.MarkAllAsSynchronized(); + TEST(firstIndex.m_synchronized, ()); + TEST(lastIndex.m_synchronized, ()); }