Пример #1
0
        public void CalcularPromedioSinResenia()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Hospedaje       hospedaje       = new Hospedaje()
            {
                Id                 = 0,
                Ocupado            = false,
                PuntoTuristico     = new PuntoTuristico(),
                NombreHospedaje    = "Hotel X",
                Descripcion        = "Test",
                Direccion          = "Test",
                CantidadEstrellas  = 2,
                Capacidad          = 5,
                PrecioPorNoche     = 140,
                PrecioTotalPeriodo = 200,
                Imagenes           = new List <Imagen>()
                {
                    new Imagen()
                    {
                        Id = 0, Ruta = "test.jpg",
                    },
                },
                Resenias = new List <Resenia>(),
            };

            repoMock.Setup(x => x.Get(hospedaje.Id)).Returns(hospedaje);
            Assert.Throws <NoHayReseniaException>(() => logica.CalcularPromedio(hospedaje));
        }
Пример #2
0
        public void TestBorrarSegunPuntoOk()
        {
            string          nombre          = "AAA";
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            PuntoTuristico  punto           = new PuntoTuristico()
            {
                Id = 0
            };
            Hospedaje hospedaje = new Hospedaje()
            {
                NombreHospedaje = nombre, Id = 0
            };
            Hospedaje hospedaje2 = new Hospedaje()
            {
                NombreHospedaje = nombre, Id = 1, PuntoTuristico = punto
            };

            repoMock.Setup(x => x.Delete(hospedaje2));
            repoMock.Setup(x => x.Save());
            repoMock.Setup(x => x.Get(hospedaje2.Id)).Returns(hospedaje2);
            repoMock.Setup(x => x.GetAll()).Returns(new List <Hospedaje>()
            {
                hospedaje, hospedaje2
            });
            logica.BorrarHospedajeSegunPunto(punto.Id);
            repoMock.Setup(x => x.GetAll()).Returns(new List <Hospedaje>()
            {
                hospedaje
            });
            List <Hospedaje> puntos = logica.ObtenerTodos();

            Assert.AreEqual(1, puntos.Count);
        }
Пример #3
0
        public void BuscarPuntoIdValidoOcupado()
        {
            List <Imagen> imagenes = new List <Imagen>()
            {
                new Imagen()
                {
                    Id = 0, Ruta = "test.jpg",
                },
            };
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            PuntoTuristico  punto           = new PuntoTuristico()
            {
                Nombre      = "Prueba",
                Descripcion = "DASD",
                Imagen      = imagenes.First(),
                Id          = 0,
                PuntosTuristicosCategoria = new List <PuntoTuristicoCategoria>(),
            };
            Hospedaje hospedaje = new Hospedaje()
            {
                Id = 0,
                NombreHospedaje    = "Hotel X",
                Descripcion        = "Test",
                Direccion          = "Test",
                CantidadEstrellas  = 2,
                Capacidad          = 5,
                PrecioPorNoche     = 140,
                PrecioTotalPeriodo = 200,
                Imagenes           = imagenes,
                Ocupado            = true,
                PuntoTuristico     = punto,
            };
            List <Hospedaje> lista = new List <Hospedaje>()
            {
                hospedaje
            };

            repoMock.Setup(x => x.GetAll()).Returns(lista);

            CantHuespedes huespedes = new CantHuespedes()
            {
                CantAdultos   = 1,
                CantBebes     = 0,
                CantNinios    = 1,
                CantJubilados = 0,
            };

            HospedajeFiltro filtro = new HospedajeFiltro()
            {
                Huespedes = huespedes,
                CheckIn   = new DateTime(2020, 10, 9),
                CheckOut  = new DateTime(2020, 10, 11),
            };
            List <Hospedaje> retorno = logica.BuscarHospedajePunto(punto.Id, filtro);

            Assert.AreEqual(0, retorno.Count);
        }
