Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Tests/AgendarTests.cs @ 102:92c5a12015f3
agregado de tests sobre los estados de un Evento
author | jorge.rowies |
---|---|
date | Sun, 05 Jun 2011 11:57:34 -0300 |
parents | 2434c2323f3d |
children | 23325dddddcc |
comparison
equal
deleted
inserted
replaced
101:9bfdd5bf3ad2 | 102:92c5a12015f3 |
---|---|
200 Assert.AreEqual(2, agendado.Tracks.Count()); | 200 Assert.AreEqual(2, agendado.Tracks.Count()); |
201 | 201 |
202 Assert.IsNotNull(agendado.Tracks.Where(t => t.Accion == Accion.Proponer).SingleOrDefault()); | 202 Assert.IsNotNull(agendado.Tracks.Where(t => t.Accion == Accion.Proponer).SingleOrDefault()); |
203 Assert.IsNotNull(agendado.Tracks.Where(t => t.Accion == Accion.Agendar).SingleOrDefault()); | 203 Assert.IsNotNull(agendado.Tracks.Where(t => t.Accion == Accion.Agendar).SingleOrDefault()); |
204 } | 204 } |
205 | |
206 [Test] | |
207 public void Al_proponer_un_evento_debe_quedar_con_estado_EventoPropuestoState_y_debe_generar_el_track_correspondiente() | |
208 { | |
209 var publicador1 = new Mock<IPublicador>(); | |
210 | |
211 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | |
212 agenda.Proponer("Html 5", "jjmontes", urlInvitacion); | |
213 | |
214 var evento = DefaultEventoRepository.GetEventosSinFecha().Single(e => e.Titulo == "Html 5"); | |
215 | |
216 Assert.IsInstanceOf(typeof(EventoPropuestoState), evento.Estado); | |
217 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Proponer) == 1); | |
218 } | |
219 | |
220 [Test] | |
221 public void Al_agendar_un_evento_debe_quedar_con_estado_EventoAgendadoState_y_debe_generar_el_track_correspondiente() | |
222 { | |
223 var publicador1 = new Mock<IPublicador>(); | |
224 | |
225 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | |
226 agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion); | |
227 | |
228 var evento = DefaultEventoRepository.GetEventosConFecha().Single(e => e.Titulo == "Html 5"); | |
229 | |
230 Assert.IsInstanceOf(typeof(EventoAgendadoState), evento.Estado); | |
231 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Agendar) == 1); | |
232 } | |
233 | |
234 [Test] | |
235 public void Al_confirmar_un_evento_debe_quedar_con_estado_EventoConfirmadoState_y_debe_generar_el_track_correspondiente() | |
236 { | |
237 var publicador1 = new Mock<IPublicador>(); | |
238 | |
239 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | |
240 agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion); | |
241 | |
242 var evento = DefaultEventoRepository.GetEventosConFecha().Single(e => e.Titulo == "Html 5"); | |
243 | |
244 agenda.Confirmar(evento.Id); | |
245 | |
246 Assert.IsInstanceOf(typeof(EventoConfirmadoState), evento.Estado); | |
247 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Confirmar) == 1); | |
248 } | |
249 | |
250 [Test] | |
251 public void Al_publicar_un_evento_debe_quedar_con_estado_EventoPublicadoState_y_debe_generar_el_track_correspondiente() | |
252 { | |
253 var publicador1 = new Mock<IPublicador>(); | |
254 | |
255 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | |
256 agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion); | |
257 | |
258 var evento = DefaultEventoRepository.GetEventosConFecha().Single(e => e.Titulo == "Html 5"); | |
259 | |
260 agenda.Confirmar(evento.Id); | |
261 agenda.Publicar(evento.Id); | |
262 | |
263 Assert.IsInstanceOf(typeof(EventoPublicadoState), evento.Estado); | |
264 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Publicar) == 1); | |
265 } | |
266 | |
267 [Test] | |
268 [ExpectedException(typeof(AccionNoSoportadaException))] | |
269 public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion() | |
270 { | |
271 var publicador1 = new Mock<IPublicador>(); | |
272 | |
273 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | |
274 agenda.Proponer("Html 5", "jjmontes", urlInvitacion); | |
275 | |
276 var evento = DefaultEventoRepository.GetEventosSinFecha().Single(e => e.Titulo == "Html 5"); | |
277 | |
278 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoAgendadoState)); | |
279 | |
280 agenda.Confirmar(evento.Id); | |
281 } | |
282 | |
283 [Test] | |
284 [ExpectedException(typeof(AccionNoSoportadaException))] | |
285 public void Al_publicar_sin_confirmar_debe_lanzarse_excepcion() | |
286 { | |
287 var publicador1 = new Mock<IPublicador>(); | |
288 | |
289 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | |
290 agenda.Proponer("Html 5", "jjmontes", urlInvitacion); | |
291 | |
292 var evento = DefaultEventoRepository.GetEventosSinFecha().Single(e => e.Titulo == "Html 5"); | |
293 | |
294 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoConfirmadoState)); | |
295 | |
296 agenda.Publicar(evento.Id); | |
297 } | |
205 } | 298 } |
206 } | 299 } |