Example #1
0
        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);
            }
        }