annotate Agendas/trunk/src/Agendas.Tests/AgendarTests.cs @ 231:e5959f3405e0

Eventos sin ponentes
author nelopauselli
date Wed, 28 Sep 2011 20:02:44 -0300
parents f23ee59ef1bd
children c61954d24c8c
rev   line source
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
1 using System;
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
2 using System.Collections.Generic;
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
3 using System.Linq;
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
4 using AltNetHispano.Agendas.Domain;
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
5 using AltNetHispano.Agendas.Domain.Exceptions;
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
6 using AltNetHispano.Agendas.Domain.Repositories;
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
7 using AltNetHispano.Agendas.Repositories.Memory;
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
8 using Moq;
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
9 using NUnit.Framework;
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
10
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
11 namespace AltNetHispano.Agendas.Tests
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
12 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
13 [TestFixture]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
14 public class AgendarTests : TestBase
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
15 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
16 private const string urlInvitacion = "http://groups.google.com/group/altnet-hispano/browse_thread/thread/65d6d26eb381386e";
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
17
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
18 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
19 public void CompositePublicador_constructor_parametro_null_debe_generar_ArgumentNullException()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
20 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
21 Assert.Throws<ArgumentNullException>(() => new CompositePublicador(null));
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
22 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
23
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
24 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
25 public void Intentar_agendar_evento_donde_ocurre_una_excepcion_no_manejada()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
26 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
27 var publicador = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
28 var repository = new Mock<IEventoRepository>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
29
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
30 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Throws(new Exception("Error intencional"));
195
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
31 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
32 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
33
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
34 var fechaInicio = DateTime.Now.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
35 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
36 Assert.Throws<Exception>(
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
37 () =>
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
38 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
39 urlInvitacion, TipoEvento.Van));
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
40 Assert.AreEqual(0, agenda.GetEventosActivos().Count);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
41
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
42 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
43 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
44 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
45
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
46 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
47 public void Intentar_agendar_evento_sin_servicio_de_seguridad()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
48 {
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
49 IdentityContext.Init(null, new PersonaRepository());
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
50
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
51 var publicador = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
52 var repository = new Mock<IEventoRepository>();
196
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
53 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
54 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
55
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
56 var fechaInicio = DateTime.Now.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
57 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
58 Assert.Throws<IdentityContextNotConfiguredException>(
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
59 () =>
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
60 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
61 urlInvitacion, TipoEvento.Van));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
62 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
63 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
64
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
65 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
66 public void Intentar_agendar_evento_sin_usuario_autenticado()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
67 {
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
68 SetCurrentUser(null, null);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
69
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
70 var publicador = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
71 var repository = new Mock<IEventoRepository>();
196
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
72 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
73 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
74
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
75 var fechaInicio = DateTime.Now.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
76 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
77 Assert.Throws<UsuarioNoAutenticadoException>(
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
78 () =>
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
79 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
80 urlInvitacion, TipoEvento.Van));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
81
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
82 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(0));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
83 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
84 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
85
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
86 [Test]
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
87 public void Intentar_agendar_van_sin_ponente()
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
88 {
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
89 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
90
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
91 var fechaInicio = DateTime.Now.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
92 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
93 var r = agenda.Agendar("Van para publicar", Guid.Empty, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
94
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
95 Assert.IsFalse(r.Succeful);
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
96 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
97
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
98 [Test]
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
99 public void Agendar_cafe_sin_ponente()
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
100 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
101 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
102
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
103 var fechaInicio = DateTime.Now.ToUniversalTime();
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
104 var fechaTermino = fechaInicio.AddHours(2);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
105 var r = agenda.Agendar("Cafe para publicar", Guid.Empty, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Cafe);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
106
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
107 Assert.IsTrue(r.Succeful);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
108 }
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
109
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
110 [Test]
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
111 public void Agendar_grupo_de_estudio_sin_ponente()
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
112 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
113 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
114
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
115 var fechaInicio = DateTime.Now.ToUniversalTime();
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
116 var fechaTermino = fechaInicio.AddHours(2);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
117 var r = agenda.Agendar("GrupoEstudio para publicar", Guid.Empty, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.GrupoEstudio);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
118
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
119 Assert.IsTrue(r.Succeful);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
120 }
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
121
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
122 [Test]
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
123 public void Agendar_evento_con_multiples_publicadores()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
124 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
125 var publicador1 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
126 var publicador2 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
127
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
128 var repository = new Mock<IEventoRepository>();
195
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
129 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
130 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
131 repository.Object, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
132
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
133 var fechaInicio = DateTime.Now.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
134 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
135 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
136 urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
137
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
138 publicador1.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
139 publicador2.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
140 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(1));
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
141 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
142
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
143 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
144 public void Agendar_evento_correctamente()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
145 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
146 var publicador = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
147
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
148 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
149
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
150 var fechaInicio = DateTime.Now.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
151 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
152 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
153 urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
154
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
155 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
156
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
157 var eventos = agenda.GetEventosActivos();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
158 Assert.AreEqual(1, eventos.Count);
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
159
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
160 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
161
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
162 var evento = eventos[0];
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
163
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
164 }
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
165
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
166 [Test]
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
167 public void Agendar_evento_con_multiples_ponentes()
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
168 {
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
169 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
170
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
171 var fechaInicio = DateTime.Now.ToUniversalTime();
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
172 var fechaTermino = fechaInicio.AddHours(2);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
173
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
174 agenda.Agendar("Identity Providers, oAuth y Autenticaciones on-line", TestsHelper.GetOrCreatePonente("carlospeix"), fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Van, new[] {TestsHelper.GetOrCreatePonente("nelopauselli")});
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
175
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
176 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
177
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
178 var eventos = agenda.GetEventosActivos();
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
179 Assert.AreEqual(1, eventos.Count);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
180
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
181 var evento = eventos[0];
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
182
97
2434c2323f3d En el evento, volvemos a llamar Ponente a la persona que está a cargo de la presentación
Nelo@Kenia.neluz.int
parents: 95
diff changeset
183 Assert.IsNotNull(evento.Ponente);
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
184 Assert.AreEqual("carlospeix", evento.Ponente.Twitter);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
185
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
186 Assert.IsNotNull(evento.OtrosPonentes);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
187 Assert.AreEqual(1, evento.OtrosPonentes.Count());
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
188 var colaborador = evento.OtrosPonentes.First();
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
189 Assert.AreEqual("nelopauselli", colaborador.Twitter);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
190 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
191
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
192 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
193 public void Agendar_y_modificar_evento()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
194 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
195 var repository = DefaultEventoRepository;
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
196 var publicador = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
197
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
198 var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
199 var fechaInicioVanPublicar = DateTime.Now.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
200 var fechaTerminoVanPublicar = fechaInicioVanPublicar.AddHours(2);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
201
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
202 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicioVanPublicar,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
203 fechaTerminoVanPublicar,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
204 urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
205
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
206 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
207
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
208 var evento = repository.GetActivos().First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
209 Assert.AreNotEqual(Guid.Empty, evento.Id);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
210 Assert.IsNotNull(evento.FechaInicio);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
211
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
212 var fechaInicio = evento.FechaInicio.Value.AddDays(7);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
213 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
214 agenda.ModificarEvento(evento.Id, "otro titulo", TestsHelper.GetOrCreatePonente("otro ponente"), fechaInicio,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
215 fechaTermino, urlInvitacion);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
216
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
217 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
218
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
219 evento = repository.GetActivos().First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
220 Assert.AreEqual("otro titulo", evento.Titulo);
97
2434c2323f3d En el evento, volvemos a llamar Ponente a la persona que está a cargo de la presentación
Nelo@Kenia.neluz.int
parents: 95
diff changeset
221 Assert.AreEqual("otro ponente", evento.Ponente.Nombre);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
222 Assert.AreEqual(fechaInicio, evento.FechaInicio);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
223
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
224 var idEventoNoExistente = new Guid("99999999999999999999999999999999");
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
225 Assert.Throws<EventoNotFoundException>(
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
226 () =>
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
227 agenda.ModificarEvento(idEventoNoExistente, "algún título", TestsHelper.GetOrCreatePonente("un ponente"),
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
228 DateTime.Now, DateTime.Now.AddHours(2), urlInvitacion));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
229 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
230
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
231 [Test, Ignore("Por ahora no existe el concepto de recordar")]
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
232 public void Agendar_y_recordar_evento()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
233 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
234 var publicador1 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
235 var publicador2 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
236
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
237 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
238 DefaultEventoRepository, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
239
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
240 var fechaInicio = DateTime.Now.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
241 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
242 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
243 urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
244
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
245 var van = agenda.GetEventosActivos().Single(v => v.Titulo == "Van para publicar");
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
246 //agenda.Recordar(van.Id);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
247
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
248 publicador1.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
249 publicador2.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
250 //recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
251 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
252
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
253 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
254 public void Agendar_evento_propuesto()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
255 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
256 var publicador1 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
257 var publicador2 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
258
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
259 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
260 DefaultEventoRepository, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
261
145
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 140
diff changeset
262 agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
263 Assert.AreEqual(1, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
264 Assert.AreEqual(1, agenda.GetEventosActivos().Count);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
265
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
266 var publicado = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
267 Assert.AreEqual(1, publicado.Tracks.Count());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
268
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
269 var fechaInicio = DateTime.Today.AddDays(5).ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
270 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
271 agenda.ModificarEvento(publicado.Id, "Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
272 fechaTermino, urlInvitacion);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
273 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
274 Assert.AreEqual(1, agenda.GetEventosActivos(EventoAgendadoState.GetInstance()).Count);
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
275 Assert.AreEqual(1, agenda.GetEventosActivos().Count);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
276
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
277 var agendado = agenda.GetEventosActivos().First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
278 Assert.AreSame(publicado, agendado);
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
279 Assert.AreEqual(2, agendado.Tracks.Count());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
280
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
281 Assert.IsNotNull(agendado.Tracks.Where(t => t.Accion == Accion.Proponer).SingleOrDefault());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
282 Assert.IsNotNull(agendado.Tracks.Where(t => t.Accion == Accion.Agendar).SingleOrDefault());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
283 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
284
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
285 [Test]
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
286 public void Al_proponer_un_evento_debe_quedar_con_estado_EventoPropuestoState_y_debe_generar_el_track_correspondiente()
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
287 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
288 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
289
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
290 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
145
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 140
diff changeset
291 agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
292
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
293 var evento =
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
294 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5");
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
295
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
296 Assert.IsInstanceOf(typeof(EventoPropuestoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
297 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Proponer) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
298 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
299
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
300 [Test]
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
301 public void Al_agendar_un_evento_debe_quedar_con_estado_EventoAgendadoState_y_debe_generar_el_track_correspondiente()
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
302 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
303 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
304
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
305 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
306 var fechaInicio = DateTime.MinValue.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
307 var fechatermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
308 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechatermino, urlInvitacion,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
309 TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
310
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
311 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
312
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
313 Assert.IsInstanceOf(typeof(EventoAgendadoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
314 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Agendar) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
315 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
316
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
317 [Test]
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
318 public void Al_cancelar_un_evento_debe_quedar_con_estado_EventoCanceladoState_y_debe_generar_el_track_correspondiente()
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
319 {
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
320 var publicador1 = new Mock<IPublicador>();
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
321
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
322 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
323 var fechaInicio = DateTime.MinValue.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
324 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
325 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
326 urlInvitacion, TipoEvento.Van);
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
327
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
328 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
329
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
330 agenda.Cancelar(evento.Id);
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
331
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
332 Assert.IsInstanceOf(typeof(EventoCanceladoState), evento.Estado);
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
333 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Cancelar) == 1);
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
334 Assert.AreEqual(EventoCanceladoState.GetInstance(), evento.Estado);
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
335 }
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
336
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
337 [Test]
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
338 public void Al_descartar_un_evento_debe_quedar_con_estado_EventoDescartadoState_y_debe_generar_el_track_correspondiente()
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
339 {
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
340 var publicador1 = new Mock<IPublicador>();
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
341
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
342 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
343 var fechaInicio = DateTime.MinValue.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
344 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
345 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
346 urlInvitacion, TipoEvento.Van);
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
347
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
348 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
349
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
350 agenda.Cancelar(evento.Id);
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
351 agenda.Descartar(evento.Id);
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
352
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
353 Assert.IsInstanceOf(typeof(EventoDescartadoState), evento.Estado);
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
354 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Descartar) == 1);
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
355 Assert.AreEqual(EventoDescartadoState.GetInstance(), evento.Estado);
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
356 }
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
357
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
358 [Test]
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
359 public void Al_confirmar_un_evento_debe_quedar_con_estado_EventoConfirmadoState_y_debe_generar_el_track_correspondiente()
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
360 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
361 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
362
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
363 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
364 var fechaInicio = DateTime.MinValue.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
365 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
366 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
367 urlInvitacion, TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
368
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
369 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
370
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
371 agenda.Confirmar(evento.Id);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
372
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
373 Assert.IsInstanceOf(typeof(EventoConfirmadoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
374 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Confirmar) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
375 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
376
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
377 [Test]
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
378 public void Al_publicar_un_evento_debe_quedar_con_estado_EventoPublicadoState_y_debe_generar_el_track_correspondiente()
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
379 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
380 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
381 var duracion = new TimeSpan(1, 34, 00);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
382 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
383
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
384 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
385 var fechaInicio = DateTime.MinValue.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
386 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
387 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
388 TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
389
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
390 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
391
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
392 agenda.Confirmar(evento.Id);
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
393 agenda.Publicar(evento.Id, 1, urlWiki, duracion);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
394
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
395 Assert.IsInstanceOf(typeof(EventoPublicadoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
396 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Publicar) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
397 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
398
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
399 [Test]
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
400 public void Al_publicar_un_evento_debe_asignarse_el_nro_de_reunion_la_url_de_la_wiki_y_la_duracion()
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
401 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
402 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
403 var duracion = new TimeSpan(1, 34, 00);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
404 var publicador1 = new Mock<IPublicador>();
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
405
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
406 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
407 var fechaInicio = DateTime.MinValue.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
408 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
409 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
410 TipoEvento.Van);
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
411
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
412 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
413 agenda.Confirmar(evento.Id);
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
414
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
415 agenda.Publicar(evento.Id, 71, urlWiki, duracion);
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
416
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
417 Assert.AreEqual(71, evento.NumeroOrden);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
418 Assert.AreEqual(urlWiki, evento.UrlWiki);
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
419 Assert.AreEqual(duracion, evento.Duracion);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
420 }
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
421
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
422 [Test]
192
03cf6a377ee8 Se cambiaron algunos tests para que el Coverage dieran el 100%.
juanjose.montesdeocaarbos
parents: 185
diff changeset
423 //[ExpectedException(typeof(AccionNoSoportadaException))]
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
424 public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion()
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
425 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
426 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
427
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
428 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
145
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 140
diff changeset
429 agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
430
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
431 var evento =
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
432 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5");
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
433
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
434 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoAgendadoState));
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
435
192
03cf6a377ee8 Se cambiaron algunos tests para que el Coverage dieran el 100%.
juanjose.montesdeocaarbos
parents: 185
diff changeset
436 Assert.Throws<AccionNoSoportadaException>(()=>agenda.Confirmar(evento.Id));
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
437 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
438
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
439 [Test]
192
03cf6a377ee8 Se cambiaron algunos tests para que el Coverage dieran el 100%.
juanjose.montesdeocaarbos
parents: 185
diff changeset
440 //[ExpectedException(typeof(AccionNoSoportadaException))]
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
441 public void Al_publicar_sin_confirmar_debe_lanzarse_excepcion()
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
442 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
443 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
444 var duracion = new TimeSpan(1, 34, 00);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
445 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
446
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
447 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
145
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 140
diff changeset
448 agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
449
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
450 var evento =
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
451 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5");
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
452
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
453 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoConfirmadoState));
192
03cf6a377ee8 Se cambiaron algunos tests para que el Coverage dieran el 100%.
juanjose.montesdeocaarbos
parents: 185
diff changeset
454 Assert.Throws<AccionNoSoportadaException>(() => agenda.Publicar(evento.Id, 1, urlWiki, duracion));
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
455 }
161
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
456
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
457 [Test]
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
458 public void Publicar_Evento_Con_NroOrden_Invalido_Genera_Excepcion()
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
459 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
460 var duracion = new TimeSpan(1, 34, 00);
161
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
461 var publicador1 = new Mock<IPublicador>();
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
462
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
463 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
464 var fechaInicio = DateTime.MinValue.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
465 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
466 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
467 urlInvitacion, TipoEvento.Van);
161
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
468
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
469 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
470 agenda.Confirmar(evento.Id);
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
471
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
472 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
473
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
474 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 0, urlWiki, duracion));
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
475 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, -1, urlWiki, duracion));
161
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
476 }
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
477
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
478 [Test]
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
479 public void Publicar_Evento_Con_Url_Invalida_Genera_Excepcion()
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
480 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
481 var duracion = new TimeSpan(1, 34, 00);
161
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
482 var publicador1 = new Mock<IPublicador>();
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
483
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
484 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
485 var fechaInicio = DateTime.MinValue.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
486 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
487 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
488 urlInvitacion, TipoEvento.Van);
161
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
489
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
490 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
491 agenda.Confirmar(evento.Id);
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
492
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
493 Assert.Throws<ArgumentException>(() => agenda.Publicar(evento.Id, 1, "", duracion));
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
494 Assert.Throws<ArgumentException>(() => agenda.Publicar(evento.Id, 1, " ", duracion));
161
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
495 }
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
496
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
497 [Test]
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
498 public void Publicar_Evento_Con_Duracion_Invalida_Genera_Excepcion()
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
499 {
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
500 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
501 var publicador1 = new Mock<IPublicador>();
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
502
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
503 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
504 var fechaInicio = DateTime.MinValue.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
505 var fechaTermino = fechaInicio.AddHours(2);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
506 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion,
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
507 TipoEvento.Van);
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
508
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
509 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
510 agenda.Confirmar(evento.Id);
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
511
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
512 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 1, urlWiki, new TimeSpan(0, 0, 0)));
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
513 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 1, urlWiki, new TimeSpan(0, 0, 59)));
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
514 }
195
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
515
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
516 [Test]
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
517 public void Verificar_que_no_se_puedan_agendar_dos_eventos_para_el_mismo_intervalo()
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
518 {
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
519 var publicador1 = new Mock<IPublicador>();
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
520 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
195
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
521 var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
522 var fechaTermino = fechaInicio.AddHours(2);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
523
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
524 var r = agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio,
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
525 fechaTermino, string.Empty, TipoEvento.Van);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
526 Assert.IsTrue(r.Succeful);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
527
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
528 fechaInicio = new DateTime(2011, 7, 1, 05, 00, 00);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
529 fechaTermino = fechaInicio.AddHours(2);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
530 r = agenda.Agendar("Una primer van que NO se superpone",
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
531 TestsHelper.GetOrCreatePonente("jjmontes"),
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
532 fechaInicio,
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
533 fechaTermino, string.Empty, TipoEvento.Van);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
534 Assert.IsTrue(r.Succeful);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
535
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
536 r = agenda.Agendar("Otra van que se superpone",
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
537 TestsHelper.GetOrCreatePonente("jjmontes"),
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
538 fechaInicio,
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
539 fechaTermino, string.Empty, TipoEvento.Van);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
540 Assert.IsFalse(r.Succeful);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
541
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
542 fechaInicio = new DateTime(2011, 7, 1, 17, 00, 00);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
543 fechaTermino = fechaInicio.AddHours(2);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
544 r = agenda.Agendar("Otra van que se superpone",
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
545 TestsHelper.GetOrCreatePonente("jjmontes"),
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
546 fechaInicio,
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
547 fechaTermino, string.Empty, TipoEvento.Van);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
548 Assert.IsFalse(r.Succeful);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
549
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
550 fechaInicio = new DateTime(2011, 7, 1, 19, 00, 00);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
551 fechaTermino = fechaInicio.AddHours(2);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
552 r = agenda.Agendar("Otra van que se superpone",
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
553 TestsHelper.GetOrCreatePonente("jjmontes"),
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
554 fechaInicio,
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
555 fechaTermino, string.Empty, TipoEvento.Van);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
556 Assert.IsFalse(r.Succeful);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
557
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
558 fechaInicio = new DateTime(2011, 7, 1, 21, 00, 00);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
559 fechaTermino = fechaInicio.AddHours(2);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
560 r = agenda.Agendar("Una segunda van que NO se superpone",
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
561 TestsHelper.GetOrCreatePonente("jjmontes"),
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
562 fechaInicio,
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
563 fechaTermino, string.Empty, TipoEvento.Van);
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
564 Assert.IsTrue(r.Succeful);
196
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
565 }
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
566
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
567 [Test]
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
568 public void Verificar_que_no_se_modifique_una_propuesta_de_VAN_al_intentar_agendarla_con_fechas_usadas()
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
569 {
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
570 var publicador1 = new Mock<IPublicador>();
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
571 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
196
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
572 var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
573 var fechaTermino = fechaInicio.AddHours(2);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
574
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
575 agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio,
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
576 fechaTermino, string.Empty, TipoEvento.Van);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
577
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
578 agenda.Proponer("Otra van que se superpone", TestsHelper.GetOrCreatePonente("jjmontes"), string.Empty, TipoEvento.Van);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
579 var eventoPropuesto = DefaultEventoRepository.GetPropuestaByTitulo("Otra van que se superpone");
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
580 Assert.IsNotNull(eventoPropuesto);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
581 Assert.IsNull(eventoPropuesto.FechaInicio);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
582 Assert.IsNull(eventoPropuesto.FechaTermino);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
583 var r = agenda.Agendar("Otra van que se superpone",
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
584 TestsHelper.GetOrCreatePonente("jjmontes"),
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
585 fechaInicio,
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
586 fechaTermino, string.Empty, TipoEvento.Van);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
587 Assert.IsFalse(r.Succeful);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
588
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
589 Assert.IsNotNull(eventoPropuesto);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
590 Assert.IsNull(eventoPropuesto.FechaInicio);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
591 Assert.IsNull(eventoPropuesto.FechaTermino);
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
592 }
214
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
593
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
594 [Test]
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
595 public void Verificar_que_no_sea_posible_crear_dos_van_diferentes_con_igual_titulo()
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
596 {
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
597 var publicador1 = new Mock<IPublicador>();
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
598 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
599 var fechaInicio = new DateTime(2011, 8, 20, 18, 00, 00);
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
600 var fechaTermino = fechaInicio.AddHours(2);
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
601
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
602 var r = agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio,
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
603 fechaTermino, string.Empty, TipoEvento.Van);
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
604 Assert.IsTrue(r.Succeful);
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
605
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
606 fechaInicio = new DateTime(2011, 8, 27, 05, 00, 00);
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
607 fechaTermino = fechaInicio.AddHours(2);
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
608 r = agenda.Agendar("Conceptos de HTTP y Fiddler web debugger",
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
609 TestsHelper.GetOrCreatePonente("alabra"),
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
610 fechaInicio,
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
611 fechaTermino, string.Empty, TipoEvento.Van);
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
612
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
613 Assert.IsFalse(r.Succeful);
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 200
diff changeset
614 }
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
615 }
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
616 }