Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowTests.cs @ 133:6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
Falta solucionar problema con flujo, ver más información en el ticket de assembla.
http://www.assembla.com/spaces/altnet-hispano/tickets/146-implementar-estado-descartar-y-cancelar-de-eventos
author | alabra |
---|---|
date | Sun, 10 Jul 2011 23:59:19 -0400 |
parents | b74734a1a755 |
children | 462a78196d11 |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowTests.cs Sun Jul 10 23:55:56 2011 -0400 +++ b/Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowTests.cs Sun Jul 10 23:59:19 2011 -0400 @@ -35,8 +35,124 @@ _publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2)); } + [Test] + public void Proponer_agendar_y_cancelar() + { + _workflow.Proponer(); - [Test] + _workflow.Agendar(); + + var evento = DefaultEventoRepository.GetActivos().SingleOrDefault(); + Assert.IsNotNull(evento); + + _workflow.Cancelar(evento.Id); + + _publicador.Verify(p=>p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(3)); + } + + [Test] + public void Proponer_agendar_cancelar_y_reagendar() + { + _workflow.Proponer(); + + _workflow.Agendar(); + + var evento = DefaultEventoRepository.GetActivos().SingleOrDefault(); + Assert.IsNotNull(evento); + + _workflow.Cancelar(evento.Id); + + _workflow.ReAgendar(evento.Id); + + _publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(4)); + } + + [Test, Explicit("Se esta discutiendo este problema en http://www.assembla.com/spaces/altnet-hispano/messages/768408")] + public void Proponer_agendar_cancelar_reproponer_agendar_y_confirmar() + { + _workflow.Proponer(); + + _workflow.Agendar(); + + var evento = DefaultEventoRepository.GetActivos().SingleOrDefault(); + Assert.IsNotNull(evento); + + _workflow.Cancelar(evento.Id); + + _workflow.ReProponer(evento.Id); + + _workflow.Agendar(); + + _workflow.Confirmar(evento.Id); + + _publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(6)); + } + + [Test] + public void Proponer_agendar_cancelar_reagendar_y_confirmar() + { + _workflow.Proponer(); + + _workflow.Agendar(); + + var evento = DefaultEventoRepository.GetActivos().SingleOrDefault(); + Assert.IsNotNull(evento); + + _workflow.Cancelar(evento.Id); + + _workflow.ReAgendar(evento.Id); + + _workflow.Confirmar(evento.Id); + + _publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(5)); + } + + [Test] + public void Proponer_agendar_cancelar_y_reproponer() + { + _workflow.Proponer(); + + _workflow.Agendar(); + + var evento = DefaultEventoRepository.GetActivos().SingleOrDefault(); + Assert.IsNotNull(evento); + + _workflow.Cancelar(evento.Id); + + _workflow.ReProponer(evento.Id); + + _publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(4)); + } + + [Test] + public void Proponer_y_descartar() + { + _workflow.Proponer(); + var evento = DefaultEventoRepository.GetActivos().SingleOrDefault(); + Assert.IsNotNull(evento); + + _workflow.Descartar(evento.Id); + _publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2)); + } + + [Test] + public void Proponer_agendar_cancelar_y_descartar() + { + _workflow.Proponer(); + + _workflow.Agendar(); + + var evento = DefaultEventoRepository.GetActivos().SingleOrDefault(); + Assert.IsNotNull(evento); + + _workflow.Cancelar(evento.Id); + + _workflow.Descartar(evento.Id); + + _publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(4)); + } + + [Test] public void Proponer_agendar_y_confirmar() { _workflow.Proponer();