annotate Agendas/trunk/src/Agendas.Tests/AgendarTests.cs @ 244:31fb96912d37

Ticket 162: Publicaciones con Nro Orden repetido.
author juanjose.montesdeocaarbos
date Thu, 06 Oct 2011 09:09:37 -0300
parents 59f8fa2f835e
children 72a96459f910
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 () =>
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
38 agenda.Agendar("Van para publicar", new[]{ TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
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
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 () =>
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
60 agenda.Agendar("Van para publicar", new[]{ TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
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
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 () =>
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
79 agenda.Agendar("Van para publicar", new[]{ TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
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
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]
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
87 public void Intentar_agendar_van_sin_ponentes_null()
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);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
93 var r = agenda.Agendar("Van para publicar", null, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Van);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
94
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
95 Assert.IsFalse(r.Succeful);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
96 }
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
97
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
98 [Test]
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
99 public void Intentar_agendar_van_sin_ponentes_empty()
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
100 {
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
101 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
102
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
103 var fechaInicio = DateTime.Now.ToUniversalTime();
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
104 var fechaTermino = fechaInicio.AddHours(2);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
105 var r = agenda.Agendar("Van para publicar", new[] {Guid.Empty}, fechaInicio, fechaTermino, urlInvitacion,
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
106 TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
107
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
108 Assert.IsFalse(r.Succeful);
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
109 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
110
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
111 [Test]
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
112 public void Agendar_cafe_sin_ponente()
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
113 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
114 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
115
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
116 var fechaInicio = DateTime.Now.ToUniversalTime();
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
117 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
118 var r = agenda.Agendar("Cafe para publicar", new[] { Guid.Empty }, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Cafe);
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
119
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
120 Console.WriteLine(r.Message);
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
121 Assert.IsTrue(r.Succeful);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
122 }
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
123
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
124 [Test]
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
125 public void Agendar_grupo_de_estudio_sin_ponente()
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
126 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
127 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
128
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
129 var fechaInicio = DateTime.Now.ToUniversalTime();
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
130 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
131 var r = agenda.Agendar("GrupoEstudio para publicar", new[] { Guid.Empty }, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.GrupoEstudio);
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
132
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
133 Assert.IsTrue(r.Succeful);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
134 }
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
135
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
136 [Test]
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
137 public void Agendar_evento_con_multiples_publicadores()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
138 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
139 var publicador1 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
140 var publicador2 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
141
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
142 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
143 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
144 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
145 repository.Object, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
146
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
147 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
148 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
149 agenda.Agendar("Van para publicar", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
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 urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
151
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
152 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
153 publicador2.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
154 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(1));
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
155 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
156
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
157 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
158 public void Agendar_evento_correctamente()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
159 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
160 var publicador = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
161
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
162 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
163
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
164 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
165 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
166 agenda.Agendar("Van para publicar",new[]{ TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
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
167 urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
168
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
169 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
170
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
171 var eventos = agenda.GetEventosActivos();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
172 Assert.AreEqual(1, eventos.Count);
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
173
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
174 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
175
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
176 var evento = eventos[0];
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
177
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
178 }
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
179
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
180 [Test]
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
181 public void Agendar_evento_con_multiples_ponentes()
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
182 {
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
183 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
184
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
185 var fechaInicio = DateTime.Now.ToUniversalTime();
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
186 var fechaTermino = fechaInicio.AddHours(2);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
187
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
188 agenda.Agendar("Identity Providers, oAuth y Autenticaciones on-line",
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
189 new[] {TestsHelper.GetOrCreatePonente("Carlos Peix"), TestsHelper.GetOrCreatePonente("Nelo Pauselli")},
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
190 fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Van);
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
191
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
192 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
193
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
194 var eventos = agenda.GetEventosActivos();
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
195 Assert.AreEqual(1, eventos.Count);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
196
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
197 var evento = eventos[0];
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
198
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
199 var carlos = evento.Ponentes.Single(p => p.Twitter == "carlospeix");
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
200 Assert.AreEqual("Carlos Peix", carlos.Nombre);
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
201
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
202 var nelo = evento.Ponentes.Single(p => p.Twitter == "nelopauselli");
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
203 Assert.AreEqual("Nelo Pauselli", nelo.Nombre);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
204 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
205
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
206 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
207 public void Agendar_y_modificar_evento()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
208 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
209 var repository = DefaultEventoRepository;
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
210 var publicador = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
211
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
212 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
213 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
214 var fechaTerminoVanPublicar = fechaInicioVanPublicar.AddHours(2);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
215
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
216 agenda.Agendar("Van para publicar", new[] {TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicioVanPublicar, fechaTerminoVanPublicar, urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
217
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
218 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
219
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
220 var evento = repository.GetActivos().First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
221 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
222 Assert.IsNotNull(evento.FechaInicio);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
223
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
224 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
225 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
226 agenda.ModificarEvento(evento.Id, "otro titulo", new[]{TestsHelper.GetOrCreatePonente("otro ponente")}, fechaInicio,
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
227 fechaTermino, urlInvitacion);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
228
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
229 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
230
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
231 evento = repository.GetActivos().First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
232 Assert.AreEqual("otro titulo", evento.Titulo);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
233 Assert.IsTrue(evento.Ponentes.Any(p=>p.Nombre=="otro ponente"));
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
234 Assert.AreEqual(fechaInicio, evento.FechaInicio);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
235
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
236 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
237 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
238 () =>
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
239 agenda.ModificarEvento(idEventoNoExistente, "algún título",new[]{ TestsHelper.GetOrCreatePonente("un ponente")},
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 DateTime.Now, DateTime.Now.AddHours(2), urlInvitacion));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
241 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
242
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
243 [Test, Ignore("Por ahora no existe el concepto de recordar")]
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
244 public void Agendar_y_recordar_evento()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
245 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
246 var publicador1 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
247 var publicador2 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
248
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
249 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
250 DefaultEventoRepository, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
251
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
252 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
253 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
254 agenda.Agendar("Van para publicar", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
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
255 urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
256
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
257 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
258 //agenda.Recordar(van.Id);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
259
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
260 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
261 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
262 //recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
263 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
264
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
265 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
266 public void Agendar_evento_propuesto()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
267 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
268 var publicador1 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
269 var publicador2 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
270
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
271 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
272 DefaultEventoRepository, DefaultPersonaRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
273
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
274 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
275 Assert.AreEqual(1, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
276 Assert.AreEqual(1, agenda.GetEventosActivos().Count);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
277
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
278 var publicado = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
279 Assert.AreEqual(1, publicado.Tracks.Count());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
280
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
281 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
282 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
283 agenda.ModificarEvento(publicado.Id, "Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio,
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
284 fechaTermino, urlInvitacion);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
285 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
286 Assert.AreEqual(1, agenda.GetEventosActivos(EventoAgendadoState.GetInstance()).Count);
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
287 Assert.AreEqual(1, agenda.GetEventosActivos().Count);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
288
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
289 var agendado = agenda.GetEventosActivos().First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
290 Assert.AreSame(publicado, agendado);
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
291 Assert.AreEqual(2, agendado.Tracks.Count());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
292
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
293 Assert.IsNotNull(agendado.Tracks.Where(t => t.Accion == Accion.Proponer).SingleOrDefault());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
294 Assert.IsNotNull(agendado.Tracks.Where(t => t.Accion == Accion.Agendar).SingleOrDefault());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
295 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
296
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
297 [Test]
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
298 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
299 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
300 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
301
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
302 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
303 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
304
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
305 var evento =
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
306 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
307
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
308 Assert.IsInstanceOf(typeof(EventoPropuestoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
309 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Proponer) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
310 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
311
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
312 [Test]
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
313 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
314 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
315 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
316
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
317 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
318 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
319 var fechatermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
320 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechatermino, urlInvitacion,
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
321 TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
322
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
323 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
324
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
325 Assert.IsInstanceOf(typeof(EventoAgendadoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
326 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Agendar) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
327 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
328
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
329 [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
330 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
331 {
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
332 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
333
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
334 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
335 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
336 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
337 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
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
338 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
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 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
341
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
342 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
343
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
344 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
345 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
346 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
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
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 [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
350 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
351 {
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 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
353
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
354 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
355 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
356 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
357 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
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
358 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
359
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
360 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
361
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
362 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
363 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
364
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
365 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
366 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
367 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
368 }
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
369
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
370 [Test]
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
371 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
372 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
373 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
374
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
375 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
376 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
377 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
378 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
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
379 urlInvitacion, TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
380
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
381 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
382
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
383 agenda.Confirmar(evento.Id);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
384
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
385 Assert.IsInstanceOf(typeof(EventoConfirmadoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
386 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Confirmar) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
387 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
388
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
389 [Test]
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
390 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
391 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
392 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
393 var duracion = new TimeSpan(1, 34, 00);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
394 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
395
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
396 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
397 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
398 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
399 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, urlInvitacion,
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
400 TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
401
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
402 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
403
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
404 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
405 agenda.Publicar(evento.Id, 1, urlWiki, duracion);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
406
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
407 Assert.IsInstanceOf(typeof(EventoPublicadoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
408 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Publicar) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
409 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
410
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
411 [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
412 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
413 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
414 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
415 var duracion = new TimeSpan(1, 34, 00);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
416 var publicador1 = new Mock<IPublicador>();
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
417
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
418 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
419 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
420 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
421 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, urlInvitacion,
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
422 TipoEvento.Van);
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
423
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
424 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
425 agenda.Confirmar(evento.Id);
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
426
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
427 agenda.Publicar(evento.Id, 71, urlWiki, duracion);
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
428
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
429 Assert.AreEqual(71, evento.NumeroOrden);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
430 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
431 Assert.AreEqual(duracion, evento.Duracion);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
432 }
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
433
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
434 [Test]
192
03cf6a377ee8 Se cambiaron algunos tests para que el Coverage dieran el 100%.
juanjose.montesdeocaarbos
parents: 185
diff changeset
435 //[ExpectedException(typeof(AccionNoSoportadaException))]
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
436 public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion()
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
437 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
438 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
439
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
440 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
441 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
442
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
443 var evento =
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
444 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
445
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
446 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoAgendadoState));
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
447
192
03cf6a377ee8 Se cambiaron algunos tests para que el Coverage dieran el 100%.
juanjose.montesdeocaarbos
parents: 185
diff changeset
448 Assert.Throws<AccionNoSoportadaException>(()=>agenda.Confirmar(evento.Id));
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
449 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
450
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
451 [Test]
192
03cf6a377ee8 Se cambiaron algunos tests para que el Coverage dieran el 100%.
juanjose.montesdeocaarbos
parents: 185
diff changeset
452 //[ExpectedException(typeof(AccionNoSoportadaException))]
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
453 public void Al_publicar_sin_confirmar_debe_lanzarse_excepcion()
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
454 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
455 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
456 var duracion = new TimeSpan(1, 34, 00);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
457 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
458
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
459 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
460 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
461
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
462 var evento =
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
463 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
464
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
465 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
466 Assert.Throws<AccionNoSoportadaException>(() => agenda.Publicar(evento.Id, 1, urlWiki, duracion));
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
467 }
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 [Test]
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
470 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
471 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
472 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
473 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
474
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
475 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
476 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
477 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
478 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
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
479 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
480
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
481 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
482 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
483
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
484 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
485
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
486 var eventoResultado = agenda.Publicar(evento.Id, 0, urlWiki, duracion);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
487 Assert.IsFalse(eventoResultado.Succeful);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
488 Assert.AreEqual("Número de Orden fuera de rango", eventoResultado.Message);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
489 eventoResultado = agenda.Publicar(evento.Id, -1, urlWiki, duracion);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
490 Assert.IsFalse(eventoResultado.Succeful);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
491 Assert.AreEqual("Número de Orden fuera de rango", eventoResultado.Message);
161
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
492 }
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
493
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
494 [Test]
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
495 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
496 {
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
497 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
498 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
499
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
500 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
501 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
502 var fechaTermino = fechaInicio.AddHours(2);
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
503 agenda.Agendar("Html 5", new[] {TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
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 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
505
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
506 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
507 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
508
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
509 var eventoResultado = agenda.Publicar(evento.Id, 1, "", duracion);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
510 Assert.IsFalse(eventoResultado.Succeful);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
511 Assert.AreEqual("Url Wiki incorrecto", eventoResultado.Message);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
512 eventoResultado = agenda.Publicar(evento.Id, 1, " ", duracion);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
513 Assert.IsFalse(eventoResultado.Succeful);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
514 Assert.AreEqual("Url Wiki incorrecto", eventoResultado.Message);
161
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
515 }
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
516
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
517 [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
518 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
519 {
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
520 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
521 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
522
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
523 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
524 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
525 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
526 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, urlInvitacion,
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
527 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
528
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
529 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
530 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
531
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
532 var eventoResultado = agenda.Publicar(evento.Id, 1, urlWiki, new TimeSpan(0, 0, 0));
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
533 Assert.IsFalse(eventoResultado.Succeful);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
534 Assert.AreEqual("Duración fuera de rango", eventoResultado.Message);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
535 eventoResultado = agenda.Publicar(evento.Id, 1, urlWiki, new TimeSpan(0, 0, 59));
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
536 Assert.IsFalse(eventoResultado.Succeful);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
537 Assert.AreEqual("Duración fuera de rango", eventoResultado.Message);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
538 }
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
539
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 [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
541 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
542 {
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 var publicador1 = new Mock<IPublicador>();
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
544 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
545 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
546 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
547
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
548 var r = agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio,
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
549 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
550 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
551
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 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
553 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
554 r = agenda.Agendar("Una primer van que NO se superpone",
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
555 new[]{TestsHelper.GetOrCreatePonente("jjmontes")},
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
556 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
557 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
558 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
559
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("Otra van que se superpone",
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
561 new[]{TestsHelper.GetOrCreatePonente("jjmontes")},
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
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.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
565
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
566 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
567 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
568 r = agenda.Agendar("Otra van que se superpone",
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
569 new[]{TestsHelper.GetOrCreatePonente("jjmontes")},
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
570 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
571 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
572 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
573
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
574 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
575 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
576 r = agenda.Agendar("Otra van que se superpone",
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
577 new[]{TestsHelper.GetOrCreatePonente("jjmontes")},
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
578 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
579 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
580 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
581
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
582 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
583 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
584 r = agenda.Agendar("Una segunda van que NO se superpone",
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
585 new[]{TestsHelper.GetOrCreatePonente("jjmontes")},
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
586 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
587 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
588 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
589 }
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
590
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
591 [Test]
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
592 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
593 {
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
594 var publicador1 = new Mock<IPublicador>();
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 196
diff changeset
595 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
596 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
597 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
598
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
599 agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio,
196
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
600 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
601
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
602 agenda.Proponer("Otra van que se superpone", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, string.Empty, TipoEvento.Van);
196
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
603 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
604 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
605 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
606 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
607 var r = agenda.Agendar("Otra van que se superpone",
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
608 new[]{TestsHelper.GetOrCreatePonente("jjmontes")},
196
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
609 fechaInicio,
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
610 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
611 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
612
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
613 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
614 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
615 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
616 }
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
617
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
618 [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
619 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
620 {
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
621 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
622 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
623 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
624 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
625
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
626 var r = agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio,
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
627 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
628 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
629
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
630 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
631 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
632 r = agenda.Agendar("Conceptos de HTTP y Fiddler web debugger",
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
633 new[]{TestsHelper.GetOrCreatePonente("alabra")},
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
634 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
635 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
636
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
637 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
638 }
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
639 }
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
640 }