public async Task GetAllCaseworkersSuccess() { //Arrange var helperHttpClientMoq = new Mock <ICaseworkerHttpClientHelper>(); var configurationMoq = new Mock <IConfiguration>(); var pageNumber = 1; var context = GetContext(); var caseworkerData = new List <CaseworkerDataResponseModel>() { new CaseworkerDataResponseModel(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>()) }; var responseData = new CaseworkerList() { TotalNoOfPages = 1, TotalSearchCount = 1, PageNo = 1, Result = caseworkerData }; helperHttpClientMoq.Setup(x => x.GetAllCaseworkerDataFromMomentumCoreAsync("/punits/0d1345f4-51e0-407e-9dc0-15a9d08326d7/caseworkers", pageNumber)) .Returns(Task.FromResult(new ResultOrHttpError <CaseworkerList, Error>(responseData))); var caseWorkerService = new CaseworkerService(helperHttpClientMoq.Object, configurationMoq.Object, context.Object); //Act var result = await caseWorkerService.GetAllCaseworkersAsync(pageNumber).ConfigureAwait(false); //Asert result.Should().NotBeNull(); result.IsError.Should().BeFalse(); result.Result.Should().BeEquivalentTo(responseData); }
public async Task <ResultOrHttpError <CaseworkerList, Error> > GetAllCaseworkerDataFromMomentumCoreAsync(string path, int pageNumber) { var pageSize = 100; pageNumber = pageNumber == 0 ? 1 : pageNumber; List <CaseworkerDataResponseModel> totalRecords = new List <CaseworkerDataResponseModel>(); var queryStringParams = $"pagingInfo.pageNumber={pageNumber}&pagingInfo.pageSize={pageSize}"; var response = await _meaClient.GetAsync(path + "?" + queryStringParams).ConfigureAwait(false); if (response.IsError) { return(new ResultOrHttpError <CaseworkerList, Error>(response.Error, response.StatusCode.Value)); } var content = response.Result; var caseworkerDataObj = JsonConvert.DeserializeObject <PUnitData>(content); var records = caseworkerDataObj.Data; foreach (var item in records) { var dataToReturn = new CaseworkerDataResponseModel(item.Id, item.DisplayName, item.GivenName, item.MiddleName, item.Initials, item.Email?.Address, item.Phone?.Number, item.CaseworkerIdentifier, item.Description, item.IsActive, item.IsBookable); totalRecords.Add(dataToReturn); } var responseData = new CaseworkerList() { PageNo = pageNumber, TotalNoOfPages = caseworkerDataObj.TotalPages, TotalSearchCount = caseworkerDataObj.TotalSearchCount, Result = totalRecords }; return(new ResultOrHttpError <CaseworkerList, Error>(responseData)); }