Пример #4
0
        public void TestSetNombreVacioEspacio()
        {
            string          nombre          = " ";
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);

            Assert.Throws <StringVacioException>(() => logica.ValidaNombreHospedaje(nombre));
        }
Пример #5
0
        public void TestSetNombreValido()
        {
            string          nombre          = "Hotel X";
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            string          nombreResultado = logica.ValidaNombreHospedaje(nombre);

            Assert.AreEqual(nombre, nombreResultado);
        }
Пример #6
0
        public void TestCambiarCapacidadMenorCero()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Hospedaje       hospedaje2      = new Hospedaje()
            {
                Id = 0, NombreHospedaje = "Test", Capacidad = 6
            };
            int nuevaCapacidad = -1;

            repoMock.Setup(x => x.Get(hospedaje2.Id)).Returns(hospedaje2);
            Assert.Throws <CapacidadNoValidaExcepcion>(() => logica.CambiarCapacidad(hospedaje2.Id, nuevaCapacidad));
        }
Пример #7
0
        public void ObtenerHospedajeIdNoExiste()
        {
            string          nombre          = "prueba";
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Hospedaje       hospedaje       = new Hospedaje()
            {
                Id = 0, NombreHospedaje = nombre,
            };

            repoMock.Setup(x => x.Get(2)).Throws(new EntidadNoExisteExcepcion());
            Assert.Throws <EntidadNoExisteExcepcion>(() => logica.ObtenerPorId(2));
        }
Пример #8
0
        public void AgregarReseniaAHospedajeQueNoExiste()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);

            Hospedaje hospedaje = new Hospedaje()
            {
                Id = 0
            };

            repoMock.Setup(x => x.GetAll()).Throws(new EntidadNoExisteExcepcion());
            Assert.Throws <EntidadNoExisteExcepcion>(() => logica.AgregarResenia(hospedaje, It.IsAny <Resenia>()));
        }
Пример #9
0
        public void CalcularPromedioRedondeo()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Resenia         resenia1        = new Resenia()
            {
                Puntaje = 2
            };
            Resenia resenia2 = new Resenia()
            {
                Puntaje = 2
            };
            Resenia resenia3 = new Resenia()
            {
                Puntaje = 1
            };
            Hospedaje hospedaje = new Hospedaje()
            {
                Id                 = 0,
                Ocupado            = false,
                PuntoTuristico     = new PuntoTuristico(),
                NombreHospedaje    = "Hotel X",
                Descripcion        = "Test",
                Direccion          = "Test",
                CantidadEstrellas  = 2,
                Capacidad          = 5,
                PrecioPorNoche     = 140,
                PrecioTotalPeriodo = 200,
                Imagenes           = new List <Imagen>()
                {
                    new Imagen()
                    {
                        Id = 0, Ruta = "test.jpg",
                    },
                },
                Resenias = new List <Resenia>()
                {
                    resenia1, resenia2, resenia3
                },
            };
            double esperado = 1.7;

            repoMock.Setup(x => x.Get(hospedaje.Id)).Returns(hospedaje);
            double resultado = logica.CalcularPromedio(hospedaje);

            Assert.AreEqual(esperado, resultado);
        }
Пример #10
0
        public void TestBorrarOk()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Hospedaje       hospedaje       = new Hospedaje()
            {
                Id = 0, NombreHospedaje = "Test",
            };

            repoMock.Setup(x => x.Delete(hospedaje));
            repoMock.Setup(x => x.Save());
            repoMock.Setup(x => x.Get(hospedaje.Id)).Returns(hospedaje);
            logica.BorrarHospedaje(hospedaje.Id);
            repoMock.VerifyAll();
        }
Пример #11
0
        public void ObtenerHospedajeIdValido()
        {
            string          nombre          = "prueba";
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Hospedaje       hospedaje       = new Hospedaje()
            {
                Id = 0, NombreHospedaje = nombre,
            };

            repoMock.Setup(x => x.Get(1)).Returns(hospedaje);
            Hospedaje resultado = logica.ObtenerPorId(1);

            Assert.AreEqual(nombre, resultado.NombreHospedaje);
        }
