private ActionResult GetRuleErrorView(MovementRulesSummary ruleSummary) { if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalShipmentsReached && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("TotalMovementsReached")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityReached && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("TotalIntendedQuantityReached")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityExceeded && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("TotalIntendedQuantityExceeded")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentPeriodExpired && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("ConsentPeriodExpired")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentWithdrawn && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("ConsentWithdrawn")); } throw new InvalidOperationException("Unknown rule view"); }
public CreateControllerTests() { mediator = A.Fake <IMediator>(); controller = new CreateController(mediator); var movementRulesSummary = new MovementRulesSummary(new List <RuleResult <MovementRules> >()); A.CallTo(() => mediator.SendAsync(A <GetMovementRulesSummary> .Ignored)).Returns(movementRulesSummary); A.CallTo(() => mediator.SendAsync(A <GetShipmentInfo> .Ignored)).Returns(GetShipmentInfo()); }
public async Task Index_Send_Request_ConsentExpired() { MovementRulesSummary movementRulesSummary = new MovementRulesSummary(CreateRule(MovementRules.ConsentPeriodExpired)); A.CallTo(() => mediator.SendAsync(A <GetMovementRulesSummary> .Ignored)).Returns(movementRulesSummary); var result = await controller.Index(Guid.NewGuid()) as RedirectToRouteResult; A.CallTo(() => mediator.SendAsync(A <GetMovementRulesSummary> .Ignored)) .MustHaveHappened(Repeated.Exactly.Once); Assert.NotNull(result); Assert.True(result.RouteValues["action"].ToString() == "ConsentPeriodExpired"); }
public async Task Index_Send_Request() { MovementRulesSummary movementRulesSummary = new MovementRulesSummary(new List <RuleResult <MovementRules> >()); A.CallTo(() => mediator.SendAsync(A <GetMovementRulesSummary> .Ignored)).Returns(movementRulesSummary); var result = await controller.Index(Guid.NewGuid()) as ViewResult; A.CallTo(() => mediator.SendAsync(A <GetMovementRulesSummary> .Ignored)) .MustHaveHappened(Repeated.Exactly.Once); Assert.NotNull(result); Assert.True(result.ViewName == "Index"); }
private ActionResult GetRuleErrorView(MovementRulesSummary ruleSummary) { if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalShipmentsReached && r.MessageLevel == MessageLevel.Error)) { return RedirectToAction("TotalMovementsReached"); } else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityReached && r.MessageLevel == MessageLevel.Error)) { return RedirectToAction("TotalIntendedQuantityReached"); } else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityExceeded && r.MessageLevel == MessageLevel.Error)) { return RedirectToAction("TotalIntendedQuantityExceeded"); } else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.HasApprovedFinancialGuarantee && r.MessageLevel == MessageLevel.Error)) { return RedirectToAction("NoApprovedFinancialGuarantee"); } else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ActiveLoadsReached && r.MessageLevel == MessageLevel.Error)) { return RedirectToAction("TotalActiveLoadsReached"); } else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentPeriodExpired && r.MessageLevel == MessageLevel.Error)) { return RedirectToAction("ConsentPeriodExpired"); } else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentExpiresInFourWorkingDays && r.MessageLevel == MessageLevel.Error)) { return RedirectToAction("ConsentExpiresInFourWorkingDays"); } else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentExpiresInThreeOrLessWorkingDays && r.MessageLevel == MessageLevel.Error)) { return RedirectToAction("ConsentExpiresInThreeOrLessWorkingDays"); } else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentWithdrawn && r.MessageLevel == MessageLevel.Error)) { return RedirectToAction("ConsentWithdrawn"); } else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.FileClosed && r.MessageLevel == MessageLevel.Error)) { return RedirectToAction("FileClosed"); } throw new InvalidOperationException("Unknown rule view"); }
private ActionResult GetRuleErrorView(MovementRulesSummary ruleSummary) { if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalShipmentsReached && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("TotalMovementsReached")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityReached && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("TotalIntendedQuantityReached")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityExceeded && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("TotalIntendedQuantityExceeded")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.HasApprovedFinancialGuarantee && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("NoApprovedFinancialGuarantee")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentPeriodExpired && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("ConsentPeriodExpired")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentExpiresInFourWorkingDays && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("ConsentExpiresInFourWorkingDays")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentExpiresInThreeOrLessWorkingDays && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("ConsentExpiresInThreeOrLessWorkingDays")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentWithdrawn && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("ConsentWithdrawn")); } if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.FileClosed && r.MessageLevel == MessageLevel.Error)) { return(RedirectToAction("FileClosed")); } throw new InvalidOperationException("Unknown rule view"); }
public async Task <ActionResult> Index(Guid notificationId) { ViewBag.NotificationId = notificationId; var ruleSummary = await mediator.SendAsync(new GetMovementRulesSummary(notificationId)); var updatedRules = ruleSummary.RuleResults.Where(p => p.Rule != MovementRules.ConsentExpiresInThreeOrLessWorkingDays && p.Rule != MovementRules.ConsentExpiresInFourWorkingDays && p.Rule != MovementRules.HasApprovedFinancialGuarantee && p.Rule != MovementRules.FileClosed); var updatedSummary = new MovementRulesSummary(updatedRules); if (!updatedSummary.IsSuccess) { return(GetRuleErrorView(updatedSummary)); } var model = new PrenotificationBulkUploadViewModel(notificationId); return(View("Index", model)); }