annotate Agendas/trunk/src/Agendas.Tests/AgendarTests.cs @ 274:72a96459f910

Ticket #123: Patrocinadores de las vans.
author juanjose.montesdeocaarbos
date Wed, 30 Nov 2011 08:56:01 -0300
parents 59f8fa2f835e
children bc8dfbde0523
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>());
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
32 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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>());
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
54 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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>());
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
73 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
89 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
101 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
235
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 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
114 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
231
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 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
127 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
231
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 }),
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
145 repository.Object, DefaultPersonaRepository,
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
146 DefaultPatrocinadorRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
147
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
148 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
149 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
150 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
151 urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
152
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
153 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
154 publicador2.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
155 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(1));
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
156 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
157
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
158 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
159 public void Agendar_evento_correctamente()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
160 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
161 var publicador = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
162
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
163 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
164
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
165 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
166 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
167 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
168 urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
169
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
170 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
171
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
172 var eventos = agenda.GetEventosActivos();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
173 Assert.AreEqual(1, eventos.Count);
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
174
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
175 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
176
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
177 var evento = eventos[0];
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
178
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
179 }
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
180
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
181 [Test]
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
182 public void Agendar_evento_con_multiples_ponentes()
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
183 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
184 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
185
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
186 var fechaInicio = DateTime.Now.ToUniversalTime();
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
187 var fechaTermino = fechaInicio.AddHours(2);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
188
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
189 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
190 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
191 fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Van);
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
192
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
193 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
194
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
195 var eventos = agenda.GetEventosActivos();
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
196 Assert.AreEqual(1, eventos.Count);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
197
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
198 var evento = eventos[0];
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
199
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
200 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
201 Assert.AreEqual("Carlos Peix", carlos.Nombre);
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 214
diff changeset
202
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
203 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
204 Assert.AreEqual("Nelo Pauselli", nelo.Nombre);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
205 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
206
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
207 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
208 public void Agendar_y_modificar_evento()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
209 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
210 var repository = DefaultEventoRepository;
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
211 var publicador = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
212
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
213 var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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
214 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
215 var fechaTerminoVanPublicar = fechaInicioVanPublicar.AddHours(2);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
216
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
217 agenda.Agendar("Van para publicar", new[] {TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicioVanPublicar, fechaTerminoVanPublicar, urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
218
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
219 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
220
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
221 var evento = repository.GetActivos().First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
222 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
223 Assert.IsNotNull(evento.FechaInicio);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
224
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
225 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
226 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
227 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
228 fechaTermino, urlInvitacion);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
229
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
230 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
231
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
232 evento = repository.GetActivos().First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
233 Assert.AreEqual("otro titulo", evento.Titulo);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
234 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
235 Assert.AreEqual(fechaInicio, evento.FechaInicio);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
236
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
237 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
238 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
239 () =>
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
240 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
241 DateTime.Now, DateTime.Now.AddHours(2), urlInvitacion));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
242 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
243
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
244 [Test, Ignore("Por ahora no existe el concepto de recordar")]
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
245 public void Agendar_y_recordar_evento()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
246 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
247 var publicador1 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
248 var publicador2 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
249
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
250 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
251 DefaultEventoRepository, DefaultPersonaRepository,
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
252 DefaultPatrocinadorRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
253
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
254 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
255 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
256 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
257 urlInvitacion, TipoEvento.Van);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
258
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
259 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
260 //agenda.Recordar(van.Id);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
261
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
262 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
263 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
264 //recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1));
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
265 }
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
266
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
267 [Test]
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
268 public void Agendar_evento_propuesto()
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
269 {
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
270 var publicador1 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
271 var publicador2 = new Mock<IPublicador>();
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
272
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 76
diff changeset
273 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
274 DefaultEventoRepository, DefaultPersonaRepository,
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
275 DefaultPatrocinadorRepository);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
276
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
277 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
278 Assert.AreEqual(1, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
279 Assert.AreEqual(1, agenda.GetEventosActivos().Count);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
280
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
281 var publicado = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
282 Assert.AreEqual(1, publicado.Tracks.Count());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
283
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 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
285 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
286 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
287 fechaTermino, urlInvitacion);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
288 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
289 Assert.AreEqual(1, agenda.GetEventosActivos(EventoAgendadoState.GetInstance()).Count);
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
290 Assert.AreEqual(1, agenda.GetEventosActivos().Count);
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
291
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
292 var agendado = agenda.GetEventosActivos().First();
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
293 Assert.AreSame(publicado, agendado);
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
294 Assert.AreEqual(2, agendado.Tracks.Count());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
295
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
296 Assert.IsNotNull(agendado.Tracks.Where(t => t.Accion == Accion.Proponer).SingleOrDefault());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
297 Assert.IsNotNull(agendado.Tracks.Where(t => t.Accion == Accion.Agendar).SingleOrDefault());
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
298 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
299
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
300 [Test]
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
301 public void Al_proponer_un_evento_debe_quedar_con_estado_EventoPropuestoState_y_debe_generar_el_track_correspondiente()
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
302 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
303 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
304
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
305 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
306 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
307
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
308 var evento =
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
309 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
310
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
311 Assert.IsInstanceOf(typeof(EventoPropuestoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
312 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Proponer) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
313 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
314
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
315 [Test]
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
316 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
317 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
318 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
319
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
320 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 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
322 var fechatermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
323 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
324 TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
325
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
326 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
327
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
328 Assert.IsInstanceOf(typeof(EventoAgendadoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
329 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Agendar) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
330 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
331
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
332 [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
333 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
334 {
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
335 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
336
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
337 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 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
339 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
340 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
341 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
342
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 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
344
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 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
346
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
347 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
348 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
349 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
350 }
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 [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
353 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
354 {
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
355 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
356
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
357 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 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
359 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
360 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
361 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
362
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 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
364
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
365 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
366 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
367
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
368 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
369 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
370 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
371 }
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
372
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
373 [Test]
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
374 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
375 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
376 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
377
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
378 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 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
380 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
381 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
382 urlInvitacion, TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
383
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
384 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
385
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
386 agenda.Confirmar(evento.Id);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
387
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
388 Assert.IsInstanceOf(typeof(EventoConfirmadoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
389 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Confirmar) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
390 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
391
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
392 [Test]
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
393 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
394 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
395 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
396 var duracion = new TimeSpan(1, 34, 00);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
397 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
398
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
399 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 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
401 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
402 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
403 TipoEvento.Van);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
404
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
405 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
406
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
407 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
408 agenda.Publicar(evento.Id, 1, urlWiki, duracion);
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
409
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 138
diff changeset
410 Assert.IsInstanceOf(typeof(EventoPublicadoState), evento.Estado);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
411 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Publicar) == 1);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
412 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
413
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
414 [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
415 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
416 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
417 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
418 var duracion = new TimeSpan(1, 34, 00);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
419 var publicador1 = new Mock<IPublicador>();
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
420
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
421 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 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
423 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
424 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
425 TipoEvento.Van);
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
426
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
427 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
428 agenda.Confirmar(evento.Id);
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
429
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
430 agenda.Publicar(evento.Id, 71, urlWiki, duracion);
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
431
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
432 Assert.AreEqual(71, evento.NumeroOrden);
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
433 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
434 Assert.AreEqual(duracion, evento.Duracion);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
435 }
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 103
diff changeset
436
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
437 [Test]
192
03cf6a377ee8 Se cambiaron algunos tests para que el Coverage dieran el 100%.
juanjose.montesdeocaarbos
parents: 185
diff changeset
438 //[ExpectedException(typeof(AccionNoSoportadaException))]
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
439 public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion()
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
440 {
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
441 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
442
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
443 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
444 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
445
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
446 var evento =
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
447 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
448
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
449 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoAgendadoState));
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
450
192
03cf6a377ee8 Se cambiaron algunos tests para que el Coverage dieran el 100%.
juanjose.montesdeocaarbos
parents: 185
diff changeset
451 Assert.Throws<AccionNoSoportadaException>(()=>agenda.Confirmar(evento.Id));
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
452 }
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
453
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
454 [Test]
192
03cf6a377ee8 Se cambiaron algunos tests para que el Coverage dieran el 100%.
juanjose.montesdeocaarbos
parents: 185
diff changeset
455 //[ExpectedException(typeof(AccionNoSoportadaException))]
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
456 public void Al_publicar_sin_confirmar_debe_lanzarse_excepcion()
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
457 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
458 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
459 var duracion = new TimeSpan(1, 34, 00);
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
460 var publicador1 = new Mock<IPublicador>();
102
92c5a12015f3 agregado de tests sobre los estados de un Evento
jorge.rowies
parents: 97
diff changeset
461
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
462 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
463 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
464
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
465 var evento =
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
466 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
467
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
468 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
469 Assert.Throws<AccionNoSoportadaException>(() => agenda.Publicar(evento.Id, 1, urlWiki, duracion));
119
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
470 }
161
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
471
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
472 [Test]
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
473 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
474 {
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
475 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
476 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
477
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
478 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 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
480 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
481 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
482 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
483
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
484 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
485 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
486
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
487 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
488
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
489 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
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);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
492 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
493 Assert.IsFalse(eventoResultado.Succeful);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
494 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
495 }
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
496
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
497 [Test]
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
498 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
499 {
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
500 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
501 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
502
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
503 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
504 var fechaInicio = DateTime.MinValue.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
505 var fechaTermino = fechaInicio.AddHours(2);
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
506 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
507 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
508
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
509 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
510 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
511
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
512 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
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);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
515 eventoResultado = agenda.Publicar(evento.Id, 1, " ", duracion);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
516 Assert.IsFalse(eventoResultado.Succeful);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
517 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
518 }
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
519
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
520 [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
521 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
522 {
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
523 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
524 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
525
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
526 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 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
528 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
529 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
530 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
531
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
532 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
533 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
534
243
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
535 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
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 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
539 Assert.IsFalse(eventoResultado.Succeful);
59f8fa2f835e Ticket 177: Valor de Duración de VAN en 0.
juanjose.montesdeocaarbos
parents: 235
diff changeset
540 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
541 }
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
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 [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
544 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
545 {
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 publicador1 = new Mock<IPublicador>();
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
547 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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
548 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
549 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
550
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
551 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
552 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
553 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
554
4d0b2552edb2 Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents: 192
diff changeset
555 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
556 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
557 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
558 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
559 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
560 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
561 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
562
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 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
564 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
565 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
566 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
567 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
568
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
569 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
570 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
571 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
572 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
573 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
574 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
575 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
576
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
577 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
578 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
579 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
580 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
581 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
582 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
583 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
584
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
585 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
586 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
587 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
588 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
589 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
590 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
591 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
592 }
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 [Test]
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
595 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
596 {
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 publicador1 = new Mock<IPublicador>();
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
598 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
196
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
599 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
600 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
601
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
602 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
603 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
604
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
605 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
606 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
607 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
608 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
609 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
610 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
611 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
612 fechaInicio,
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
613 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
614 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
615
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
616 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
617 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
618 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
619 }
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
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 [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
622 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
623 {
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 publicador1 = new Mock<IPublicador>();
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 243
diff changeset
625 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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
626 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
627 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
628
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
629 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
630 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
631 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
632
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
633 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
634 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
635 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
636 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
637 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
638 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
639
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
640 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
641 }
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
642 }
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents:
diff changeset
643 }