Пример #12
0
        public void TestActualizarRegionOk()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Hospedaje       hospedaje       = new Hospedaje()
            {
                NombreHospedaje = "Test", Id = 0
            };

            repoMock.Setup(x => x.Update(hospedaje));
            repoMock.Setup(x => x.Save());
            repoMock.Setup(x => x.Get(hospedaje.Id)).Returns(hospedaje);
            hospedaje.NombreHospedaje = "Prueba";
            logica.ActualizarHospedaje(hospedaje);
            repoMock.VerifyAll();
        }
Пример #13
0
        public void AgregarReseniaOk()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Resenia         resenia         = new Resenia()
            {
                Datos = new DatosUsuario()
                {
                    Apellido = "Test", Mail = "[email protected]", Nombre = "Test2"
                },
                Puntaje = 5,
                Texto   = "Pruebas"
            };
            Hospedaje hospedaje = new Hospedaje()
            {
                Id                 = 0,
                Ocupado            = false,
                PuntoTuristico     = new PuntoTuristico(),
                NombreHospedaje    = "Hotel X",
                Descripcion        = "Test",
                Direccion          = "Test",
                CantidadEstrellas  = 2,
                Capacidad          = 5,
                PrecioPorNoche     = 140,
                PrecioTotalPeriodo = 200,
                Imagenes           = new List <Imagen>()
                {
                    new Imagen()
                    {
                        Id = 0, Ruta = "test.jpg",
                    },
                },
                Resenias = new List <Resenia>(),
            };

            repoMock.Setup(x => x.GetAll()).Returns(new List <Hospedaje>()
            {
                hospedaje
            });
            repoMock.Setup(x => x.Update(hospedaje));
            repoMock.Setup(x => x.Save());
            logica.AgregarResenia(hospedaje, resenia);
            Assert.AreEqual(resenia, hospedaje.Resenias.FirstOrDefault());
        }
Пример #14
0
        public void TestAgregarPuntoOk()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Hospedaje       hospedaje       = new Hospedaje()
            {
                Id = 0, NombreHospedaje = "Test",
            };
            PuntoTuristico punto = new PuntoTuristico()
            {
                Id = 0, Nombre = "Prueba"
            };

            logicaPuntoMock.Setup(x => x.ObtenerPuntoId(punto.Id)).Returns(punto);
            repoMock.Setup(x => x.Save());
            repoMock.Setup(x => x.Get(hospedaje.Id)).Returns(hospedaje);
            repoMock.Setup(x => x.Update(hospedaje));
            logica.AgregarPunto(hospedaje.Id, punto.Id);
            repoMock.VerifyAll();
        }
Пример #15
0
        public void BorrarHospedajeOk()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Hospedaje       hospedaje       = new Hospedaje()
            {
                Id                 = 0,
                Ocupado            = false,
                PuntoTuristico     = new PuntoTuristico(),
                NombreHospedaje    = "Hotel X",
                Descripcion        = "Test",
                Direccion          = "Test",
                CantidadEstrellas  = 2,
                Capacidad          = 5,
                PrecioPorNoche     = 140,
                PrecioTotalPeriodo = 200,
                Imagenes           = new List <Imagen>()
                {
                    new Imagen()
                    {
                        Id = 0, Ruta = "test.jpg",
                    },
                },
            };

            repoMock.Setup(x => x.Create(hospedaje));
            repoMock.Setup(x => x.Save());
            repoMock.Setup(x => x.GetAll()).Returns(new List <Hospedaje>());
            logica.AgregarHospedaje(hospedaje);
            repoMock.Setup(x => x.Get(hospedaje.Id)).Returns(hospedaje);

            repoMock.Setup(x => x.Delete(hospedaje));
            logica.BorrarHospedaje(hospedaje.Id);
            repoMock.Setup(x => x.GetAll()).Returns(new List <Hospedaje>());
            List <Hospedaje> resultado = logica.ObtenerTodos();

            Assert.AreEqual(0, resultado.Count);
        }
