comparison Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs @ 118:b74734a1a755

Manejo de eventos por estado
author Nelo@Kenia.neluz.int
date Wed, 22 Jun 2011 09:32:59 -0300
parents 80c22175c9b5
children 62791999ad01
comparison
equal deleted inserted replaced
117:7ef7e4bb71f6 118:b74734a1a755
17 [Test] 17 [Test]
18 public void Crear_modificar_y_publicar_evento_propuesto() 18 public void Crear_modificar_y_publicar_evento_propuesto()
19 { 19 {
20 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 20 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
21 21
22 agenda.Proponer("Van", null, urlInvitacion, TipoEvento.Van); 22 agenda.Proponer("Van", null, urlInvitacion, TipoEvento.Van);
23 { 23 {
24 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); 24 IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
25 IList<Evento> eventosPublicados = agenda.GetEventosAgendados(); 25 IList<Evento> eventosAgendados = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
26 26
27 Assert.AreEqual(1, eventosPropuestos.Count); 27 Assert.AreEqual(1, eventosPropuestos.Count);
28 Assert.AreEqual(0, eventosPublicados.Count); 28 Assert.AreEqual(0, eventosAgendados.Count);
29 29
30 var evento = eventosPropuestos.FirstOrDefault(); 30 var evento = eventosPropuestos.FirstOrDefault();
31 agenda.ModificarPropuesta(evento.Id, "Van 2", "otro ponente", urlInvitacion); 31 agenda.ModificarPropuesta(evento.Id, "Van 2", "otro ponente", urlInvitacion);
32 32
33 eventosPropuestos = agenda.GetEventosPropuestos(); 33 eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
34 Assert.AreEqual(1, eventosPropuestos.Count); 34 Assert.AreEqual(1, eventosPropuestos.Count);
35 35
36 evento = eventosPropuestos.FirstOrDefault(); 36 evento = eventosPropuestos.FirstOrDefault();
37 Assert.AreEqual("Van 2", evento.Titulo); 37 Assert.AreEqual("Van 2", evento.Titulo);
38 Assert.AreEqual("otro ponente", evento.Ponente.Nombre); 38 Assert.AreEqual("otro ponente", evento.Ponente.Nombre);
39 } 39 }
40 40
41 var r = agenda.Agendar("Van 2", "jjmontes", DateTime.Now, urlInvitacion, TipoEvento.Van); 41 var r = agenda.Agendar("Van 2", "jjmontes", DateTime.Now, urlInvitacion, TipoEvento.Van);
42 Assert.IsTrue(r.Succeful); 42 Assert.IsTrue(r.Succeful);
43 { 43 {
44 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); 44 IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
45 IList<Evento> eventosPublicados = agenda.GetEventosAgendados(); 45 IList<Evento> eventosAgendados = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
46 46
47 Assert.AreEqual(0, eventosPropuestos.Count); 47 Assert.AreEqual(0, eventosPropuestos.Count);
48 Assert.AreEqual(1, eventosPublicados.Count); 48 Assert.AreEqual(1, eventosAgendados.Count);
49 } 49 }
50 } 50 }
51 51
52 [Test] 52 [Test]
53 public void Intentar_agendar_evento_propuesto_sin_indicar_fecha() 53 public void Intentar_agendar_evento_propuesto_sin_indicar_fecha()
54 { 54 {
55 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 55 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
56 56
57 { 57 {
58 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); 58 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
59 } 59 }
60 60
61 { 61 {
62 var van = agenda.GetEventosPropuestos().FirstOrDefault(); 62 var van = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).FirstOrDefault();
63 Assert.IsNotNull(van); 63 Assert.IsNotNull(van);
64 var r = agenda.Agendar(van.Titulo, "Ponente", null, 64 var r = agenda.Agendar(van.Titulo, "Ponente", null,
65 urlInvitacion, TipoEvento.Van); 65 urlInvitacion, TipoEvento.Van);
66 Assert.IsFalse(r.Succeful); 66 Assert.IsFalse(r.Succeful);
67 } 67 }
68 } 68 }
69 69
70 [Test] 70 [Test]
71 public void Intentar_agendar_evento_propuesto_sin_indicar_ponente() 71 public void Intentar_agendar_evento_propuesto_sin_indicar_ponente()
72 { 72 {
73 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 73 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
74 74
75 { 75 {
76 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); 76 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
77 } 77 }
78 78
79 { 79 {
80 var van = agenda.GetEventosPropuestos().FirstOrDefault(); 80 var van = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).FirstOrDefault();
81 Assert.IsNotNull(van); 81 Assert.IsNotNull(van);
82 82
83 van.Actualizar(null, DateTime.Today.AddDays(5), urlInvitacion); 83 van.Actualizar(null, DateTime.Today.AddDays(5), urlInvitacion);
84 var r = agenda.Agendar(van.Titulo, string.Empty, van.Fecha, 84 var r = agenda.Agendar(van.Titulo, string.Empty, van.Fecha,
85 urlInvitacion, TipoEvento.Van); 85 urlInvitacion, TipoEvento.Van);
86 Assert.IsFalse(r.Succeful); 86 Assert.IsFalse(r.Succeful);
87 } 87 }
88 } 88 }
89 89
90 [Test] 90 [Test]
102 { 102 {
103 var repository = new Mock<IEventoRepository>(); 103 var repository = new Mock<IEventoRepository>();
104 104
105 var agenda = new Agenda(null, repository.Object, DefaultPersonaRepository); 105 var agenda = new Agenda(null, repository.Object, DefaultPersonaRepository);
106 106
107 var r = agenda.Proponer(string.Empty, null, urlInvitacion, TipoEvento.Van); 107 var r = agenda.Proponer(string.Empty, null, urlInvitacion, TipoEvento.Van);
108 Assert.IsFalse(r.Succeful); 108 Assert.IsFalse(r.Succeful);
109 109
110 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); 110 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
111 } 111 }
112 112
115 { 115 {
116 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 116 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
117 117
118 SetCurrentUser(null, null); 118 SetCurrentUser(null, null);
119 119
120 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Proponer("Inmortalidad de la meduza.", null, urlInvitacion, TipoEvento.Van)); 120 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Proponer("Inmortalidad de la meduza.", null, urlInvitacion, TipoEvento.Van));
121 } 121 }
122 122
123 [Test] 123 [Test]
124 public void Proponer_evento_correctamente() 124 public void Proponer_evento_correctamente()
125 { 125 {
126 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 126 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
127 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); 127 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
128 128
129 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); 129 IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
130 Assert.IsNotNull(eventosPropuestos); 130 Assert.IsNotNull(eventosPropuestos);
131 Assert.AreEqual(1, eventosPropuestos.Count); 131 Assert.AreEqual(1, eventosPropuestos.Count);
132 Assert.AreEqual("Van propuesta", eventosPropuestos[0].Titulo); 132 Assert.AreEqual("Van propuesta", eventosPropuestos[0].Titulo);
133 } 133 }
134 134
135 [Test] 135 [Test]
136 public void Verificar_propuesta_separada_de_publicacion() 136 public void Verificar_propuesta_separada_de_publicacion()
137 { 137 {
138 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 138 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
139 139
140 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); 140 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
141 var r = agenda.Agendar("Van publicada", "jjmontes", DateTime.Now, 141 var r = agenda.Agendar("Van publicada", "jjmontes", DateTime.Now,
142 urlInvitacion, TipoEvento.Van); 142 urlInvitacion, TipoEvento.Van);
143 Assert.IsTrue(r.Succeful); 143 Assert.IsTrue(r.Succeful);
144 144
145 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); 145 IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
146 IList<Evento> eventosPublicados = agenda.GetEventosAgendados(); 146 IList<Evento> eventosAgendados = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
147 147
148 Assert.AreEqual(1, eventosPropuestos.Count); 148 Assert.AreEqual(1, eventosPropuestos.Count);
149 Assert.AreEqual(1, eventosPublicados.Count); 149 Assert.AreEqual(1, eventosAgendados.Count);
150 } 150 }
151 } 151 }
152 } 152 }