public async Task GivenADealsRequest_WhenGetDealsIsCalled_ThenGetAsyncIsCalledWithEndpoint() { var apiKey = "abc"; var dealsRequest = new DealsRequest { FinanceId = "someid", Amount = 123m, Deposit = 10m, Country = "GB" }; var expectedEndpoint = $"v1/dealcalculator?merchant={apiKey}&amount={dealsRequest.Amount}&deposit={dealsRequest.Deposit}&country=GB&finance={dealsRequest.FinanceId}"; var apiClient = new Mock <IApiClient>(); apiClient.Setup(x => x.GetAsync <DealsResponse>( It.IsAny <string>(), It.IsAny <CancellationToken>())).ReturnsAsync(new DealsResponse()); var dividoApiHttpClient = new DividoApiClient(apiClient.Object, apiKey); await dividoApiHttpClient.GetDeals(dealsRequest, CancellationToken.None); apiClient.Verify(x => x.GetAsync <DealsResponse>( expectedEndpoint, CancellationToken.None), Times.Once); }
public async Task <DealsResponse> GetDeals(DealsRequest dealsRequest, CancellationToken token) { var endpoint = $"v1/dealcalculator?merchant={_apiKey}&amount={dealsRequest.Amount}&deposit={dealsRequest.Deposit}&country={dealsRequest.Country}&finance={dealsRequest.FinanceId}"; return(await _apiClient.GetAsync <DealsResponse>( endpoint, token)); }
public DealsResponse Get(DealsRequest dealReq) { Deals dealBL = new Deals(); return(new DealsResponse { Deals = dealBL.GetAllDeals() }); }