protected override TransferRequestForSenderViewModel Map(GetTransferRequestResponse transferRequestResponse, GetPledgeApplicationResponse getPledgeApplicationResponse) { var viewModel = base.Map(transferRequestResponse, getPledgeApplicationResponse); viewModel.TransferReceiverPublicHashedAccountId = _encodingService.Encode(transferRequestResponse.ReceivingEmployerAccountId, EncodingType.PublicAccountId); viewModel.TransferSenderHashedAccountId = _encodingService.Encode(transferRequestResponse.SendingEmployerAccountId, EncodingType.AccountId); viewModel.TransferReceiverName = transferRequestResponse.LegalEntityName; return(viewModel); }
public void SetUp() { //Arrange var autoFixture = new Fixture(); _request = autoFixture.Build <TransferRequestRequest>() .With(x => x.AccountHashedId, $"A{AccountIdFirst}") .With(x => x.TransferRequestHashedId, $"A{TransferRequestIdFirst}") .Create(); _getPledgeApplicationId = autoFixture.Create <int>(); _getTransferRequestResponse = autoFixture.Build <GetTransferRequestResponse>() .With(x => x.ReceivingEmployerAccountId, ReceivingEmployerAccountIdFirst) .With(x => x.TransferRequestId, TransferRequestIdFirst) .With(x => x.PledgeApplicationId, _getPledgeApplicationId) .Create(); _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>(); _mockCommitmentsApiClient.Setup(r => r.GetTransferRequestForSender(It.IsAny <long>(), It.IsAny <long>(), CancellationToken.None)) .ReturnsAsync(_getTransferRequestResponse); _getPledgeApplicationResponse = autoFixture.Create <GetPledgeApplicationResponse>(); _mockApprovalsApiClient = new Mock <IApprovalsApiClient>(); _mockApprovalsApiClient.Setup(r => r.GetPledgeApplication(_getPledgeApplicationId, CancellationToken.None)) .ReturnsAsync(_getPledgeApplicationResponse); _mockEncodingService = new Mock <IEncodingService>(); _mockEncodingService.Setup(t => t.Encode(It.IsAny <long>(), EncodingType.AccountId)) .Returns((long value, EncodingType encodingType) => $"A{value}"); _mockEncodingService.Setup(t => t.Encode(It.IsAny <long>(), EncodingType.PublicAccountId)) .Returns((long value, EncodingType encodingType) => $"P{value}"); _mockEncodingService.Setup(t => t.Encode(It.IsAny <long>(), EncodingType.TransferRequestId)) .Returns((long value, EncodingType encodingType) => $"T{value}"); _mockEncodingService.Setup(t => t.Encode(It.IsAny <long>(), EncodingType.CohortReference)) .Returns((long value, EncodingType encodingType) => $"C{value}"); _mockEncodingService.Setup(t => t.Encode(It.IsAny <long>(), EncodingType.PledgeId)) .Returns((long value, EncodingType encodingType) => $"PL{value}"); _mockEncodingService.Setup(t => t.Encode(It.IsAny <long>(), EncodingType.PledgeApplicationId)) .Returns((long value, EncodingType encodingType) => $"PA{value}"); _mockEncodingService.Setup(t => t.Decode(It.IsAny <string>(), It.IsAny <EncodingType>())) .Returns((string value, EncodingType encodingType) => long.Parse(Regex.Replace(value, "[A-Za-z ]", ""))); _mapper = new TransferRequestForSenderViewModelMapper(_mockCommitmentsApiClient.Object, _mockApprovalsApiClient.Object, _mockEncodingService.Object); }
protected virtual T Map(GetTransferRequestResponse transferRequestResponse, GetPledgeApplicationResponse getPledgeApplicationResponse) { return(new T { HashedCohortReference = _encodingService.Encode(transferRequestResponse.CommitmentId, EncodingType.CohortReference), TrainingList = transferRequestResponse.TrainingList?.Select(MapTrainingCourse).ToList() ?? new List <TrainingCourseSummaryViewModel>(), TransferApprovalStatusDesc = transferRequestResponse.Status.ToString(), TransferApprovalStatus = transferRequestResponse.Status, TransferApprovalSetBy = transferRequestResponse.ApprovedOrRejectedByUserName, TransferApprovalSetOn = transferRequestResponse.ApprovedOrRejectedOn, TotalCost = transferRequestResponse.TransferCost, FundingCap = transferRequestResponse.FundingCap, ShowFundingCapWarning = (transferRequestResponse.Status == TransferApprovalStatus.Pending || transferRequestResponse.Status == TransferApprovalStatus.Approved) && transferRequestResponse.TransferCost < transferRequestResponse.FundingCap, AutoApprovalEnabled = transferRequestResponse.AutoApproval, HashedPledgeId = getPledgeApplicationResponse == null ? string.Empty : _encodingService.Encode(getPledgeApplicationResponse.PledgeId, EncodingType.PledgeId), HashedPledgeApplicationId = !transferRequestResponse.PledgeApplicationId.HasValue ? string.Empty : _encodingService.Encode(transferRequestResponse.PledgeApplicationId.Value, EncodingType.PledgeApplicationId) }); }
public async Task When_PledgeApplication_Is_Null_Then_It_Is_Not_Mapped() { var autoFixture = new Fixture(); _getTransferRequestResponse = autoFixture.Build <GetTransferRequestResponse>() .With(x => x.ReceivingEmployerAccountId, ReceivingEmployerAccountIdFirst) .With(x => x.TransferRequestId, TransferRequestIdFirst) .With(x => x.PledgeApplicationId, default(int?)) .Create(); _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>(); _mockCommitmentsApiClient.Setup(r => r.GetTransferRequestForSender(It.IsAny <long>(), It.IsAny <long>(), CancellationToken.None)) .ReturnsAsync(_getTransferRequestResponse); _mapper = new TransferRequestForSenderViewModelMapper(_mockCommitmentsApiClient.Object, _mockApprovalsApiClient.Object, _mockEncodingService.Object); var result = await _mapper.Map(_request); Assert.AreEqual(string.Empty, result.HashedPledgeApplicationId); Assert.AreEqual(string.Empty, result.HashedPledgeId); }