public void RuleForEach_NoErrorShouldOccurWhenDCFValuesIsLowerThanNonObligatedOfSameCategoryType() { var model = new NonObligatedValuesViewModel(calculator); List <NonObligatedData> nonObligatedList = new List <NonObligatedData>(); for (var count = 0; count < model.CategoryValues.Count; count++) { model.CategoryValues.ElementAt(count).Tonnage = (count + 2).ToString(); var @decimal = decimal.Parse(model.CategoryValues.ElementAt(count).Tonnage); var nonObligatedData = new NonObligatedData(model.CategoryValues.ElementAt(count).CategoryId, @decimal, model.CategoryValues.ElementAt(count).Dcf, Guid.NewGuid()); nonObligatedList.Add(nonObligatedData); } var returnData = new ReturnData { NonObligatedData = nonObligatedList }; for (var count = 0; count < model.CategoryValues.Count; count++) { model.CategoryValues.ElementAt(count).Tonnage = (count + 1).ToString(); model.CategoryValues.ElementAt(count).Dcf = true; } validator = new NonObligatedValuesViewModelValidator(returnData); ValidationResult validationResult = validator.Validate(model); validationResult.IsValid.Should().BeTrue(); }
public void ViewModelToRequested_GivenValidViewModel_RequestShouldNotBeNull() { var categoryValues = new NonObligatedCategoryValues(); var viewModel = new NonObligatedValuesViewModel(categoryValues, calculator); var request = requestCreator.ViewModelToRequest(viewModel); request.Should().NotBeNull(); }
public void ViewModelToRequest_GivenEditViewModel_RequestTypeShouldBeEdit() { var model = new NonObligatedValuesViewModel(calculator); model.CategoryValues.ElementAt(0).Id = Guid.NewGuid(); var request = requestCreator.ViewModelToRequest(model); request.Should().BeOfType <EditNonObligated>(); }
public void ViewModelToRequested_GivenValidViewModel_CategoryValuesDcfShouldBeMapped(bool dcf) { var model = new NonObligatedValuesViewModel(calculator) { Dcf = dcf }; var request = requestCreator.ViewModelToRequest(model) as AddNonObligated; request.Dcf.Should().Be(model.Dcf); }
public async void IndexPost_GivenValidViewModel_ApiSendShouldBeCalled() { var model = new NonObligatedValuesViewModel(calculator); var request = new AddNonObligated(); A.CallTo(() => requestCreator.ViewModelToRequest(model)).Returns(request); await controller.Index(model); A.CallTo(() => weeeClient.SendAsync(A <string> ._, request)).MustHaveHappened(Repeated.Exactly.Once); }
public void ViewModelToRequested_GivenValidViewModel_CategoryValuesDcfShouldBeFalse() { var categoryValues = new NonObligatedCategoryValues(); var viewModel = new NonObligatedValuesViewModel(categoryValues, calculator); var request = requestCreator.ViewModelToRequest(viewModel); for (var i = 0; i < categoryValues.Count; i++) { request.CategoryValues[i].Dcf.Should().BeFalse(); } }
public async void IndexPost_GivenNonObligatedDcfValuesAreSubmitted_PageRedirectShouldBeCorrect() { var model = new NonObligatedValuesViewModel(calculator) { Dcf = true }; var result = await controller.Index(model) as RedirectToRouteResult; result.RouteValues["action"].Should().Be("Index"); result.RouteValues["controller"].Should().Be("AatfTaskList"); result.RouteValues["area"].Should().Be("AatfReturn"); }
public void ViewModelToRequested_GivenValidViewModel_ViewModelPropertiesShouldBeMapped() { var model = new NonObligatedValuesViewModel(calculator) { Dcf = true, OrganisationId = Guid.NewGuid(), ReturnId = Guid.NewGuid() }; var request = requestCreator.ViewModelToRequest(model) as AddNonObligated; request.OrganisationId.Should().Be(model.OrganisationId); request.ReturnId.Should().Be(model.ReturnId); request.Dcf.Should().Be(model.Dcf); }
public void ViewModelToRequest_GivenEditViewModel_CategoryValuesShouldBeMapped() { var model = new NonObligatedValuesViewModel(calculator) { CategoryValues = new List <NonObligatedCategoryValue>() { new NonObligatedCategoryValue() } }; model.CategoryValues.ElementAt(0).Id = Guid.NewGuid(); var request = requestCreator.ViewModelToRequest(model); request.CategoryValues.Should().NotBeNull(); request.CategoryValues.Count().Should().Be(1); }
public virtual async Task <ActionResult> Index(NonObligatedValuesViewModel viewModel) { using (var client = apiClient()) { if (ModelState.IsValid) { var request = requestCreator.ViewModelToRequest(viewModel); await client.SendAsync(User.GetAccessToken(), request); return(RedirectToAction("Index", "AatfTaskList", new { area = "AatfReturn", organisationId = viewModel.OrganisationId, returnId = viewModel.ReturnId })); } await SetBreadcrumb(viewModel.OrganisationId, BreadCrumbConstant.AatfReturn, DisplayHelper.YearQuarterPeriodFormat(TempData["currentQuarter"] as Quarter, TempData["currentQuarterWindow"] as QuarterWindow)); return(View(viewModel)); } }
public void ViewModelToRequested_GivenValidViewModelWithEmptyValues_CategoryValuesRequestPropertiesShouldBeMapped(string value) { var categoryValues = new NonObligatedCategoryValues(); var viewModel = new NonObligatedValuesViewModel(categoryValues, calculator); foreach (var t in categoryValues) { t.Tonnage = value; } var request = requestCreator.ViewModelToRequest(viewModel); for (var i = 0; i < categoryValues.Count; i++) { request.CategoryValues[i].Tonnage.Should().BeNull(); } }
public void ViewModelToRequested_GivenValidViewModelWithDecimalValues_CategoryValuesRequestPropertiesShouldBeMapped() { var categoryValues = new NonObligatedCategoryValues(); var viewModel = new NonObligatedValuesViewModel(categoryValues, calculator); for (var i = 0; i < categoryValues.Count; i++) { categoryValues[i].Tonnage = (i * 0.001m).ToString(CultureInfo.InvariantCulture); } var request = requestCreator.ViewModelToRequest(viewModel); for (var i = 0; i < categoryValues.Count; i++) { request.CategoryValues[i].Tonnage.Should().Be(Convert.ToDecimal(viewModel.CategoryValues[i].Tonnage)); } }
public void ViewModelToRequested_GivenValidViewModel_CategoryValuesRequestPropertiesShouldBeMapped() { var categoryValues = new NonObligatedCategoryValues(); var viewModel = new NonObligatedValuesViewModel(categoryValues, calculator); for (var i = 0; i < categoryValues.Count; i++) { categoryValues[i].Tonnage = i.ToString(); } var request = requestCreator.ViewModelToRequest(viewModel); for (var i = 0; i < categoryValues.Count; i++) { request.CategoryValues[i].Tonnage.Should().Be(Convert.ToDecimal(viewModel.CategoryValues[i].Tonnage)); request.CategoryValues[i].CategoryId.Should().Be(viewModel.CategoryValues[i].CategoryId); } }
public void RuleForEach_ErrorShouldOccurWhenNonObligatedValueIsLowerThanDcfValueOfSameCategoryType() { var model = new NonObligatedValuesViewModel(calculator) { Dcf = true }; List <NonObligatedData> nonObligatedList = new List <NonObligatedData>(); for (var count = 0; count < model.CategoryValues.Count; count++) { model.CategoryValues.ElementAt(count).Tonnage = (count + 2).ToString(); var @decimal = decimal.Parse(model.CategoryValues.ElementAt(count).Tonnage); var nonObligatedData = new NonObligatedData(model.CategoryValues.ElementAt(count).CategoryId, @decimal, true, Guid.NewGuid()); nonObligatedList.Add(nonObligatedData); } var returnData = new ReturnData { NonObligatedData = nonObligatedList }; for (var count = 0; count < model.CategoryValues.Count; count++) { model.CategoryValues.ElementAt(count).Tonnage = (count + 1).ToString(); model.CategoryValues.ElementAt(count).Dcf = false; } model.Dcf = false; validator = new NonObligatedValuesViewModelValidator(returnData); ValidationResult validationResult = validator.Validate(model); validationResult.IsValid.Should().BeFalse(); validationResult.Errors.Count.Should().Be(14); for (var i = 0; i < validationResult.Errors.Count; i++) { var categoryId = i + 1; validationResult.Errors[i].ErrorMessage.Should().Be("Category " + categoryId + " tonnage must be greater than or equal to " + returnData.NonObligatedData[i].Tonnage); validationResult.Errors[i].PropertyName.Should().Be("CategoryValues[" + i + "].Tonnage"); } }
public void GivenNonObligatedValuesViewModel_CalculatorShouldBeTypeCategoryValuesTotalCalculator() { var newModel = new NonObligatedValuesViewModel(); newModel.GetCalculator().GetType().Should().Be(typeof(CategoryValueTotalCalculator)); }
public NonObligatedValueViewModelTests() { calculator = new CategoryValueTotalCalculator(); model = new NonObligatedValuesViewModel(calculator); }