public IActionResult SelectPreferenciasForInversor(SelectedPreferenciasForInversor SelectedPreferencias) { if ((SelectedPreferencias.IdsToAddAreas != null) && (SelectedPreferencias.IdsToAddRating != null) && (SelectedPreferencias.IdsToAddTiposInversion != null)) { return(RedirectToAction("create", SelectedPreferencias)); } ModelState.AddModelError(string.Empty, "Debes seleccionar al menos un Area, un Rating y un Tipo de Inversion"); SelectPreferenciasForInversorViewModel SelectPreferencias = new SelectPreferenciasForInversorViewModel(); SelectPreferencias.Areas = _context.Areas.ToList(); SelectPreferencias.TiposInversiones = _context.TiposInversiones.ToList(); SelectPreferencias.Rating = _context.Rating.ToList(); return(View(SelectPreferencias)); }
public async Task Select_FallandoAreasyTiposInversiones() { // Arrange using (context) //Set the test case will use the inMemory database created in the constructor { var controller = new AccountController(null, null, null, null, context); //Areas var areaEsperada = new Areas[18] { new Areas { AreasId = 1, Nombre = "Sanidad" }, new Areas { AreasId = 2, Nombre = "Consultoria" }, new Areas { AreasId = 3, Nombre = "Educación" }, new Areas { AreasId = 4, Nombre = "Seguridad" }, new Areas { AreasId = 5, Nombre = "Construcción" }, new Areas { AreasId = 6, Nombre = "Transporte" }, new Areas { AreasId = 7, Nombre = "TIC" }, new Areas { AreasId = 8, Nombre = "Ingeniería" }, new Areas { AreasId = 9, Nombre = "Hogar" }, new Areas { AreasId = 10, Nombre = "Alimentación" }, new Areas { AreasId = 11, Nombre = "Textil" }, new Areas { AreasId = 12, Nombre = "Comercio" }, new Areas { AreasId = 13, Nombre = "Hosteleria" }, new Areas { AreasId = 14, Nombre = "Administración" }, new Areas { AreasId = 15, Nombre = "Automóviles" }, new Areas { AreasId = 16, Nombre = "Reparaciones" }, new Areas { AreasId = 17, Nombre = "Banca" }, new Areas { AreasId = 18, Nombre = "Maquinaría" } }; //TiposInversiones var tipoEsperado = new TiposInversiones[3] { new TiposInversiones { TiposInversionesId = 1, Nombre = "Business Angels" }, new TiposInversiones { TiposInversionesId = 2, Nombre = "Crownfunding" }, new TiposInversiones { TiposInversionesId = 3, Nombre = "Venture Capital" } }; //Rating var ratingEsperado = new Rating[4] { new Rating { Nombre = "A" }, new Rating { RatingId = 2, Nombre = "B" }, new Rating { RatingId = 3, Nombre = "C" }, new Rating { RatingId = 4, Nombre = "D" } }; string[] idAreas = new string[1] { "1" }; string[] idRating = new string[1] { "1" }; string[] idTiposInversion = new string[1] { "1" }; SelectedPreferenciasForInversor preferencias = new SelectedPreferenciasForInversor { IdsToAddAreas = null, IdsToAddRating = idRating, IdsToAddTiposInversion = null }; //Act var result = controller.SelectPreferenciasForInversor(preferencias); //Assert var viewResult = Assert.IsType <ViewResult>(result); SelectPreferenciasForInversorViewModel model = viewResult.Model as SelectPreferenciasForInversorViewModel; Assert.Equal(areaEsperada, model.Areas, Comparer.Get <Areas>((a1, a2) => a1.Nombre == a2.Nombre)); Assert.Equal(tipoEsperado, model.TiposInversiones, Comparer.Get <TiposInversiones>((t1, t2) => t1.Nombre == t2.Nombre)); Assert.Equal(ratingEsperado, model.Rating, Comparer.Get <Rating>((r1, r2) => r1.Nombre == r2.Nombre)); } }
public async Task Select_ConParametros() { // Arrange using (context) //Set the test case will use the inMemory database created in the constructor { var controller = new AccountController(null, null, null, null, context); //Areas var areaEsperada = new Areas[18] { new Areas { AreasId = 1, Nombre = "Sanidad" }, new Areas { AreasId = 2, Nombre = "Consultoria" }, new Areas { AreasId = 3, Nombre = "Educación" }, new Areas { AreasId = 4, Nombre = "Seguridad" }, new Areas { AreasId = 5, Nombre = "Construcción" }, new Areas { AreasId = 6, Nombre = "Transporte" }, new Areas { AreasId = 7, Nombre = "TIC" }, new Areas { AreasId = 8, Nombre = "Ingeniería" }, new Areas { AreasId = 9, Nombre = "Hogar" }, new Areas { AreasId = 10, Nombre = "Alimentación" }, new Areas { AreasId = 11, Nombre = "Textil" }, new Areas { AreasId = 12, Nombre = "Comercio" }, new Areas { AreasId = 13, Nombre = "Hosteleria" }, new Areas { AreasId = 14, Nombre = "Administración" }, new Areas { AreasId = 15, Nombre = "Automóviles" }, new Areas { AreasId = 16, Nombre = "Reparaciones" }, new Areas { AreasId = 17, Nombre = "Banca" }, new Areas { AreasId = 18, Nombre = "Maquinaría" } }; //TiposInversiones var tipoEsperado = new TiposInversiones[3] { new TiposInversiones { TiposInversionesId = 1, Nombre = "Business Angels" }, new TiposInversiones { TiposInversionesId = 2, Nombre = "Crownfunding" }, new TiposInversiones { TiposInversionesId = 3, Nombre = "Venture Capital" } }; //Rating var ratingEsperado = new Rating[4] { new Rating { Nombre = "A" }, new Rating { RatingId = 2, Nombre = "B" }, new Rating { RatingId = 3, Nombre = "C" }, new Rating { RatingId = 4, Nombre = "D" } }; string[] idAreas = new string[1] { "1" }; string[] idRating = new string[1] { "1" }; string[] idTiposInversion = new string[1] { "1" }; SelectedPreferenciasForInversor preferencias = new SelectedPreferenciasForInversor { IdsToAddAreas = idAreas, IdsToAddRating = idRating, IdsToAddTiposInversion = idTiposInversion }; //Act var result = controller.SelectPreferenciasForInversor(preferencias); //Assert var viewResult = Assert.IsType <RedirectToActionResult>(result); var currentAreas = viewResult.RouteValues.Values.First(); var currentRating = viewResult.RouteValues.Values.First(); var currentTiposInversiones = viewResult.RouteValues.Values.First(); Assert.Equal(preferencias.IdsToAddAreas, currentAreas); Assert.Equal(preferencias.IdsToAddRating, currentRating); Assert.Equal(preferencias.IdsToAddTiposInversion, currentTiposInversiones); } }