public SapCreditNoteModel MapToSapCreditNote(CancelCreditNoteRequest cancelCreditNoteRequest) { var sapCreditNoteModel = new SapCreditNoteModel { U_DPL_CN_ID = cancelCreditNoteRequest.CreditNoteId, BillingSystemId = cancelCreditNoteRequest.BillingSystemId }; return(sapCreditNoteModel); }
public void CancelCreditNote_ShouldBeHttpStatusCodeOk_WhenRequestIsValid_ShouldBeThrowsAnException_WhenBillingSystemIdIsNotValid() { var cancelCreditNoteRequest = new CancelCreditNoteRequest { BillingSystemId = 0, CreditNoteId = 1 }; var loggerMock = new Mock <ILogger <BillingController> >(); var billingServiceMock = new Mock <IBillingService>(); billingServiceMock.Setup(x => x.CancelCreditNote(cancelCreditNoteRequest)).ThrowsAsync(new ArgumentException("Value can not be null", "BillingSystemId")); var controller = new BillingController(loggerMock.Object, billingServiceMock.Object); // Act var ex = Assert.ThrowsAsync <ArgumentException>(() => controller.CancelCreditNote(cancelCreditNoteRequest)); // Assert Assert.Equal("Value can not be null (Parameter 'BillingSystemId')", ex.Result.Message); }
public async Task CancelCreditNote_ShouldBeHttpStatusCodeOk_WhenRequestIsValid() { var cancelCreditNoteRequest = new CancelCreditNoteRequest { BillingSystemId = 2, CreditNoteId = 1 }; var loggerMock = new Mock <ILogger <BillingController> >(); var billingServiceMock = new Mock <IBillingService>(); billingServiceMock.Setup(x => x.CancelCreditNote(cancelCreditNoteRequest)).Returns(Task.CompletedTask); var controller = new BillingController(loggerMock.Object, billingServiceMock.Object); // Act var response = await controller.CancelCreditNote(cancelCreditNoteRequest); // Assert Assert.IsType <OkObjectResult>(response); Assert.Equal("Successfully", ((ObjectResult)response).Value); }
public async Task CancelCreditNote(CancelCreditNoteRequest cancelCreditNoteRequest) { try { var sapSystem = SapSystemHelper.GetSapSystemByBillingSystem(cancelCreditNoteRequest.BillingSystemId); var validator = GetValidator(sapSystem); validator.ValidateCancelCreditNote(cancelCreditNoteRequest); _queuingService.AddToTaskQueue( new SapTask { CancelCreditNoteRequest = cancelCreditNoteRequest, TaskType = SapTaskEnum.CancelCreditNote } ); } catch (Exception e) { _logger.LogError($"Failed at cancel credit note request for invoice: {cancelCreditNoteRequest.CreditNoteId}.", e); await _slackService.SendNotification($"Failed at cancel credit note request for invoice: {cancelCreditNoteRequest.CreditNoteId}. Error: {e.Message}"); } }
public Task CancelCreditNote(CancelCreditNoteRequest cancelCreditNoteRequest) { return(Task.CompletedTask); }