comparison Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs @ 274:72a96459f910

Ticket #123: Patrocinadores de las vans.
author juanjose.montesdeocaarbos
date Wed, 30 Nov 2011 08:56:01 -0300
parents 31fb96912d37
children bc8dfbde0523
comparison
equal deleted inserted replaced
273:a7420f05716a 274:72a96459f910
15 private const string urlInvitacion = "http://groups.google.com/group/altnet-hispano/browse_thread/thread/65d6d26eb381386e"; 15 private const string urlInvitacion = "http://groups.google.com/group/altnet-hispano/browse_thread/thread/65d6d26eb381386e";
16 16
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, DefaultPatrocinadorRepository);
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.GetEventosActivos(EventoPropuestoState.GetInstance()); 24 IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
25 IList<Evento> eventosAgendados = agenda.GetEventosActivos(EventoAgendadoState.GetInstance()); 25 IList<Evento> eventosAgendados = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
55 } 55 }
56 56
57 [Test] 57 [Test]
58 public void Intentar_agendar_evento_propuesto_sin_indicar_fecha() 58 public void Intentar_agendar_evento_propuesto_sin_indicar_fecha()
59 { 59 {
60 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 60 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
61 61
62 { 62 {
63 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); 63 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
64 } 64 }
65 65
77 } 77 }
78 78
79 [Test] 79 [Test]
80 public void Intentar_agendar_evento_propuesto_sin_indicar_ponente() 80 public void Intentar_agendar_evento_propuesto_sin_indicar_ponente()
81 { 81 {
82 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 82 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
83 83
84 { 84 {
85 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); 85 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
86 } 86 }
87 87
101 [Test] 101 [Test]
102 public void Intentar_obtener_un_evento_inexistente() 102 public void Intentar_obtener_un_evento_inexistente()
103 { 103 {
104 var idEventoNoExistente = new Guid("99999999999999999999999999999999"); 104 var idEventoNoExistente = new Guid("99999999999999999999999999999999");
105 105
106 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 106 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
107 107
108 Assert.Throws<EventoNotFoundException>(() => agenda.GetEvento(idEventoNoExistente)); 108 Assert.Throws<EventoNotFoundException>(() => agenda.GetEvento(idEventoNoExistente));
109 } 109 }
110 110
111 [Test] 111 [Test]
112 public void Intentar_proponer_evento_sin_titulo() 112 public void Intentar_proponer_evento_sin_titulo()
113 { 113 {
114 var repository = new Mock<IEventoRepository>(); 114 var repository = new Mock<IEventoRepository>();
115 115
116 var agenda = new Agenda(null, repository.Object, DefaultPersonaRepository); 116 var agenda = new Agenda(null, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
117 117
118 var r = agenda.Proponer(string.Empty, null, urlInvitacion, TipoEvento.Van); 118 var r = agenda.Proponer(string.Empty, null, urlInvitacion, TipoEvento.Van);
119 Assert.IsFalse(r.Succeful); 119 Assert.IsFalse(r.Succeful);
120 120
121 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); 121 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
122 } 122 }
123 123
124 [Test] 124 [Test]
125 public void Intentar_proponer_evento_sin_usuario_autenticado() 125 public void Intentar_proponer_evento_sin_usuario_autenticado()
126 { 126 {
127 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 127 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
128 128
129 SetCurrentUser(null, null); 129 SetCurrentUser(null, null);
130 130
131 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Proponer("Inmortalidad de la meduza.", null, urlInvitacion, TipoEvento.Van)); 131 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Proponer("Inmortalidad de la meduza.", null, urlInvitacion, TipoEvento.Van));
132 } 132 }
133 133
134 [Test] 134 [Test]
135 public void Proponer_evento_correctamente() 135 public void Proponer_evento_correctamente()
136 { 136 {
137 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 137 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
138 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); 138 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
139 139
140 IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()); 140 IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
141 Assert.IsNotNull(eventosPropuestos); 141 Assert.IsNotNull(eventosPropuestos);
142 Assert.AreEqual(1, eventosPropuestos.Count); 142 Assert.AreEqual(1, eventosPropuestos.Count);
144 } 144 }
145 145
146 [Test] 146 [Test]
147 public void Verificar_propuesta_separada_de_publicacion() 147 public void Verificar_propuesta_separada_de_publicacion()
148 { 148 {
149 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 149 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
150 150
151 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); 151 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
152 var fechaInicio = DateTime.Now.ToUniversalTime(); 152 var fechaInicio = DateTime.Now.ToUniversalTime();
153 var fechaTermino = fechaInicio.AddHours(2); 153 var fechaTermino = fechaInicio.AddHours(2);
154 var r = agenda.Agendar("Van publicada", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, 154 var r = agenda.Agendar("Van publicada", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
163 } 163 }
164 164
165 [Test] 165 [Test]
166 public void Publicar_con_Nro_Duplicado() 166 public void Publicar_con_Nro_Duplicado()
167 { 167 {
168 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 168 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
169 { 169 {
170 var fechaInicio = DateTime.Now.ToUniversalTime(); 170 var fechaInicio = DateTime.Now.ToUniversalTime();
171 var fechaTermino = fechaInicio.AddHours(2); 171 var fechaTermino = fechaInicio.AddHours(2);
172 172
173 agenda.Agendar("Van", new[] { TestsHelper.GetOrCreatePonente("jjmontes") }, fechaInicio, fechaTermino, 173 agenda.Agendar("Van", new[] { TestsHelper.GetOrCreatePonente("jjmontes") }, fechaInicio, fechaTermino,