Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArsentiy Milchakov <milcars@mapswithme.com>2018-06-05 19:36:09 +0300
committermpimenov <mpimenov@users.noreply.github.com>2018-06-09 18:27:33 +0300
commit4ce0b046e13e9c2cc72e9a78924b8d2552822467 (patch)
tree5398c645d6b80323f9fd97e27f5d84e0e3901982 /partners_api
parent2d8066a165c7085dc9a4cfe42174b4891603b507 (diff)
[booking] Tests and bugfix
Diffstat (limited to 'partners_api')
-rw-r--r--partners_api/booking_api.cpp36
1 files changed, 29 insertions, 7 deletions
diff --git a/partners_api/booking_api.cpp b/partners_api/booking_api.cpp
index fda5881e03..159be32f8c 100644
--- a/partners_api/booking_api.cpp
+++ b/partners_api/booking_api.cpp
@@ -65,20 +65,42 @@ std::string FormatTime(system_clock::time_point p)
return partners_api::FormatTime(p, "%Y-%m-%d");
}
-string MakeApiUrlV1(string const & func, url::Params const & params)
+string MakeUrlForTesting(string const & func, url::Params const & params, string const & divider)
{
- if (!g_BookingUrlForTesting.empty())
- return url::Make(g_BookingUrlForTesting + "." + func, params);
+ ASSERT(!g_BookingUrlForTesting.empty(), ());
+
+ auto funcForTesting = func;
+ if (funcForTesting == "hotelAvailability")
+ {
+ auto const it = find_if(params.cbegin(), params.cend(), [](url::Param const & param)
+ {
+ return param.m_name == "show_only_deals";
+ });
+
+ if (it != params.cend())
+ funcForTesting = "deals";
+ }
- return url::Make(kBookingApiBaseUrlV1 + "." + func, params);
+ return url::Make(g_BookingUrlForTesting + divider + funcForTesting, params);
}
-string MakeApiUrlV2(string const & func, url::Params const & params)
+string MakeApiUrlImpl(string const & baseUrl, string const & func, url::Params const & params,
+ string const & divider)
{
if (!g_BookingUrlForTesting.empty())
- return url::Make(g_BookingUrlForTesting + "/" + func, params);
+ return MakeUrlForTesting(func, params, divider);
- return url::Make(kBookingApiBaseUrlV2 + "/" + func, params);
+ return url::Make(baseUrl + divider + func, params);
+}
+
+string MakeApiUrlV1(string const & func, url::Params const & params)
+{
+ return MakeApiUrlImpl(kBookingApiBaseUrlV1, func, params, ".");
+}
+
+string MakeApiUrlV2(string const & func, url::Params const & params)
+{
+ return MakeApiUrlImpl(kBookingApiBaseUrlV2, func, params, "/");
}
void ClearHotelInfo(HotelInfo & info)