Ejemplo n.º 1
0
        public void BienoServicio_Post_Debe_FALLAR_IdAuxiliarInvalido()
        {
            // arrange

            var bienoServicioNuevo = new FCCxCBienoServicio()
            {
                DscBoS      = "Nuevo bien o servicio csanabria",
                IdAuxiliar  = 100,  //verificar que el registro no exista en FCCxCAuxiliar
                IdConcepto  = 1,
                FecCreacion = DateTime.Now,
                UsrCreacion = "pruebaUnit",
                FecUltModif = DateTime.Now,
                UsrUltModif = "pruebaunit"
            };

            var ctrl = new BienoServicioController();

            ctrl.Request       = new HttpRequestMessage();
            ctrl.Configuration = new HttpConfiguration();

            // act

            //invocar el post del controlador Api
            HttpResponseMessage result = ctrl.Post(bienoServicioNuevo);

            //notas: 1. reporte de errores es pobre, negocios y datos solo retornan false si hubo error
            //en el api detecto error y genero un mensaje de tipo InternalServerError, pero no tengo más detalles,
            //no hay excepciones en las capas de datos y negocios, tuve que depurar para ver que era null exception
            //2. idealmente por buen diseño el api debería devolver un StatusCode.OK con el Id del nuevo registro creado, pero
            //la implementación de las capas no lo permiten

            // assert, debe retornar internal server error
            Assert.AreEqual(result.StatusCode, System.Net.HttpStatusCode.InternalServerError, "Debía retornar internal server error y no lo hizo"); //TODO: validar que sea OK
        }
Ejemplo n.º 2
0
        public void BienoServicio_Put_DebeModificarCorretamente()
        {
            // arrange

            var bienoServicioModif = new FCCxCBienoServicio()
            {
                IdBoS       = 1,
                DscBoS      = "Modif prueba unit" + DateTime.Now.ToShortTimeString(),
                IdAuxiliar  = 1,
                IdConcepto  = 1,
                FecCreacion = DateTime.Now,
                UsrCreacion = "pruebaUnit",
                FecUltModif = DateTime.Now,
                UsrUltModif = "pruebaunit"
            };

            var ctrl = new BienoServicioController();

            ctrl.Request       = new HttpRequestMessage();
            ctrl.Configuration = new HttpConfiguration();

            // act

            //invocar el post del controlador Api
            HttpResponseMessage result = ctrl.Put(bienoServicioModif);

            //notas: 1. reporte de errores es pobre, negocios y datos solo retornan false si hubo error
            //en el api detecto error y genero un mensaje de tipo InternalServerError, pero no tengo más detalles,
            //no hay excepciones en las capas de datos y negocios, tuve que depurar para ver que era null exception
            //2. idealmente por buen diseño el api debería devolver un StatusCode.OK con el Id del nuevo registro creado, pero
            //la implementación de las capas no lo permiten

            // assert
            Assert.AreNotEqual(result.StatusCode, System.Net.HttpStatusCode.InternalServerError, "Error en la inserción"); //TODO: validar que sea OK
        }
Ejemplo n.º 3
0
        public void BienoServicio_Delete_Debe_FUNCIONAR_IdInvalido()
        {
            // arrange

            var idBorrar = 99;  //revisar en BD que no exista el registro

            var ctrl = new BienoServicioController();

            ctrl.Request       = new HttpRequestMessage();
            ctrl.Configuration = new HttpConfiguration();

            // act

            //invocar el post del controlador Api
            HttpResponseMessage result = ctrl.Delete(idBorrar);

            // assert
            Assert.AreEqual(result.StatusCode, System.Net.HttpStatusCode.OK, "Esta fallando y debe funcionar bien"); //TODO: validar que sea OK
        }
Ejemplo n.º 4
0
        public void BienoServicio_Delete_DebeEliminarCorretamente()
        {
            // arrange

            var idBorrar = 9;

            var ctrl = new BienoServicioController();

            ctrl.Request       = new HttpRequestMessage();
            ctrl.Configuration = new HttpConfiguration();

            // act

            //invocar el post del controlador Api
            HttpResponseMessage result = ctrl.Delete(idBorrar);

            // assert
            Assert.AreNotEqual(result.StatusCode, System.Net.HttpStatusCode.InternalServerError, "Error en la inserción"); //TODO: validar que sea OK
        }
Ejemplo n.º 5
0
        public void BienoServicio_Get_DebeRetornarMismaCantidadCapaDatos()
        {
            //registros retornados por la capa de datos
            CxC.Datos.DATOS_BienoServicio obj = new DATOS_BienoServicio();
            var resCapaDatos = obj.DATOS_selectAll();

            //registros retornados por el API
            var controller = new BienoServicioController();

            var resApi = controller.Get() as List <FCCxCBienoServicio>;

            if (resApi == null && resCapaDatos == null)
            {
                Assert.AreEqual(0, 0, "Ambos son null");
            }
            else
            {
                Assert.AreEqual(resCapaDatos.Count, resApi.Count, "Cantidad es igual en ambos");
            }
        }
Ejemplo n.º 6
0
        public void BienoServicio_Get_id_DebeRetonarUnRegistro()
        {
            //registros retornados por la capa de datos
            CxC.Datos.DATOS_BienoServicio obj = new DATOS_BienoServicio();
            var resCapaDatos = obj.DATOS_Select(1);

            //registros retornados por el API
            var controller = new BienoServicioController();

            var resApi = controller.Get(1) as FCCxCBienoServicio;

            if (resApi == null && resCapaDatos == null)
            {
                Assert.AreEqual(0, 0, "Ambos son null");
            }
            else
            {
                Assert.IsTrue(resApi.IdBoS == resCapaDatos.IdAuxiliar, "Retornan valores diferentes");
                Assert.AreNotEqual(resApi, null, "no retornan una fila, retornan null");
            }
        }