public void ConfiguringAnInsolvencyAsHal_WithDisputesProvided_EmbedsDisputesIntoHalResponse() { // Arrange var expectedDispute = new DisputeModel { DateRaised = new DateTime(2017, 10, 12), Displayed = true, DisputeId = 1, InsolvencyOrderId = 2, ReferenceNumber = "fdshiu308j" }; var expectedInsolvency = new InsolvencyOrderModel { Disputes = new List <DisputeModel> { expectedDispute } }; var addressResolverMock = new Mock <IAddressResolver>(); var includeReader = new Mock <IIncludeReader>(); includeReader.Setup(x => x.GetIncludes()).Returns(new string[] { "disputes" }); var responseObject = new InsolvencyOrderResponse(addressResolverMock.Object, includeReader.Object); // Act var halResponse = responseObject.FormatForHal(expectedInsolvency); // Assert halResponse.ShouldHaveEmbeddedCollection(DomainResources.Disputes_camelCase, expectedInsolvency.Disputes); }
public void FormattingADisputeAsHal_WithAllLinkCallsInTheConfiguration_DoesntAskForMoreLinksThanItNeeds() { // Arrange const int disputeId = 12345; var mockedAddressResolver = new Mock <IAddressResolver>(); var responseObject = new DisputeResponse(mockedAddressResolver.Object); var expectedDispute = new DisputeModel { DisputeId = disputeId }; var callsToGetLinkToCollection = Times.Never(); var callsToGetLink = Times.Exactly(2); var callsToGetLinkToEmbeddedCollection = Times.Never(); var callsToGetLinkToEmbeddedItem = Times.Never(); var callsToGetLinkToSelf = Times.Never(); var callsToGetParent = Times.Never(); var callsToGetPostLink = Times.Never(); // Act responseObject.FormatForHal(expectedDispute); // Assert TestAssertions.ValidateCallsToAddLinksInHalConfiguration( mockedAddressResolver, callsToGetLinkToCollection, callsToGetLink, callsToGetLinkToEmbeddedCollection, callsToGetLinkToEmbeddedItem, callsToGetLinkToSelf, callsToGetParent, callsToGetPostLink); }
/// <summary> /// GetDisputes /// </summary> /// <returns></returns> public IEnumerable <DisputeModel> GetDisputes() { try { var tblDisputes = _dbEntity.tblDisputes.Where(x => x.IsResolved == false || x.IsResolved == null).ToList(); List <DisputeModel> listdisputes = new List <DisputeModel>(); foreach (var item in tblDisputes) { DisputeModel disputes = new DisputeModel(); disputes.Id = (long)item.Id; disputes.RaisedById = (long)item.RaisedBy; disputes.RaisedForId = (long)item.RaisedFor; long raisedByid = (long)item.RaisedBy; var raisedbyUser = _dbEntity.tblUsers.FirstOrDefault(x => x.Id == raisedByid); long raisedForid = (long)item.RaisedFor; var raisedforUser = _dbEntity.tblUsers.FirstOrDefault(x => x.Id == raisedForid); long bookingid = (long)item.BookingId; var booking = _dbEntity.tblBookings.Find(bookingid); if (booking.UserId == item.RaisedBy) { disputes.RaisedBy = raisedbyUser.FirstName + " " + raisedbyUser.LastName + " (Renter)"; disputes.RaisedFor = raisedforUser.FirstName + " " + raisedforUser.LastName + " (Owner)"; } else if (booking.OwnerId == item.RaisedBy) { disputes.RaisedBy = raisedbyUser.FirstName + " " + raisedbyUser.LastName + " (Owner)"; disputes.RaisedFor = raisedforUser.FirstName + " " + raisedforUser.LastName + " (Renter)"; } disputes.BookingId = item.BookingId.ToString(); disputes.CreatedDate = item.CreatedDate.ToString(); disputes.Reason = item.Reason; listdisputes.Add(disputes); } return(listdisputes); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } Common.ExcepLog(dbEx); throw; } catch (Exception ex) { Common.ExcepLog(ex); throw; } }
public void FormattingADisputeAsHal_WithDataProvided_CreatesHalConfigurationModelEqualToTheProvidedData() { // Arrange var mockedAddressResolver = new Mock <IAddressResolver>(); var responseObject = new DisputeResponse(mockedAddressResolver.Object); var dispute = new DisputeModel(); // Act var halResponse = responseObject.FormatForHal(dispute); // Assert halResponse.ShouldHaveModel(dispute); }
public void FormattingADisputeAsHal_SettingHalForceTrue_ConfiguresForceHalTrue() { // Arrange var mockedAddressResolver = new Mock <IAddressResolver>(); var responseObject = new DisputeResponse(mockedAddressResolver.Object); var dispute = new DisputeModel(); // Act var halResponse = responseObject.FormatForHal(dispute); // Assert Assert.IsTrue(halResponse.Config.ForceHAL); }
public void FormattingADisputeAsHal_WithDataProvided_CreatesHalFormatResponse() { // Arrange var mockedAddressResolver = new Mock <IAddressResolver>(); var responseObject = new DisputeResponse(mockedAddressResolver.Object); var dispute = new DisputeModel(); // Act var halResponse = responseObject.FormatForHal(dispute); // Assert Assert.IsNotNull(halResponse); }
public void FormattingADisputeAsHal_WithNullDataProvided_ThrowsArgumentNullException() { // Arrange DisputeModel dispute = null; var mockedAddressResolver = new Mock <IAddressResolver>(); var responseObject = new DisputeResponse(mockedAddressResolver.Object); // Act void CreateHalResponse() => responseObject.FormatForHal(dispute); // Assert Assert.ThrowsException <ArgumentNullException>((Action)CreateHalResponse); }
public void FormattingADisputetAsHal_WithNullDataProvided_HasCorrectParameterNameInException() { // Arrange const string expectedParameterName = "item"; DisputeModel dispute = null; var mockedAddressResolver = new Mock <IAddressResolver>(); var responseObject = new DisputeResponse(mockedAddressResolver.Object); // Act void CreateHalResponse() => responseObject.FormatForHal(dispute); // Assert ExceptionAssert.HasCorrectParameterNameForArgumentException(CreateHalResponse, expectedParameterName); }
public void FormattingADisputeAsHal_WithACallToGetALinkForTheParentDisputeCollectionInTheConfiguration_CallsGetLink() { // Arrange const int disputeId = 12345; var mockedAddressResolver = new Mock <IAddressResolver>(); var responseObject = new DisputeResponse(mockedAddressResolver.Object); var expectedDispute = new DisputeModel { DisputeId = disputeId }; // Act responseObject.FormatForHal(expectedDispute); // Assert mockedAddressResolver.Verify( mock => mock.GetLink(DomainResources.Disputes, CommonLinks.Parent), Times.Once); }
public IActionResult Index(int AuditMainId) { try { if (isAuditor) { var disp = _auditToolContext.AuditMain.Where(y => y.Id == AuditMainId && (y.IsDisputed == true || y.IsEscalated == true)).FirstOrDefault(); if (disp != null) { return(RedirectToAction("Details", "Search")); } var model = new DisputeModel { //need check for isDisputed AuditMain = _auditToolContext.AuditMain.FirstOrDefault(x => x.Id == AuditMainId) }; var auditResponses = _auditToolContext.AuditMainResponse.Where(x => x.AuditMainId == AuditMainId && x.IsNonCompliant == true).ToList(); var subcategory = _auditToolContext.SubCategory.Where(x => x.SubCatgId == model.AuditMain.SubcategoryId).FirstOrDefault(); var category = _auditToolContext.Category.Where(x => x.CatgId == model.AuditMain.ServiceGroupId).FirstOrDefault(); model.ServiceDeliveryGroupName = category == null ? string.Empty : category.CatgDescription; model.SubCategoryName = subcategory == null ? string.Empty : subcategory.SubCatgDescription; var listOfValues = _auditToolContext.ListOfValue.Where(x => x.IsActive == true).ToList(); var gracePeriod = new List <SelectListItem> { new SelectListItem() { Text = "--Select--", Value = "0", Selected = true } }; foreach (var item in listOfValues.Where(x => x.CodeType.Trim() == "Grace Period")) { gracePeriod.Add(new SelectListItem() { Text = item.Code, Value = item.Id.ToString() }); } var overturn = new List <SelectListItem> { new SelectListItem() { Text = "--Select--", Value = "0", Selected = true } }; foreach (var item in listOfValues.Where(x => x.CodeType.Trim() == "Over Turn")) { overturn.Add(new SelectListItem() { Text = item.Code, Value = item.Id.ToString() }); } var auditNonCompList = new List <AuditNonComplianceModel>(); foreach (var auditRes in auditResponses) { var questionText = _auditToolContext.QuestionBank.Where(x => x.QuestionId == auditRes.QuestionId).FirstOrDefault(); if (questionText != null) { auditNonCompList.Add(new AuditNonComplianceModel() { QuestionId = auditRes.QuestionId, Question = questionText.QuestionDescription, //need to call service to get the question IsCompliant = (bool)auditRes.IsCompliant, IsNonCompliant = (bool)auditRes.IsNonCompliant, IsHighNonCompliant = (bool)auditRes.IsHighNonComplianceImpact, DowngradeRequired = false, IsCorrectionRequired = (bool)auditRes.IsCorrectionRequired, NonComplianceComments = auditRes.NonComplianceComments, TicketId = auditRes.TicketId, QuestionRank = (int)auditRes.QuestionRank }); } } model.GracePeriod = gracePeriod; model.Overturn = overturn; model.AuditNonComplianceModel = auditNonCompList; return(View(model)); } } catch (Exception ex) { _logger.LogInformation($"Exception in Index method"); _log.WriteErrorLog(new LogItem { ErrorType = "Error", ErrorSource = "DisputeController_Index", ErrorDiscription = ex.InnerException != null ? ex.InnerException.ToString() : ex.Message }); } return(RedirectToAction("Index", "Home")); }