public async Task vistaSeleccionHabitacionReservaPost_ModelIsNotValid() { // Arrange using (context) { var controller = new ReservasController(context); controller.ModelState.AddModelError("habitacionesSeleccionadas", "Required"); DatosHabitacionReservaViewModel entrada = new DatosHabitacionReservaViewModel { idPersona = 2, nombre = "Prueba2", apellidos = "Prueba2 Prueba2", nif = "87654321B", comentarios = "patata", fechaFin = new DateTime(2016, 11, 26), fechaInicio = new DateTime(2016, 11, 24), regimenComida = 1, Descuentos = new Descuento[1] { new Descuento { idDescuento = 2 } }, Habitaciones = new Habitacion[1] { new Habitacion { numero = 2 } }, }; // Act var result = await controller.vistaSeleccionHabitacionReservaPost(entrada); //Assert var viewResult = Assert.IsType <ViewResult>(result); DatosHabitacionReservaViewModel model = (result as ViewResult).Model as DatosHabitacionReservaViewModel; Assert.Equal(entrada, model, Comparer.Get <DatosHabitacionReservaViewModel>((p1, p2) => p1 == p2)); } }
public async Task vistaSeleccionHabitacionReservaPost_ModelIsValid() { // Arrange using (context) { var controller = new ReservasController(context); // ** LO QUE TIENE LA BBDD Cliente cliente2 = (new Cliente { idPersona = 2, nombre = "Prueba2", apellidos = "Prueba2 Prueba2", telefono = "777777777", correoElectronico = "*****@*****.**", nif = "87654321B", numeroTarjeta = "4444333322221111" }); Habitacion habitacion1 = new Habitacion { numero = 1, precio = 20 }; Habitacion habitacion2 = new Habitacion { numero = 2, precio = 40 }; Reserva reserva1 = new Reserva { idReserva = 1, fechaInicio = new DateTime(2016, 11, 25), fechaFin = new DateTime(2016, 11, 27) }; Reserva reserva2 = new Reserva { idReserva = 2, fechaInicio = new DateTime(2016, 11, 10), fechaFin = new DateTime(2016, 11, 12) }; ReservaHabitacion reservaHabitacion1 = new ReservaHabitacion { idReservaHabitacion = 1 }; ReservaHabitacion reservaHabitacion2 = new ReservaHabitacion { idReservaHabitacion = 2 }; Descuento descuento1 = new Descuento { idDescuento = 1, fechaInicio = new DateTime(2016, 11, 25), fechaFin = new DateTime(2016, 11, 29) }; reservaHabitacion1.Reserva = reserva1; reservaHabitacion1.Habitacion = habitacion1; reservaHabitacion2.Reserva = reserva2; reservaHabitacion2.Habitacion = habitacion2; // ** LO QUE TIENE LA BBDD //Reserva nueva: Reserva nuevaReserva = new Reserva { idReserva = 3, comentarios = "patata", fechaFin = new DateTime(2016, 11, 26), fechaInicio = new DateTime(2016, 11, 24), regimenComida = 1, Descuento = descuento1, fechaRealizacion = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day), estado = 0, Cliente = cliente2, ReservaHabitacion = new ReservaHabitacion[1] { new ReservaHabitacion { idReservaHabitacion = 3, Habitacion = habitacion2 } }.ToList() }; List <Reserva> expectModelReserva = new Reserva[3] { reserva1, reserva2, nuevaReserva }.ToList(); List <ReservaHabitacion> expectModelReservaHabitacion = new ReservaHabitacion[3] { reservaHabitacion1, reservaHabitacion2, new ReservaHabitacion { idReservaHabitacion = 3, Habitacion = habitacion2, Reserva = nuevaReserva } }.ToList(); DatosHabitacionReservaViewModel entrada = new DatosHabitacionReservaViewModel { idPersona = 2, nombre = "Prueba2", apellidos = "Prueba2 Prueba2", nif = "87654321B", comentarios = "patata", fechaFin = new DateTime(2016, 11, 26), fechaInicio = new DateTime(2016, 11, 24), regimenComida = 1, Descuentos = new Descuento[1] { new Descuento { idDescuento = 2 } }, Habitaciones = new Habitacion[1] { new Habitacion { numero = 2 } }, descuentoSeleccionado = "1", habitacionesSeleccionadas = new String[] { "2" } }; // Act var result = await controller.vistaSeleccionHabitacionReservaPost(entrada); //Assert var viewResult = Assert.IsType <RedirectToActionResult>(result); Assert.Equal(viewResult.ActionName, "Index"); Assert.Equal(viewResult.ControllerName, "Clientes"); //ReservaCreada List <Reserva> model1 = context.Reserva.ToList(); Assert.Equal(expectModelReserva, model1, Comparer.Get <Reserva>((p1, p2) => p1.idReserva == p2.idReserva && p1.estado == p2.estado && p1.regimenComida == p2.regimenComida && p1.comentarios == p2.comentarios && p1.fechaFin == p2.fechaFin && p1.fechaInicio == p2.fechaInicio && p1.fechaRealizacion == p2.fechaRealizacion)); //LineaReservaCreada List <ReservaHabitacion> model2 = context.ReservaHabitacion.ToList(); Assert.Equal(expectModelReservaHabitacion, model2, Comparer.Get <ReservaHabitacion>((p1, p2) => p1.idReservaHabitacion == p2.idReservaHabitacion)); } }