public void Articulo_Save_Assert()
        {
            var mock            = new Mock <Infra.IArticuloInfrastructure>();
            var articuloManager = new Core.Managers.Articulo(mock.Object, null);

            var target   = ArticuloOutputFactory.Get();
            var articulo = new Member.Input.Articulo
            {
                Descripcion = target.Descripcion,
                IdLote      = target.Lote.Id,
                IdTipo      = target.Tipo.Id,
                Marca       = target.Marca,
                NroSerie    = target.NumeroSerie,
                Precio      = target.Precio
            };

            mock.Setup(x => x.Get())
            .Returns(ArticuloOutputFactory.GetList());

            mock.Setup(x => x.Save(articulo))
            .Returns(target);

            var result = articuloManager.Save(articulo);

            Assert.AreEqual(target.Descripcion, articulo.Descripcion);
            Assert.AreEqual(target.Lote.Id, articulo.IdLote);
            Assert.AreEqual(target.Tipo.Id, articulo.IdTipo);
            Assert.AreEqual(target.Marca, articulo.Marca);
            Assert.AreEqual(target.NumeroSerie, articulo.NroSerie);
            Assert.AreEqual(target.Precio, articulo.Precio);
        }
        public void Articulo_GetLote_Assert()
        {
            var mock            = new Mock <Infra.IArticuloInfrastructure>();
            var articuloManager = new Core.Managers.Articulo(mock.Object, null);

            var target = ArticuloOutputFactory.GetList();

            mock.Setup(x => x.GetByLote(target.First().Id))
            .Returns(target);

            var result = articuloManager.GetLote(target.First().Id);

            Assert.IsTrue(result.Any());
            Assert.AreEqual(result.First().Activo, target.First().Activo);
            Assert.AreEqual(result.First().Descripcion, target.First().Descripcion);
            Assert.AreEqual(result.First().Id, target.First().Id);
            Assert.AreEqual(result.First().Lote, target.First().Lote);
            Assert.AreEqual(result.First().Marca, target.First().Marca);
            Assert.AreEqual(result.First().NumeroSerie, target.First().NumeroSerie);
            Assert.AreEqual(result.First().Precio, target.First().Precio);
            Assert.AreEqual(result.First().Tipo, target.First().Tipo);
            Assert.AreEqual(result.First().UsuarioAdjudicado, target.First().UsuarioAdjudicado);
            Assert.AreEqual(result.First().UsuariosInteresados, target.First().UsuariosInteresados);
            Assert.AreEqual(result.First().UsuariosInteresados, target.First().UsuariosInteresados);
        }
        public void Articulo_GetById_Fail()
        {
            var mock            = new Mock <Infra.IArticuloInfrastructure>();
            var articuloManager = new Core.Managers.Articulo(mock.Object, null);

            var target = ArticuloOutputFactory.Get();

            mock.Setup(x => x.GetById(target.Id))
            .Returns(target);

            var art = articuloManager.GetById(target.Id - 1);

            Assert.Null(art);
        }
        public void Articulo_Disable_Assert()
        {
            var mock            = new Mock <Infra.IArticuloInfrastructure>();
            var articuloManager = new Core.Managers.Articulo(mock.Object, null);

            var target = ArticuloOutputFactory.Get();

            mock.Setup(x => x.ChangeStatus(target.Id));

            mock.Setup(x => x.GetById(target.Id))
            .Returns(target);

            var result = articuloManager.Disable(target.Id);

            Assert.IsTrue(result);
        }
        public void Articulo_DeclinarPostulacionArticulo_Assert()
        {
            var mock            = new Mock <Infra.IArticuloInfrastructure>();
            var articuloManager = new Core.Managers.Articulo(mock.Object, null);

            var target = new Member.Input.ArticuloPostulacion
            {
                IdArticulo = 32,
                IdUsuario  = 17
            };

            mock.Setup(x => x.DeclinarPostulacion(target));

            mock.Setup(x => x.ExistsPostulacion(target))
            .Returns(false);

            var result = articuloManager.PostularArticulo(target);

            Assert.IsTrue(result);
        }
        public void Articulo_GetById_Assert()
        {
            var mock            = new Mock <Infra.IArticuloInfrastructure>();
            var articuloManager = new Core.Managers.Articulo(mock.Object, null);
            var target          = ArticuloOutputFactory.Get();

            mock.Setup(x => x.GetById(target.Id))
            .Returns((int value) => target);

            var item = articuloManager.GetById(target.Id);

            Assert.AreEqual(target.Activo, item.Activo);
            Assert.AreEqual(target.Descripcion, item.Descripcion);
            Assert.AreEqual(target.Id, item.Id);

            Assert.AreEqual(target.Lote, item.Lote);
            Assert.AreEqual(target.Marca, item.Marca);
            Assert.AreEqual(target.NumeroSerie, item.NumeroSerie);
            Assert.AreEqual(target.Precio, item.Precio);
            Assert.AreEqual(target.Tipo, item.Tipo);
            Assert.AreEqual(target.UsuarioAdjudicado, item.UsuarioAdjudicado);
            Assert.AreEqual(target.UsuariosInteresados, item.UsuariosInteresados);
        }