public void AddRoutingRule_SameRoutingRuleName_ShouldReturnError() { //Arrange var mockFacilityGuid = Utility.ParseStringToGuid(_executionContextAccessor.Current.Facility.FacilityKey); var mockRoutingRuleGuid = Utility.GetNewGuid(); var mockRoutingRuleName = "test"; Dictionary <string, string> headers = new Dictionary <string, string>(); var fakeRoutingRule = Task.FromResult <RoutingRule>(new RoutingRule { RoutingRuleKey = mockRoutingRuleGuid, RoutingRuleName = mockRoutingRuleName, FacilityKey = mockFacilityGuid, TenantKey = Utility.ParseStringToGuid(_executionContextAccessor.Current.Tenant.TenantKey), }); var routingRuleReq = new RoutingRuleRequest { RoutingRuleName = mockRoutingRuleName, SearchCriteriaGranularityLevel = 1, ActorKey = Guid.Parse("6DD7B978-2BAE-4C0B-9ED2-0A79FB689A46") }; _mockRoutingRuleRepository.Setup(x => x.GetRoutingRule(mockRoutingRuleName, mockFacilityGuid)).Returns(fakeRoutingRule); //Act var response = _routingRuleManager.AddRoutingRule(routingRuleReq, headers); //Assert Assert.Contains("Routing Rule With Same Name Already Exist.", response.Message); Assert.False(response.IsSuccess); }
private RoutingRuleRequest FakeDataForPostRoutingRule() { RoutingRuleRequest r = new RoutingRuleRequest(); var listRequestRoutingRuleSchedule = new List <RequestRoutingRuleSchedule> { new RequestRoutingRuleSchedule() { ScheduleKey = Utility.GetNewGuid() } }; var listRequestRoutingRuleDestination = new List <RequestRoutingRuleDestination> { new RequestRoutingRuleDestination() { DestinationKey = Utility.GetNewGuid() } }; var listRequestRoutingRuleTranPriority = new List <RequestRoutingRuleTranPriority> { new RequestRoutingRuleTranPriority() { TranPriorityKey = Utility.GetNewGuid() } }; r.RoutingRuleName = "Test"; r.SearchCriteriaGranularityLevel = 0; r.RoutingRuleDestinations = listRequestRoutingRuleDestination; r.RoutingRuleSchedules = listRequestRoutingRuleSchedule; r.RoutingRuleTranPriority = listRequestRoutingRuleTranPriority; return(r); }
public void AddRoutingRule_ValidArguments_ShouldAddRoutingRules() { //Arrange var mockFacilityGuid = Utility.ParseStringToGuid(_executionContextAccessor.Current.Facility.FacilityKey); var mockRoutingRuleGuid = Utility.GetNewGuid(); Dictionary <string, string> headers = new Dictionary <string, string>(); var mockScheduleGuid = Guid.Parse("E767B738-3944-4896-93A0-6F074BA16890"); var fakeRountingSchedule = new RequestRoutingRuleSchedule { ScheduleKey = mockScheduleGuid }; var routingRuleScheduleList = new List <RequestRoutingRuleSchedule>(); routingRuleScheduleList.Add(fakeRountingSchedule); var routingRuleReq = new RoutingRuleRequest { RoutingRuleName = "test new@@@@45", SearchCriteriaGranularityLevel = 1, ActorKey = Guid.Parse("6DD7B978-2BAE-4C0B-9ED2-0A79FB689A46"), RoutingRuleSchedules = routingRuleScheduleList, }; //Act var response = _routingRuleManager.AddRoutingRule(routingRuleReq, headers); //Assert Assert.Contains("Routing Rule Created Successfully", response.Message); Assert.True(response.IsSuccess); }
public void AddRoutingRule_ValidArguments_ShouldAddRoutingRules() { //Arrange var mockTenantGuid = Guid.Parse("E767B738-3944-4896-93A0-6F074BA16890"); var mockFacilityGuid = Guid.Parse("6DD7B978-2BAE-4C0B-9ED2-0A79FB689A46"); var mockRoutingRuleGuid = Utility.GetNewGuid(); Dictionary <string, string> headers = new Dictionary <string, string>(); var mockScheduleGuid = Guid.Parse("E767B738-3944-4896-93A0-6F074BA16890"); var fakeSchedule = new RequestRoutingRuleSchedule { ScheduleId = mockScheduleGuid }; var scheduleList = new List <RequestRoutingRuleSchedule>(); scheduleList.Add(fakeSchedule); var routingRuleReq = new RoutingRuleRequest { RoutingRuleName = "test new", SearchCriteriaGranularityLevel = 1, ActorKey = Guid.Parse("6DD7B978-2BAE-4C0B-9ED2-0A79FB689A46"), RoutingRuleSchedules = scheduleList, }; var fakeRoutingRuleScheduleTiming = new RoutingRuleScheduleTiming { RoutingRuleScheduleTimingKey = Utility.GetNewGuid(), TenantKey = mockTenantGuid, // Guid.Parse(_executionContextAccessor.Current.Tenant.TenantKey), ScheduleTimingKey = mockScheduleGuid, RoutingRuleKey = mockRoutingRuleGuid, CreatedByActorKey = routingRuleReq.ActorKey, LastModifiedByActorKey = routingRuleReq.ActorKey, CreatedDateUTCDateTime = DateTimeOffset.Now, LastModifiedUTCDateTime = DateTimeOffset.Now }; var _schedules = new List <RoutingRuleScheduleTiming>(); _schedules.Add(fakeRoutingRuleScheduleTiming); var mockRoutingRule = new RoutingRule { RoutingRuleName = routingRuleReq.RoutingRuleName.Trim(), TenantKey = mockTenantGuid, // Guid.Parse(_executionContextAccessor.Current.Tenant.TenantKey), FacilityKey = mockFacilityGuid, SearchCriteriaGranularityLevel = routingRuleReq.SearchCriteriaGranularityLevel, CreatedByActorKey = routingRuleReq.ActorKey, LastModifiedByActorKey = routingRuleReq.ActorKey, RoutingRuleScheduleTiming = _schedules.Count() > 0 ? _schedules : null, RoutingRuleKey = mockRoutingRuleGuid, }; //_mockRoutingRuleRepository.Setup(x => x.Add(mockRoutingRule)).Returns(); //Act var response = _routingRuleManager.AddRoutingRule(routingRuleReq, mockFacilityGuid, headers); //Assert Assert.Contains("Routing Rule Created Successfully", response.Message); Assert.Equal(mockRoutingRuleGuid, response.Id); }
public async Task <IActionResult> Put([FromBody] RoutingRuleRequest routingRule) { try { var ruleId = RouteData.Values["rountingRuleKey"].ToString(); List <string> str = new List <string>() { ruleId }; bool res = Utility.ValidateGUID(str); if (res == false) { _logger.LogInformation("Please provide valid RoutingRuleKey"); return(BadRequest(new ErrorResponse("Please provide valid RoutingRuleKey", (int)HttpStatusCode.BadRequest, ResponsePayloadType.BusinessException))); } if (ModelState.IsValid) { if (routingRule.RoutingRuleDestinations.Count == 0 && routingRule.RoutingRuleTranPriority.Count == 0 && routingRule.RoutingRuleSchedules.Count == 0) { _logger.LogInformation("Any one of them is mandatory, Destination,Shedule,Transaction Priority"); return(BadRequest(new ErrorResponse("Any one of them is mandatory, Destination,Shedule,Transaction Priority", (int)HttpStatusCode.BadRequest, ResponsePayloadType.BusinessException))); } var headers = Request.Headers.ToDictionary <KeyValuePair <string, StringValues>, string, string>(item => item.Key, item => item.Value); BusinessResponse response = _manager.UpdateRoutingRule(routingRule, Utility.ParseStringToGuid(ruleId), headers); if (response.IsSuccess == false) { _logger.LogInformation(response.Message); return(BadRequest(new ErrorResponse(response.Message, (int)HttpStatusCode.BadRequest, ResponsePayloadType.BusinessException))); } else { _logger.LogInformation(response.Message); return(Ok(response.Message)); } } else { _logger.LogInformation("Model is not Valid"); return(BadRequest(new ErrorResponse(new ModelStateRequestValidationAdaptor(ModelState).ToString(), (int)HttpStatusCode.BadRequest, ResponsePayloadType.BusinessException))); } } catch (Exception ex) { _logger.LogError(ex.Message); return(StatusCode(500)); } }
public void AddRoutingRule_InvalidArguments_ShouldReturnError() { //Arrange var mockFacilityGuid = Utility.ParseStringToGuid(_executionContextAccessor.Current.Facility.FacilityKey); var mockRoutingRuleGuid = Utility.GetNewGuid(); Dictionary <string, string> headers = new Dictionary <string, string>(); var routingRuleReq = new RoutingRuleRequest { RoutingRuleName = "test new@@@@45", SearchCriteriaGranularityLevel = 1, ActorKey = Guid.Parse("6DD7B978-2BAE-4C0B-9ED2-0A79FB689A46") }; //Act var response = _routingRuleManager.AddRoutingRule(routingRuleReq, headers); //Assert Assert.Contains("Please select any schedule or destination or transaction priority.", response.Message); Assert.False(response.IsSuccess); }
private List <RoutingRuleScheduleTiming> AddOrUpdateSchedules(RoutingRuleRequest routingRule, Guid newID, Guid ruleId, RoutingRule rule) { var _schedules = new List <RoutingRuleScheduleTiming>(); if (routingRule.RoutingRuleSchedules != null && routingRule.RoutingRuleSchedules.Any()) { foreach (var item in routingRule.RoutingRuleSchedules) { if (ruleId == Guid.Empty) // case Add new Schedule { _schedules.Add(new RoutingRuleScheduleTiming { RoutingRuleScheduleTimingKey = Utility.GetNewGuid(), TenantKey = Guid.Parse(_executionContextAccessor.Current.Tenant.TenantKey), ScheduleTimingKey = item.ScheduleKey, RoutingRuleKey = newID, CreatedByActorKey = routingRule.ActorKey, LastModifiedByActorKey = routingRule.ActorKey, CreatedDateTime = DateTimeOffset.Now, LastModifiedUTCDateTime = DateTime.UtcNow }); } else if (newID == Guid.Empty) // Case Update Schedule { rule.RoutingRuleScheduleTiming.Add(new RoutingRuleScheduleTiming { RoutingRuleScheduleTimingKey = Utility.GetNewGuid(), TenantKey = Guid.Parse(_executionContextAccessor.Current.Tenant.TenantKey), ScheduleTimingKey = item.ScheduleKey, RoutingRuleKey = ruleId, CreatedByActorKey = routingRule.ActorKey, LastModifiedByActorKey = routingRule.ActorKey, CreatedDateTime = DateTimeOffset.Now, LastModifiedUTCDateTime = DateTime.UtcNow }); } } } return(_schedules); }
private List <RoutingRuleTranPriority> AddOrUpdateTranPriority(RoutingRuleRequest routingRule, Guid newID, Guid ruleId, RoutingRule rule) { var _tranPrio = new List <RoutingRuleTranPriority>(); if (routingRule.RoutingRuleTranPriority != null && routingRule.RoutingRuleTranPriority.Any()) { foreach (var item in routingRule.RoutingRuleTranPriority) { if (ruleId == Guid.Empty) // case Add new tranPriority { _tranPrio.Add(new RoutingRuleTranPriority { RoutingRuleTranPriorityKey = Utility.GetNewGuid(), TenantKey = Guid.Parse(_executionContextAccessor.Current.Tenant.TenantKey), TranPriorityKey = item.TranPriorityKey, RoutingRuleKey = newID, CreatedByActorKey = routingRule.ActorKey, LastModifiedByActorKey = routingRule.ActorKey, CreatedDateTime = DateTimeOffset.Now, LastModifiedUTCDateTime = DateTime.UtcNow }); } else if (newID == Guid.Empty) // Case Update destination { rule.RoutingRuleTranPriority.Add(new RoutingRuleTranPriority { RoutingRuleTranPriorityKey = Utility.GetNewGuid(), TenantKey = Guid.Parse(_executionContextAccessor.Current.Tenant.TenantKey), TranPriorityKey = item.TranPriorityKey, RoutingRuleKey = ruleId, CreatedByActorKey = routingRule.ActorKey, LastModifiedByActorKey = routingRule.ActorKey, CreatedDateTime = DateTimeOffset.Now, LastModifiedUTCDateTime = DateTime.UtcNow }); } } } return(_tranPrio); }
public async Task <IActionResult> Post([FromBody] RoutingRuleRequest routingRule) { try { if (ModelState.IsValid) { if (routingRule.RoutingRuleDestinations.Count == 0 && routingRule.RoutingRuleTranPriority.Count == 0 && routingRule.RoutingRuleSchedules.Count == 0) { _logger.LogInformation("Any one of them is mandatory, Destination,Shedule,Transaction Priority"); return(BadRequest(new ErrorResponse("Any one of them is mandatory, Destination,Shedule,Transaction Priority", (int)HttpStatusCode.BadRequest, ResponsePayloadType.BusinessException))); } var headers = Request.Headers.ToDictionary <KeyValuePair <string, StringValues>, string, string>(item => item.Key, item => item.Value); //to test routing rule name already exist in db or not.. BusinessResponse response = _manager.AddRoutingRule(routingRule, headers); if (response.IsSuccess == false) { _logger.LogInformation(response.Message); return(BadRequest(new ErrorResponse(response.Message, (int)HttpStatusCode.BadRequest, ResponsePayloadType.BusinessException))); } else { return(CreatedAtAction(nameof(GetRoutingRule), new { rountingRuleKey = response.Id }, routingRule)); } } else { _logger.LogInformation("Model is not valid"); return(BadRequest(new ErrorResponse(new ModelStateRequestValidationAdaptor(ModelState).ToString(), (int)HttpStatusCode.BadRequest, ResponsePayloadType.BusinessException))); } } catch (Exception ex) { _logger.LogError(ex.Message); return(StatusCode(500)); } }
/// <summary> /// to add routing rule in database /// </summary> /// <param name="routingRule"></param> /// <param name="facilityID"></param> /// <returns></returns> public BusinessResponse AddRoutingRule(RoutingRuleRequest routingRule, Dictionary <string, string> headers) { try { var facilityID = Utility.ParseStringToGuid(_executionContextAccessor.Current.Facility.FacilityKey); var rule = _routingRulesRepository.GetRoutingRule(routingRule.RoutingRuleName, facilityID).GetAwaiter().GetResult(); if (rule != null) { var message = new BusinessResponse() { IsSuccess = false, Message = "Routing Rule With Same Name Already Exist." }; return(message); } if (routingRule.RoutingRuleDestinations == null && routingRule.RoutingRuleSchedules == null && routingRule.RoutingRuleTranPriority == null) { var message = new BusinessResponse() { IsSuccess = false, Message = "Please select any schedule or destination or transaction priority." }; return(message); } var newID = Utility.GetNewGuid(); var ruleId = Guid.Empty; RoutingRule UpdateRule = new RoutingRule(); //common methods for add/Update operations.. List <RoutingRuleScheduleTiming> _schedules = AddOrUpdateSchedules(routingRule, newID, ruleId, UpdateRule); List <RoutingRuleDestination> _destination = AddOrUpdateDestination(routingRule, newID, ruleId, UpdateRule); List <RoutingRuleTranPriority> _tranPrio = AddOrUpdateTranPriority(routingRule, newID, ruleId, UpdateRule); _routingRulesRepository.Add(new RoutingRule { RoutingRuleName = routingRule.RoutingRuleName.Trim(), TenantKey = Guid.Parse(_executionContextAccessor.Current.Tenant.TenantKey), FacilityKey = facilityID, SearchCriteriaGranularityLevel = routingRule.SearchCriteriaGranularityLevel, CreatedByActorKey = routingRule.ActorKey, LastModifiedByActorKey = routingRule.ActorKey, RoutingRuleScheduleTiming = _schedules.Any() ? _schedules : null, RoutingRuleDestination = _destination.Any() ? _destination : null, RoutingRuleTranPriority = _tranPrio.Any() ? _tranPrio : null, RoutingRuleKey = newID, }); _unitOfWork.CommitChanges(); SendEvent(GetByID(newID), "Add", headers); var result = new BusinessResponse() { IsSuccess = true, Message = "Routing Rule Created Successfully", Id = newID }; return(result); } catch (Exception ex) { var exception = new BusinessResponse() { IsSuccess = false, Message = ex.Message }; return(exception); } }
/// <summary> /// to update routing rule in database /// </summary> /// <param name="routingRule"></param> /// <param name="facilityID"></param> /// <param name="ruleId"></param> /// <param name="headers"></param> /// <returns></returns> public BusinessResponse UpdateRoutingRule(RoutingRuleRequest routingRule, Guid ruleId, Dictionary <string, string> headers) { try { var facilityID = Utility.ParseStringToGuid(_executionContextAccessor.Current.Facility.FacilityKey); var ruleExist = _routingRulesRepository.GetRoutingRule(routingRule.RoutingRuleName, facilityID).GetAwaiter().GetResult(); if (ruleExist != null && ruleExist.RoutingRuleKey != ruleId) { var message = new BusinessResponse() { IsSuccess = false, Message = "Routing Rule With Same Name Already Exist." }; return(message); } if (routingRule.RoutingRuleDestinations == null && routingRule.RoutingRuleSchedules == null && routingRule.RoutingRuleTranPriority == null) { var message = new BusinessResponse() { IsSuccess = false, Message = "Please select any schedule or destination or transaction priority." }; return(message); } var rule = _routingRulesRepository.GetRoutingRule(ruleId, facilityID).GetAwaiter().GetResult(); if (rule == null) { var message = new BusinessResponse() { IsSuccess = false, Message = "Routing Rule with RountingRuleKey :" + ruleId + " not exist." }; return(message); } if (rule.RoutingRuleTranPriority.Any()) { rule.RoutingRuleTranPriority.Clear(); } if (rule.RoutingRuleScheduleTiming.Any()) { rule.RoutingRuleScheduleTiming.Clear(); } if (rule.RoutingRuleDestination.Any()) { rule.RoutingRuleDestination.Clear(); } var newGuid = Guid.Empty; //common methods for add/Update operations.. AddOrUpdateSchedules(routingRule, newGuid, ruleId, rule); AddOrUpdateDestination(routingRule, newGuid, ruleId, rule); AddOrUpdateTranPriority(routingRule, newGuid, ruleId, rule); rule.RoutingRuleName = routingRule.RoutingRuleName.Trim(); rule.SearchCriteriaGranularityLevel = routingRule.SearchCriteriaGranularityLevel; rule.LastModifiedByActorKey = routingRule.ActorKey; rule.LastModifiedUTCDateTime = DateTime.UtcNow; _routingRulesRepository.UpdateRoutingRule(rule); _unitOfWork.CommitChanges(); SendEvent(GetByID(ruleId), "Update", headers); var result = new BusinessResponse() { IsSuccess = true, Message = "Routing Rule Updated Successfully" }; return(result); } catch (Exception ex) { var exception = new BusinessResponse() { IsSuccess = false, Message = ex.Message }; return(exception); } }
public void UpdateRoutingRule_ValidArgument_ShouldUpdateRoutingRule() { //Arrange var mockFacilityGuid = Utility.ParseStringToGuid(_executionContextAccessor.Current.Facility.FacilityKey); var mockRoutingRuleGuid1 = Utility.GetNewGuid(); var mockRoutingRuleName1 = "test"; var mockRoutingRuleGuid2 = Utility.GetNewGuid(); var mockRoutingRuleName2 = "test new"; var mockScheduleGuid1 = Utility.GetNewGuid(); var mockScheduleGuid2 = Utility.GetNewGuid(); Dictionary <string, string> headers = new Dictionary <string, string>(); var fakeSchedule1 = new ScheduleTiming { ScheduleTimingKey = mockScheduleGuid1, ScheduleTimingName = "Test Schedule" }; var fakeSchedule2 = new ScheduleTiming { ScheduleTimingKey = mockScheduleGuid2, ScheduleTimingName = "Test Schedule 2" }; var fakeRoutingRuleSchedule = new RoutingRuleScheduleTiming { RoutingRuleScheduleTimingKey = Utility.GetNewGuid(), TenantKey = Utility.ParseStringToGuid(_executionContextAccessor.Current.Tenant.TenantKey), ScheduleTimingKey = mockScheduleGuid1, RoutingRuleKey = mockRoutingRuleGuid2, }; var fakeCollectionRoutingRuleSchedule = new List <RoutingRuleScheduleTiming>(); fakeCollectionRoutingRuleSchedule.Add(fakeRoutingRuleSchedule); var fakeRoutingRule1 = Task.FromResult <RoutingRule>(new RoutingRule { RoutingRuleKey = mockRoutingRuleGuid1, RoutingRuleName = mockRoutingRuleName1, FacilityKey = mockFacilityGuid, TenantKey = Utility.ParseStringToGuid(_executionContextAccessor.Current.Tenant.TenantKey), }); var fakeRoutingRule2 = Task.FromResult <RoutingRule>(new RoutingRule { RoutingRuleKey = mockRoutingRuleGuid2, RoutingRuleName = mockRoutingRuleName2, FacilityKey = mockFacilityGuid, TenantKey = Utility.ParseStringToGuid(_executionContextAccessor.Current.Tenant.TenantKey), RoutingRuleScheduleTiming = fakeCollectionRoutingRuleSchedule }); var fakeRountingSchedule = new RequestRoutingRuleSchedule { ScheduleKey = mockScheduleGuid2 }; var routingRuleScheduleList = new List <RequestRoutingRuleSchedule>(); routingRuleScheduleList.Add(fakeRountingSchedule); var routingRuleReq = new RoutingRuleRequest { RoutingRuleName = mockRoutingRuleName2, SearchCriteriaGranularityLevel = 1, ActorKey = Guid.Parse("6DD7B978-2BAE-4C0B-9ED2-0A79FB689A46"), RoutingRuleSchedules = routingRuleScheduleList, }; _mockRoutingRuleRepository.Setup(x => x.GetRoutingRule(mockRoutingRuleName1, mockFacilityGuid)).Returns(fakeRoutingRule1); _mockRoutingRuleRepository.Setup(x => x.GetRoutingRule(mockRoutingRuleGuid2, mockFacilityGuid)).Returns(fakeRoutingRule2); //Act var response = _routingRuleManager.UpdateRoutingRule(routingRuleReq, mockRoutingRuleGuid2, headers); //Assert Assert.Contains("Routing Rule Updated Successfully", response.Message); Assert.True(response.IsSuccess); }
public void UpdateRoutingRule_RequiredParameterMissing_ShouldReturnError() { //Arrange var mockFacilityGuid = Utility.ParseStringToGuid(_executionContextAccessor.Current.Facility.FacilityKey); var mockRoutingRuleGuid1 = Utility.GetNewGuid(); var mockRoutingRuleName1 = "test"; var mockRoutingRuleGuid2 = Utility.GetNewGuid(); var mockRoutingRuleName2 = "test new"; var mockScheduleGuid1 = Utility.GetNewGuid(); var mockScheduleGuid2 = Utility.GetNewGuid(); Dictionary <string, string> headers = new Dictionary <string, string>(); var fakeRoutingRule1 = Task.FromResult <RoutingRule>(new RoutingRule { RoutingRuleKey = mockRoutingRuleGuid1, RoutingRuleName = mockRoutingRuleName1, FacilityKey = mockFacilityGuid, TenantKey = Utility.ParseStringToGuid(_executionContextAccessor.Current.Tenant.TenantKey), }); var fakeRoutingRule2 = Task.FromResult <RoutingRule>(new RoutingRule { RoutingRuleKey = mockRoutingRuleGuid2, RoutingRuleName = mockRoutingRuleName2, FacilityKey = mockFacilityGuid, TenantKey = Utility.ParseStringToGuid(_executionContextAccessor.Current.Tenant.TenantKey), }); var fakeSchedule1 = new ScheduleTiming { ScheduleTimingKey = mockScheduleGuid1, ScheduleTimingName = "Test Schedule" }; var fakeSchedule2 = new ScheduleTiming { ScheduleTimingKey = mockScheduleGuid2, ScheduleTimingName = "Test Schedule 2" }; var fakeRoutingRuleSchedule = new RoutingRuleScheduleTiming { RoutingRuleScheduleTimingKey = Utility.GetNewGuid(), TenantKey = Utility.ParseStringToGuid(_executionContextAccessor.Current.Tenant.TenantKey), ScheduleTimingKey = mockScheduleGuid1, RoutingRuleKey = mockRoutingRuleGuid2, }; var routingRuleReq = new RoutingRuleRequest { RoutingRuleName = mockRoutingRuleName2, SearchCriteriaGranularityLevel = 1, ActorKey = Guid.Parse("6DD7B978-2BAE-4C0B-9ED2-0A79FB689A46") }; _mockRoutingRuleRepository.Setup(x => x.GetRoutingRule(mockRoutingRuleName1, mockFacilityGuid)).Returns(fakeRoutingRule1); _mockRoutingRuleRepository.Setup(x => x.GetRoutingRule(mockRoutingRuleGuid2, mockFacilityGuid)).Returns(fakeRoutingRule2); //Act var response = _routingRuleManager.UpdateRoutingRule(routingRuleReq, mockRoutingRuleGuid2, headers); //Assert Assert.Contains("Please select any schedule or destination or transaction priority.", response.Message); Assert.False(response.IsSuccess); }