annotate Agendas/trunk/src/Agendas.Tests/AgendarTests.cs @ 200:5346c0500594 deploy pre 1.0

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