Пример #16
0
        public void TestCambiarCapacidadOk()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Hospedaje       hospedaje2      = new Hospedaje()
            {
                NombreHospedaje = "Test", Capacidad = 6
            };
            int nuevaCapacidad = 1;

            repoMock.Setup(x => x.Update(hospedaje2));
            repoMock.Setup(x => x.Save());
            repoMock.Setup(x => x.Get(hospedaje2.Id)).Returns(hospedaje2);
            logica.CambiarCapacidad(hospedaje2.Id, nuevaCapacidad);
            repoMock.Setup(x => x.GetAll()).Returns(new List <Hospedaje>()
            {
                hospedaje2
            });
            List <Hospedaje> puntos = logica.ObtenerTodos();

            Assert.AreEqual(1, puntos.First().Capacidad);
        }
Пример #17
0
        public void TestObtenerTodosOk()
        {
            string    nombre   = "AAA";
            Hospedaje esperado = new Hospedaje()
            {
                NombreHospedaje = nombre,
            };
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Hospedaje       hospedaje       = new Hospedaje()
            {
                NombreHospedaje = nombre,
            };

            repoMock.Setup(x => x.GetAll()).Returns(new List <Hospedaje>()
            {
                hospedaje
            });
            List <Hospedaje> puntos = logica.ObtenerTodos();

            Assert.AreEqual(esperado.NombreHospedaje, puntos.First().NombreHospedaje);
        }
Пример #18
0
        public void AgregarHospedajeOk()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            HospedajeModel  modelo          = new HospedajeModel()
            {
                NombreHospedaje    = "Hotel Este no puede estar",
                Descripcion        = "Test",
                Direccion          = "Test",
                CantidadEstrellas  = 2,
                Capacidad          = 5,
                PrecioPorNoche     = 140,
                PrecioTotalPeriodo = 200,
                Imagenes           = new List <Imagen>()
                {
                    new Imagen()
                    {
                        Id = 0, Ruta = "test.jpg",
                    },
                },
            };
            Hospedaje hospedaje = modelo.ToEntity();

            hospedaje.Id = 1500000000;
            repoMock.Setup(x => x.Create(hospedaje));
            repoMock.Setup(x => x.Save());
            repoMock.Setup(x => x.GetAll()).Returns(new List <Hospedaje>());
            logica.AgregarHospedaje(hospedaje);
            repoMock.Setup(x => x.GetAll()).Returns(new List <Hospedaje>()
            {
                hospedaje
            });
            Hospedaje resultado = logica.ObtenerTodos().First();

            Assert.AreEqual(modelo.NombreHospedaje, resultado.NombreHospedaje);
        }
Пример #19
0
        public void TestAgregarHospedajeYaExsisteMismoNombre()
        {
            var             repoMock        = new Mock <IRepository <Hospedaje> >(MockBehavior.Strict);
            var             logicaPuntoMock = new Mock <IPuntoTuristico>(MockBehavior.Strict);
            Hospedaje_Logic logica          = new Hospedaje_Logic(repoMock.Object, logicaPuntoMock.Object);
            Hospedaje       hospedaje       = new Hospedaje()
            {
                Id = 0, NombreHospedaje = "Test"
            };
            Hospedaje hospedaje2 = new Hospedaje()
            {
                Id = 2, NombreHospedaje = "Test"
            };

            repoMock.Setup(x => x.Create(hospedaje));
            repoMock.Setup(x => x.Save());
            repoMock.Setup(x => x.GetAll()).Returns(new List <Hospedaje>());
            logica.AgregarHospedaje(hospedaje);
            repoMock.Setup(x => x.GetAll()).Returns(new List <Hospedaje>()
            {
                hospedaje
            });
            Assert.Throws <YaExisteLaEntidadExcepcion>(() => logica.AgregarHospedaje(hospedaje2));
        }