public async Task Select_ProyectoSeleccionados() { using (context) { //Arrange var controller = new SolicitudesController(context); controller.ControllerContext.HttpContext = solicitudContext; String[] ids = new string[1] { "1" }; SelectedProyectosForSolicitudViewModel proyectos = new SelectedProyectosForSolicitudViewModel { IdsToAdd = ids }; // Act var result = controller.SelectProyectosForSolicitud(proyectos); // Assert var viewResult = Assert.IsType <RedirectToActionResult>(result); Assert.Equal(viewResult.ActionName, "Create"); var resultadoproyectos = viewResult.RouteValues.Values.First(); Assert.Equal(proyectos.IdsToAdd, resultadoproyectos); } }
public async Task Select_NoProyectoSeleccionados() { using (context) { //Arrange var controller = new SolicitudesController(context); controller.ControllerContext.HttpContext = solicitudContext; var proyectosesperados = new Proyecto[2] { new Proyecto { ProyectoId = 1, FechaExpiracion = new DateTime(2019, 01, 23), Importe = 70000, Interes = null, MinInversion = 50, Nombre = "POCHOLO RULES", NumInversores = 0, Plazo = null, Progreso = 0, RatingId = null }, new Proyecto { ProyectoId = 2, FechaExpiracion = new DateTime(2019, 01, 23), Importe = 30000, Interes = null, MinInversion = 50, Nombre = "GRE-GYM", NumInversores = 0, Plazo = null, Progreso = 0, RatingId = null } }; //Areas y Tipos que se espera que se retornen var tiposEsperados = new TiposInversiones[1] { new TiposInversiones { Nombre = "Crowdfunding" } }; var areasEsperadas = new Areas[1] { new Areas { Nombre = "TIC" } }; SelectedProyectosForSolicitudViewModel proyectos = new SelectedProyectosForSolicitudViewModel { IdsToAdd = null }; // Act var result = controller.SelectProyectosForSolicitud(proyectos); // Assert var viewResult = Assert.IsType <ViewResult>(result); SelectProyectosForSolicitudViewModel model = viewResult.Model as SelectProyectosForSolicitudViewModel; //Comprobamos los proyectos devueltos Assert.Equal(proyectosesperados, model.proyectos, Comparer.Get <Proyecto>((p1, p2) => p1.Nombre == p2.Nombre && p1.Importe == p2.Importe && p1.MinInversion == p2.MinInversion && p1.Progreso == p2.Progreso && p1.ProyectoId == p2.ProyectoId)); //Comprobamos las areas y tipos devueltos Assert.Equal(tiposEsperados, model.Tipos, Comparer.Get <TiposInversiones>((p1, p2) => p1.Nombre == p2.Nombre)); Assert.Equal(areasEsperadas, model.areas, Comparer.Get <Areas>((p1, p2) => p1.Nombre == p2.Nombre)); } }
public async Task Select_FiltroDeCapital() { //Arrenge //Base SQL ya generada con datos incluidos using (context) { var proyectosesperados = new Proyecto[1] { new Proyecto { ProyectoId = 1, FechaExpiracion = new DateTime(2019, 01, 23), Importe = 70000, Interes = null, MinInversion = 50, Nombre = "POCHOLO RULES", NumInversores = 0, Plazo = null, Progreso = 0, RatingId = null } }; //Areas y Tipos que se espera que se retornen var tiposEsperados = new TiposInversiones[1] { new TiposInversiones { Nombre = "Crowdfunding" } }; var areasEsperadas = new Areas[1] { new Areas { Nombre = "TIC" } }; var controller = new SolicitudesController(context); controller.ControllerContext.HttpContext = solicitudContext; //Act string[] vacia = new string[0]; var result = controller.SelectProyectosForSolicitud(null, vacia, vacia, 65000, null); //Assert var viewResult = Assert.IsType <ViewResult>(result); SelectProyectosForSolicitudViewModel model = viewResult.Model as SelectProyectosForSolicitudViewModel; //Comprobamos los proyectos devueltos Assert.Equal(proyectosesperados, model.proyectos, Comparer.Get <Proyecto>((p1, p2) => p1.Nombre == p2.Nombre && p1.Importe == p2.Importe && p1.MinInversion == p2.MinInversion && p1.Progreso == p2.Progreso && p1.ProyectoId == p2.ProyectoId)); //Comprobamos las areas y tipos devueltos Assert.Equal(tiposEsperados, model.Tipos, Comparer.Get <TiposInversiones>((p1, p2) => p1.Nombre == p2.Nombre)); Assert.Equal(areasEsperadas, model.areas, Comparer.Get <Areas>((p1, p2) => p1.Nombre == p2.Nombre)); } }