public PayeSchemeLevyDeclarationViewModel MapPayeLevyDeclaration(PayeLevySubmissionsResponse model) { var payeLevyDeclaration = new PayeSchemeLevyDeclarationViewModel(); if (model == null) { return(payeLevyDeclaration); } payeLevyDeclaration.PayeSchemeName = model.PayeScheme?.Name; payeLevyDeclaration.PayeSchemeRef = model.PayeScheme?.ObscuredPayeRef; payeLevyDeclaration.LevyDeclarations = model.LevySubmissions?.Declarations?.Select(o => MapLevyDeclarationViewModel(o)).ToList(); payeLevyDeclaration.PayeSchemeFormatedAddedDate = model.PayeScheme?.AddedDate == DateTime.MinValue ? string.Empty : ConvertDateTimeToDdmmyyyyFormat(model.PayeScheme.AddedDate); return(payeLevyDeclaration); }
public async Task ShouldReturnLevyResponseWithUnexpectedErrorStatusCodeWhenExceptionOccursWithHmrcApiClient() { // Arrange IPayeLevySubmissionsHandler payeLevySubmissionsHandler = new PayeLevySubmissionsHandler( _accountRepository.Object, _levySubmissionsRepository.Object, _payeSchemeObfuscator.Object, _log.Object, _hashingService.Object); PayeLevySubmissionsResponse payeLevySubmissionsResponse = null; PayeLevySubmissionsResponseCodes?expectedStatusCode = PayeLevySubmissionsResponseCodes.UnexpectedError; PayeLevySubmissionsResponseCodes?actualStatusCode = null; _hashingService .Setup(x => x.DecodeValueToString(_hashedPayeRef)) .Returns(_actualPayeRef); _accountRepository .Setup(x => x.Get( It.Is <string>(y => y == _accountId), It.Is <AccountFieldsSelection>(y => y == AccountFieldsSelection.PayeSchemes))) .Returns(Task.FromResult(this.GenerateTestAccount())); _levySubmissionsRepository .Setup(x => x.Get(It.Is <string>(y => y == _actualPayeRef))) .Callback(() => { throw new Exception("Some HRMC Exception!"); }); // Act payeLevySubmissionsResponse = await payeLevySubmissionsHandler.FindPayeSchemeLevySubmissions( _accountId, _hashedPayeRef); actualStatusCode = payeLevySubmissionsResponse.StatusCode; // Assert Assert.AreEqual(expectedStatusCode, actualStatusCode); }