public IActionResult PostCrearPlazoApertura(PlazoAperturaRequest request) { var service = new PlazoAperturaService(_unitOfWork, _plazoAperturaRepository, _mailServer, _jefeDptoRepository); var response = service.CrearPlazoApertura(request); return(Ok(response)); }
public PlazoAperturaResponse CrearPlazoApertura(PlazoAperturaRequest request) { var jefeDpto = _jefeDptoRepository.FindFirstOrDefault(c => c.Identificacion == request.IdentificacionCreador); if (jefeDpto == null) { return(new PlazoAperturaResponse("No existe el Jefe de departamento", "error")); } var plazoApertura = new PlazoApertura(jefeDpto); var response = plazoApertura.EstablecerPlazo(request.FechaInicio, request.FechaFin); if (response.Equals("El plazo fue correctamente ingresado")) { var currentPlazo = _plazoAperturaRepository.GetCurrentPlazoByCreador(jefeDpto.Identificacion); if (currentPlazo != null) { currentPlazo.Deshabilitar(); _plazoAperturaRepository.Update(currentPlazo); } _plazoAperturaRepository.Add(plazoApertura); _unitOfWork.Commit(); return(new PlazoAperturaResponse(response, "Ok")); } return(new PlazoAperturaResponse(response, "Info")); }
public void NoPuedoGuardarPlazoAperturaSiNoExisteUnJefeDptoCreador() { var fechaInicio = new DateTime(2021, 02, 20); var fechaFin = new DateTime(2021, 03, 20); var request = new PlazoAperturaRequest("1234", fechaInicio, fechaFin); var response = _plazoAperturaService.CrearPlazoApertura(request); Assert.AreEqual("No existe el Jefe de departamento", response.Message); }
public void PuedoGuardarPlazoApertura() { var fechaInicio = new DateTime(2021, 02, 20); var fechaFin = new DateTime(2021, 03, 20); var jefeDpto = JefeDptoMother.CreateJefeDpto("1234"); _jefeDptoRepository.Add(jefeDpto); _dbContext.SaveChanges(); var request = new PlazoAperturaRequest("1234", fechaInicio, fechaFin); var response = _plazoAperturaService.CrearPlazoApertura(request); Assert.AreEqual("El plazo fue correctamente ingresado", response.Message); }
public void LaFechaDeInicioNoPuedeSerMayorALaDeFin() { var fechaInicio = new DateTime(2021, 03, 20); var fechaFin = new DateTime(2021, 02, 20); var jefeDpto = JefeDptoMother.CreateJefeDpto("1234"); _jefeDptoRepository.Add(jefeDpto); _dbContext.SaveChanges(); var request = new PlazoAperturaRequest("1234", fechaInicio, fechaFin); var response = _plazoAperturaService.CrearPlazoApertura(request); Assert.AreEqual("La fecha de inicio no puede ser mayor o igual a la fecha de fin", response.Message); }
public void PuedoCrearItemPlanDeAccion() { var plan = PlanAccionMother.CreatePlanAccion(); _planAccionRepository.Add(plan); _dbContext.SaveChanges(); var plazo = PlazoAperturaMother.CreatePlazoApertura("123313"); var plazoRequest = new PlazoAperturaRequest("123313", plazo.FechaInicio, plazo.FechaFin); _plazoAperturaService.CrearPlazoApertura(plazoRequest).Message.Should().Be("El plazo fue correctamente ingresado"); var request = new ItemPlanRequest(1, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var response = _itemPlanService.RegistrarItem(request); response.Message.Should().Be("Item registrado correctamente"); }
public void NoPuedoModificarItemSiNoEstaDentroDelPlazoDeAperturaEstablecido() { var plan = PlanAccionMother.CreatePlanAccion(); _planAccionRepository.Add(plan); _dbContext.SaveChanges(); var plazo = PlazoAperturaMother.CreatePlazoAperturaVencido("123313"); var plazoRequest = new PlazoAperturaRequest("123313", plazo.FechaInicio, plazo.FechaFin); _plazoAperturaService.CrearPlazoApertura(plazoRequest).Message.Should().Be("El plazo fue correctamente ingresado"); var request = new ItemPlanUpdateRequest(1, "Se describe aqui dsadasdad", "Se describe lo que se hizo", "loquesea/dir"); var response = _itemPlanService.ModificarItem(request); response.Message.Should().Be("Error: La fecha no esta dentro del plazo establecido por el jefe de departamento"); }
public async Task PuedeCrearPlazoAperturaTestAsync() { #region Registro jefeDpto var request = new JefeDptoRequest( "123fff", "Sebastian", "Oñate", "*****@*****.**", "M", 1 ); var jsonObject = JsonConvert.SerializeObject(request); var content = new StringContent(jsonObject, Encoding.UTF8, "application/json"); var responseHttp = await _client.PostAsync("api/jefeDpto", content); responseHttp.StatusCode.Should().Be(HttpStatusCode.OK); var respuesta = await responseHttp.Content.ReadAsStringAsync(); respuesta.Should().Contain("Se registró correctamente el Jefe de departamento Sebastian"); var context = _factory.CreateContext(); var jefeDpto = context.JefesDptos.FirstOrDefault(t => t.Identificacion == "123fff"); jefeDpto.Should().NotBeNull(); #endregion #region Registro Plazo apertura var fechaInicio = new DateTime(2021, 02, 20); var fechaFin = new DateTime(2021, 03, 20); var plazoRequest = new PlazoAperturaRequest( "123fff", fechaInicio, fechaFin ); jsonObject = JsonConvert.SerializeObject(plazoRequest); content = new StringContent(jsonObject, Encoding.UTF8, "application/json"); responseHttp = await _client.PostAsync("api/PlazoApertura", content); responseHttp.StatusCode.Should().Be(HttpStatusCode.OK); respuesta = await responseHttp.Content.ReadAsStringAsync(); respuesta.Should().Contain("El plazo fue correctamente ingresado"); var plazoApertura = context.PlazosApertura.FirstOrDefault(t => t.Creador.Identificacion == "123fff"); plazoApertura.Should().NotBeNull(); #endregion }
public void PuedoCrearPlanDeAccion() { var actividad = ActividadMother.CreateActividad(); _actividadRepository.Add(actividad); _dbContext.SaveChanges(); var plazo = PlazoAperturaMother.CreatePlazoApertura("123313"); var plazoRequest = new PlazoAperturaRequest("123313", plazo.FechaInicio, plazo.FechaFin); _plazoAperturaService.CrearPlazoApertura(plazoRequest).Message.Should().Be("El plazo fue correctamente ingresado"); var item = new ItemPlanRequest(0, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var items = new List <ItemPlanRequest>(); items.Add(item); var request = new PlanAccionRequest(1, items); var response = _crearPlanAccionService.Handle(request); response.Message.Should().Be("Plan de accion registrado correctamente"); }
public void NoPuedoCrearPlanDeAccionNoEstaDentroDelPlazoDeApertura() { var actividad = ActividadMother.CreateActividad(); _actividadRepository.Add(actividad); _dbContext.SaveChanges(); var plazo = PlazoAperturaMother.CreatePlazoAperturaVencido("123313"); var plazoRequest = new PlazoAperturaRequest("123313", plazo.FechaInicio, plazo.FechaFin); _plazoAperturaService.CrearPlazoApertura(plazoRequest).Message.Should().Be("El plazo fue correctamente ingresado"); var item = new ItemPlanRequest(0, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var items = new List <ItemPlanRequest>(); items.Add(item); var request = new PlanAccionRequest(1, items); var response = _crearPlanAccionService.Handle(request); response.Message.Should().Be("Error: La fecha no esta dentro del plazo establecido por el jefe de departamento"); }
public async Task PuedeCrearPlanAccionTestAsync() { // var httpClient = _factory.CreateClient(); var context = _factory.CreateContext(); var actividadToAdd = ActividadMother.CreateActividad(); context.Actividades.Add(actividadToAdd); context.SaveChanges(); var plazoToAdd = PlazoAperturaMother.CreatePlazoApertura("123313"); var plazoRequest = new PlazoAperturaRequest("123313", plazoToAdd.FechaInicio, plazoToAdd.FechaFin); var jsonObject = JsonConvert.SerializeObject(plazoRequest); var content = new StringContent(jsonObject, Encoding.UTF8, "application/json"); var responseHttp = await _client.PostAsync("api/PlazoApertura", content); responseHttp.StatusCode.Should().Be(HttpStatusCode.OK); var item = new ItemPlanRequest(0, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var items = new List <ItemPlanRequest>(); items.Add(item); var request = new PlanAccionRequest( 1, items ); jsonObject = JsonConvert.SerializeObject(request); content = new StringContent(jsonObject, Encoding.UTF8, "application/json"); responseHttp = await _client.PostAsync("api/PlanAccion", content); responseHttp.StatusCode.Should().Be(HttpStatusCode.OK); var respuesta = await responseHttp.Content.ReadAsStringAsync(); respuesta.Should().Contain("Plan de accion registrado correctamente"); var plan = context.Planes.FirstOrDefault(); plan.Should().NotBeNull(); }