diff Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrud.cs @ 140:3639803112c6

Refactoring de la relaciĆ³n entre Evento y Estado
author nelopauselli
date Fri, 29 Jul 2011 16:30:53 -0300
parents c3573defd18f
children 2dbb15f4510f
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrud.cs	Thu Jul 28 10:16:09 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrud.cs	Fri Jul 29 16:30:53 2011 -0300
@@ -123,5 +123,40 @@
 				Assert.IsNotNull(ponente);
 			}
 		}
+
+		public void Workflow()
+		{
+			Guid eventoId = Create();
+
+			using (_requestEmulator.Invoke())
+			{
+				Evento evento = _eventoRepository.Get(eventoId);
+				Assert.AreEqual(EventoPropuestoState.GetInstance(), evento.Estado);
+
+				evento.Agendar(evento.Ponente, evento.Fecha, null);
+			}
+
+			using (_requestEmulator.Invoke())
+			{
+				Evento evento = _eventoRepository.Get(eventoId);
+				Assert.AreEqual(EventoAgendadoState.GetInstance(), evento.Estado);
+
+				evento.Confirmar();
+			}
+
+			using (_requestEmulator.Invoke())
+			{
+				Evento evento = _eventoRepository.Get(eventoId);
+				Assert.AreEqual(EventoConfirmadoState.GetInstance(), evento.Estado);
+
+				evento.Publicar(1, null);
+			}
+
+			using (_requestEmulator.Invoke())
+			{
+				Evento evento = _eventoRepository.Get(eventoId);
+				Assert.AreEqual(EventoPublicadoState.GetInstance(), evento.Estado);
+			}
+		}
 	}
 }
\ No newline at end of file