public void RecieveSuccess() { using (var resources = new Resources()) { //Given var requestModel = new SmsSuccessModel { MessageId = Guid.NewGuid().ToString() }; //When var result = resources.Controller.RecieveSuccess(requestModel) as OkResult; //Then Assert.IsNotNull(result); Assert.IsTrue(result.StatusCode == 200); //verify calls resources.LogHelper.Verify(x => x.LogMessage(It.Is <string>(m => m == $"SMS was successful for messageId: {requestModel.MessageId}")), Times.Once); resources.EventBus.Verify(x => x.PublishEvent(It.Is <SmsSuccessEvent>(m => m.MessageId == requestModel.MessageId)), Times.Once); resources.LogHelper.VerifyNoOtherCalls(); resources.EventBus.VerifyNoOtherCalls(); resources.SmsGateway.VerifyNoOtherCalls(); } }
public IActionResult RecieveSuccess([FromBody] SmsSuccessModel response) { try { //publish success event _eventBus.PublishEvent(new SmsSuccessEvent { MessageId = response.MessageId }); _logHelper.LogMessage($"SMS was successful for messageId: {response.MessageId}"); return(Ok()); } catch (Exception ex) { _logHelper.LogException(ex); return(BadRequest(ex)); } }