diff options
author | Arsentiy Milchakov <milcars@mapswithme.com> | 2018-06-05 19:36:09 +0300 |
---|---|---|
committer | mpimenov <mpimenov@users.noreply.github.com> | 2018-06-09 18:27:33 +0300 |
commit | 4ce0b046e13e9c2cc72e9a78924b8d2552822467 (patch) | |
tree | 5398c645d6b80323f9fd97e27f5d84e0e3901982 /partners_api | |
parent | 2d8066a165c7085dc9a4cfe42174b4891603b507 (diff) |
[booking] Tests and bugfix
Diffstat (limited to 'partners_api')
-rw-r--r-- | partners_api/booking_api.cpp | 36 |
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) |