public void AgregarCotizacionTest() { _output.WriteLine("Starting Sistema test ..."); ISistema sistema = Startup.BuildSistema(); Cotizacion cotizacionCorrecta = new Cotizacion() { Id = 194953607, RutCliente = "194953607", FechaCreacion = DateTime.Now, RutUsuarioCreador = "191234567", Items = new List <Item>() }; Item item1 = new Item(); { item1.descripcion = "item de prueba1"; item1.precio = 250000; } Item item2 = new Item(); { item2.descripcion = "item de prueba2"; item2.precio = 200000; } _output.WriteLine("Se ha creado una cotizacion correcta "); int idINC = 123454; string rutCliINC = "1"; DateTime fechaCreINC = DateTime.MaxValue; string rutUsiCreINC = "10293109"; // Models.ValidateTests.ValidateRutCorrecto(rutCliINC); if (idINC != Int32.Parse(rutCliINC)) { _output.WriteLine("La cotizacion con el rut no tienen coincidencia con la id"); } if (fechaCreINC != DateTime.Today) { _output.WriteLine("La cotizacion en su fecha de creacion no es la correcta"); } Assert.Throws <ModelException>(() => Validate.ValidarRut(rutCliINC)); Assert.Throws <ModelException>(() => Validate.ValidarRut(rutUsiCreINC)); // si estas 2 validaciones se comprueban se crearian las cotizaciones Assert.Throws <ModelException>(() => sistema.AgregarCotizacion(null)); }
public void EliminarCotizacionTest() { _output.WriteLine("Starting Sistema test ..."); ISistema sistema = Startup.BuildSistema(); { _output.WriteLine("Testing insert .."); Cotizacion cotizacion = new Cotizacion(); { cotizacion.Id = 1; cotizacion.FechaCreacion = DateTime.Now; cotizacion.RutCliente = "174920524"; cotizacion.RutUsuarioCreador = "147112912"; cotizacion.Items = new List <Item>(); }; Item item1 = new Item(); { item1.descripcion = "item de prueba1"; item1.precio = 250000; }; Item item2 = new Item(); { item2.descripcion = "item de prueba2"; item2.precio = 200000; } Console.WriteLine(item1.descripcion); cotizacion.Items.Add(item1); cotizacion.Items.Add(item2); Console.WriteLine(cotizacion); Console.WriteLine(Utils.ToJson(cotizacion)); //problema que el item sigue siendo null sistema.AgregarCotizacion(cotizacion); } _output.WriteLine("Done.."); _output.WriteLine("Probando criterio de id de eliminacion"); //Probar criterio de busqueda en blanco o null //Probar criterio de eliminacion inxistente { Assert.Throws <ModelException>(() => sistema.EliminarCotizacion(91823719)); //numero inexistente Assert.Throws <ModelException>(() => sistema.EliminarCotizacion(0)); // numero 0 Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion(" ")); Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion("")); Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion(null)); } _output.WriteLine("Done.."); }
// ----------------------------------------------------------------------------- // >> COTIZACION << // ----------------------------------------------------------------------------- /// <summary> /// Despliegue en consola para crear cotizacion /// </summary> /// <param name="sistema"></param> /// <exception cref="ModelException"></exception> public static void MenuCrearCotizacion(ISistema sistema) { Console.WriteLine("Ingrese nombre de cotizacion: "); string NombreCotizacion = Console.ReadLine(); Console.WriteLine("Asociar a Cliente: "); Cliente ClienteCotiz = MenuNuevoCliente(sistema); if (ClienteCotiz == null) { throw new ModelException("Error ingreso de cliente"); } List <Servicio> serviciosCotiz = new List <Servicio>(); Console.WriteLine("Ingrese servicios solicitados: "); while (true) { string alt = "."; Servicio servicio = MenuNuevoServicio(); serviciosCotiz.Add(servicio); Console.WriteLine("1. Agregar un nuevo servicio"); Console.WriteLine("[Para terminar pulse otra tecla]"); alt = Console.ReadLine(); if (alt != null && alt.Equals("1")) { continue; } break; } Console.WriteLine("Ingrese una descripcion acerca de la cotizacion: "); string descripcionCotiz = Console.ReadLine(); sistema.AgregarCotizacion(new Cotizacion() { Nombre = NombreCotizacion, Descripcion = descripcionCotiz, Cliente = ClienteCotiz, Servicios = serviciosCotiz }); Console.WriteLine("Cotizacion creada"); }
public void BusquedaCotizacionesTest() { _output.WriteLine("Starting System Test"); ISistema sistema = Startup.BuildSistema(); //insert cotizaciones { _output.WriteLine("Testing insert .. "); Cotizacion cotizacion = new Cotizacion(); { cotizacion.Id = 1; cotizacion.RutCliente = "197116730"; cotizacion.RutUsuarioCreador = "181690321"; cotizacion.FechaCreacion = DateTime.Now; cotizacion.Items = new List <Item>(); }; Item item1 = new Item(); { item1.descripcion = "Item 1 de prueba"; item1.precio = 40000; } ; Item item2 = new Item(); { item2.descripcion = "Item 2 de prueba"; item2.precio = 30000; } Console.WriteLine(item1.descripcion); cotizacion.Items.Add(item1); cotizacion.Items.Add(item2); Console.WriteLine(cotizacion); Console.WriteLine(Utils.ToJson(cotizacion)); sistema.AgregarCotizacion(cotizacion); } _output.WriteLine("Done .. "); _output.WriteLine("Probando criterio de busqueda"); { Assert.Throws <ArgumentException>(() => sistema.TipoBusqueda(" ")); Assert.Throws <ArgumentException>(() => sistema.TipoBusqueda("")); Assert.Throws <ArgumentException>(() => sistema.TipoBusqueda(null)); Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion(" ")); Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion("")); Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion(null)); } _output.WriteLine("Done .."); }
public void EliminarCotizacionTest() { _output.WriteLine("Starting System Test .. "); ISistema sistema = Startup.BuildSistema(); { _output.WriteLine("Testing insert .."); Cotizacion cotizacion = new Cotizacion(); { cotizacion.Id = 1; cotizacion.RutCliente = "197116730"; cotizacion.RutUsuarioCreador = "181690321"; cotizacion.FechaCreacion = DateTime.Now; cotizacion.Items = new List <Item>(); }; Item item1 = new Item(); { item1.descripcion = "Item de prueba 1"; item1.precio = 40000; } ; Item item2 = new Item(); { item2.descripcion = "Item de prueba 2"; item2.precio = 30000; } Console.WriteLine(item1.descripcion); cotizacion.Items.Add(item1); cotizacion.Items.Add(item2); Console.WriteLine(cotizacion); Console.WriteLine(Utils.ToJson(cotizacion)); sistema.AgregarCotizacion(cotizacion); } _output.WriteLine("Done .. "); _output.WriteLine("Testing criterio Id eliminacion"); { Assert.Throws <ModelException>(() => sistema.EliminarCotizacion(111111)); //numero inexistente Assert.Throws <ModelException>(() => sistema.EliminarCotizacion(0)); // numero 0 Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion(" ")); Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion("")); Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion(null)); } _output.WriteLine("Done .. "); }
public void EditarCotizacionTest() { _output.WriteLine("Starting EditaCotizacionTest ..."); ISistema sistema = Startup.BuildSistema(); Cotizacion cotizacionCorrecta = new Cotizacion() { Id = 1, RutCliente = "194953607", FechaCreacion = DateTime.Now, RutUsuarioCreador = "140578797", Items = new List <Item>() }; Item item1 = new Item(); { item1.descripcion = "item de prueba1"; item1.precio = 250000; } Item item2 = new Item(); { item2.descripcion = "item de prueba2"; item2.precio = 200000; } sistema.AgregarCotizacion(cotizacionCorrecta); _output.WriteLine("Se ha creado una cotizacion correcta "); string rutCambio = "148999910"; DateTime fechaCambio = DateTime.ParseExact("01/01/2030", "dd/mm/yyyy", null); _output.WriteLine(" Comprobando su Rut ... "); new Models.ValidateTests().ValidateRutCorrecto(rutCambio); if (fechaCambio >= DateTime.Now) { _output.WriteLine("Imposible realizar esta cambio con la fecha Mayor al dia actual"); } _output.WriteLine("no deberia aceptar una id 0, null, o valor de busqueda vacio"); //no deberia aceptar una id 0 Assert.Throws <ModelException>(() => sistema.EditarCotizacion(0, "RutCliente", "147112912")); //no deberia aceptar un campo null Assert.Throws <ArgumentNullException>(() => sistema.EditarCotizacion(1, null, "cambio123")); // no deberia acpetar un Cambio vacio //Assert.Throws<ArgumentNullException>(() => sistema.EditarCotizacion(1, "RutCliente", "")); }
/// <summary> /// Punto de entrada de la aplicacion. /// </summary> /// <param name="args"></param> /// <exception cref="ModelException"></exception> private static void Main(string[] args) { Console.WriteLine("Building Sistema .."); ISistema sistema = Startup.BuildSistema(); Console.WriteLine("Creating Persona .."); { Persona persona = new Persona() { Rut = "130144918", Nombre = "Diego", Paterno = "Urrutia", Materno = "Astorga", Email = "*****@*****.**" }; Console.WriteLine(persona); Console.WriteLine(Utils.ToJson(persona)); // Save in the repository sistema.Save(persona); } Console.WriteLine("Finding personas .."); { IList <Persona> personas = sistema.GetPersonas(); Console.WriteLine("Size: " + personas.Count); foreach (Persona persona in personas) { Console.WriteLine("Persona = " + Utils.ToJson(persona)); } } Console.WriteLine("Done."); Console.WriteLine("Creating Cotizacion .."); { Cotizacion cotizacion = new Cotizacion(); { cotizacion.Id = 1; cotizacion.FechaCreacion = DateTime.Now; cotizacion.RutCliente = "197116730"; cotizacion.RutUsuarioCreador = "181690321"; cotizacion.Items = new List <Item>(); } ; Item item1 = new Item(); { item1.descripcion = "Item de prueba1"; item1.precio = 40000; } ; Item item2 = new Item(); { item2.descripcion = "Item de prueba2"; item2.precio = 30000; } Console.WriteLine(item1.descripcion); cotizacion.Items.Add(item1); cotizacion.Items.Add(item2); Console.WriteLine(cotizacion); Console.WriteLine(Utils.ToJson(cotizacion)); sistema.AgregarCotizacion(cotizacion); IList <Cotizacion> cot = sistema.BuscarCotizacion("181690321"); } Console.WriteLine("Creacion cotizacion .. done."); }
public void BusquedaDeCotizacionesTest() { _output.WriteLine("Starting Sistema test ..."); ISistema sistema = Startup.BuildSistema(); //Insert Cotizaciones { _output.WriteLine("Testing insert .."); Cotizacion cotizacion = new Cotizacion(); { cotizacion.Id = 1; cotizacion.FechaCreacion = DateTime.Now; cotizacion.RutCliente = "174920524"; cotizacion.RutUsuarioCreador = "147112912"; cotizacion.Items = new List <Item>(); }; Item item1 = new Item(); { item1.descripcion = "item de prueba1"; item1.precio = 250000; }; Item item2 = new Item(); { item2.descripcion = "item de prueba2"; item2.precio = 200000; } Console.WriteLine(item1.descripcion); cotizacion.Items.Add(item1); cotizacion.Items.Add(item2); Console.WriteLine(cotizacion); Console.WriteLine(Utils.ToJson(cotizacion)); //problema que el item sigue siendo null sistema.AgregarCotizacion(cotizacion); } _output.WriteLine("Done.."); _output.WriteLine("Probando criterio de busqueda null o vacio"); //Probar criterio de busqueda en blanco o null { Assert.Throws <ArgumentException>(() => sistema.TipoBusqueda(" ")); Assert.Throws <ArgumentException>(() => sistema.TipoBusqueda("")); Assert.Throws <ArgumentException>(() => sistema.TipoBusqueda(null)); Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion(" ")); Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion("")); Assert.Throws <ArgumentException>(() => sistema.BuscarCotizacion(null)); } _output.WriteLine("Done.."); _output.WriteLine("Probando busqueda por rut.."); //Probar busqueda por rut (exito) { //buscar por rut del UsuarioCreador IList <Cotizacion> cotizaciones1 = sistema.BuscarCotizacion("174920524"); //buscar por rut del cliente IList <Cotizacion> cotizaciones2 = sistema.BuscarCotizacion("147112912"); Assert.NotNull(cotizaciones1); Assert.NotNull(cotizaciones2); Assert.NotEmpty(cotizaciones1); Assert.NotEmpty(cotizaciones2); } //probar busqueda por rut (no exito) { //buscar por rut IList <Cotizacion> cotizaciones1 = sistema.BuscarCotizacion("168174209"); Assert.Empty(cotizaciones1); } _output.WriteLine("Done.."); _output.WriteLine("Probando busqueda por texto"); //buscar por texto (exito) { //La cotizaciones de prueba contiene "item de prueba1" en su descripcion IList <Cotizacion> cotizaciones = sistema.BuscarCotizacion("prueba1"); Assert.NotEmpty(cotizaciones); } //buscar por texto (no exito) { IList <Cotizacion> cotizaciones = sistema.BuscarCotizacion("exto no existe en las cotizaciones"); Assert.Empty(cotizaciones); } _output.WriteLine("Done.."); //busqueda por fecha (exito) _output.WriteLine("probando busqueda por fecha"); { DateTime t0 = DateTime.ParseExact("01/01/2018", "dd/mm/yyyy", null); DateTime tf = DateTime.ParseExact("01/01/2019", "dd/mm/yyyy", null); IList <Cotizacion> cotizaciones = sistema.BuscarCotizacionEntreFechas("prueba1", t0, tf); Assert.NotEmpty(cotizaciones); } //busqueda por fecha (no exito) { DateTime t0 = DateTime.ParseExact("01/01/2017", "dd/mm/yyyy", null); DateTime tf = DateTime.ParseExact("01/01/2018", "dd/mm/yyyy", null); IList <Cotizacion> cotizaciones = sistema.BuscarCotizacionEntreFechas("prueba1", t0, tf); Assert.Empty(cotizaciones); } _output.WriteLine("Done.."); //Esto no fue necesario ya que DateTime se inicializa automaticamente en DateTime.MinValue //https://stackoverflow.com/questions/221732/datetime-null-value //Probar fechas null //{ // DateTime t = null; // Assert.Throws<ArgumentNullException>(() => sistema.BuscarCotizacionEntreFechas("criterio", t, t)); //} }