57 lines
1.7 KiB
C++
57 lines
1.7 KiB
C++
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
#pragma once
|
|
|
|
#include "pch.h"
|
|
#include "CurrencyHttpClient.h"
|
|
|
|
#include "CalcViewModel\Common\NetworkManager.h"
|
|
|
|
using namespace CalculatorApp::DataLoaders;
|
|
using namespace Platform;
|
|
using namespace Windows::Foundation;
|
|
using namespace Windows::System::UserProfile;
|
|
using namespace Windows::Web::Http;
|
|
|
|
// Generic responses so unit tests will pass.
|
|
static constexpr auto STATIC_DATA_RESPONSE = LR"([{"CountryCode":"USA","CountryName":"United States","CurrencyCode":"USD","CurrencyName":"Dollar","CurrencySymbol":"$"},{"CountryCode":"EUR","CountryName":"Europe","CurrencyCode":"EUR","CurrencyName":"Euro","CurrencySymbol":"€"}])";
|
|
static constexpr auto ALL_RATIOS_RESPONSE = LR"([{"An":"USD","Ch":0,"Pc":0,"Rt":1},{"An":"EUR","Ch":0.003803,"Pc":0.4149,"Rt":0.920503,"Yh":0.9667,"Yl":0.86701}])";
|
|
|
|
CurrencyHttpClient::CurrencyHttpClient()
|
|
{
|
|
}
|
|
|
|
String^ CurrencyHttpClient::GetRawStaticDataResponse()
|
|
{
|
|
return StringReference(STATIC_DATA_RESPONSE);
|
|
}
|
|
|
|
String^ CurrencyHttpClient::GetRawAllRatiosDataResponse()
|
|
{
|
|
return StringReference(ALL_RATIOS_RESPONSE);
|
|
}
|
|
|
|
IAsyncOperationWithProgress<String^, HttpProgress>^ CurrencyHttpClient::GetCurrencyMetadata()
|
|
{
|
|
return ref new MockAsyncOperationWithProgress(StringReference(STATIC_DATA_RESPONSE));
|
|
}
|
|
|
|
IAsyncOperationWithProgress<String^, HttpProgress>^ CurrencyHttpClient::GetCurrencyRatios()
|
|
{
|
|
return ref new MockAsyncOperationWithProgress(StringReference(ALL_RATIOS_RESPONSE));
|
|
}
|
|
|
|
MockAsyncOperationWithProgress::MockAsyncOperationWithProgress(String^ result) :
|
|
m_result(result)
|
|
{
|
|
}
|
|
|
|
HResult MockAsyncOperationWithProgress::ErrorCode::get()
|
|
{
|
|
HResult okayResult;
|
|
okayResult.Value = S_OK;
|
|
return okayResult;
|
|
}
|
|
|