Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }