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

Ticket 162: Publicaciones con Nro Orden repetido.
author juanjose.montesdeocaarbos
date Thu, 06 Oct 2011 09:09:37 -0300
parents c61954d24c8c
children 72a96459f910
rev   line source
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
1 using System;
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
2 using System.Collections.Generic;
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
3 using System.Linq;
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
4 using AltNetHispano.Agendas.Domain;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
5 using Moq;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
6 using NUnit.Framework;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
7
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
8 namespace AltNetHispano.Agendas.Tests
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
9 {
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: 138
diff changeset
10 [TestFixture]
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
11 public class PonentesTests : TestBase
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
12 {
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
13 private const string urlInvitacion = "http://groups.google.com/group/altnet-hispano/browse_thread/thread/65d6d26eb381386e";
70
c7264bfc4b71 agregado de properties en clase Evento (UrlInvitacion, UrlWiki, NumeroOrden)
jorge.rowies
parents: 61
diff changeset
14
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: 138
diff changeset
15 [Test]
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
16 public void Publicar_dos_eventos_con_el_mismo_ponente_no_registrado()
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
17 {
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
18 var publicador = new Mock<IPublicador>();
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
19 Assert.AreEqual(1, DefaultPersonaRepository.GetAll().Count);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
20
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 185
diff changeset
21 var agenda = new Agenda(publicador.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: 145
diff changeset
22 var fechaInicioNHibernate = new DateTime(2011, 2, 26, 18, 0, 0, DateTimeKind.Utc);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
23 var fechaTerminoNHibernate = fechaInicioNHibernate.AddHours(2);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
24
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
25 agenda.Agendar("Audit (parallel model) con NHibernate 3", new[]{TestsHelper.GetOrCreatePonente("Fabio Maulo")},
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
26 fechaInicioNHibernate, fechaTerminoNHibernate, urlInvitacion, TipoEvento.Van);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
27
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
28 var fechaInicioConform = new DateTime(2011, 3, 5, 18, 0, 0, DateTimeKind.Utc);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
29 var fechaTerminoConform = fechaInicioNHibernate.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
30 agenda.Agendar("Conform - Parte 2", new[]{TestsHelper.GetOrCreatePonente("Fabio Maulo")}, fechaInicioConform,
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
31 fechaTerminoConform, urlInvitacion, TipoEvento.Van);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
32
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: 138
diff changeset
33 var eventos = agenda.GetEventosActivos();
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
34 Assert.AreEqual(2, eventos.Count);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
35
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: 138
diff changeset
36 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2));
54
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
37
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: 138
diff changeset
38 Assert.AreEqual(2, DefaultPersonaRepository.GetAll().Count);
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
39
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: 138
diff changeset
40 var evento = eventos[0];
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
41
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
42 Assert.IsNotNull(evento.Ponentes);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
43 Assert.AreEqual(1, evento.Ponentes.Count());
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: 138
diff changeset
44 }
54
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
45
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: 138
diff changeset
46 [Test]
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
47 public void Publicar_evento_con_ponente_registrado()
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
48 {
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
49 var publicador = new Mock<IPublicador>();
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
50 Evento evento = null;
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
51 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Callback<IEnumerable<Track>>(
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
52 t => evento = t.First().Evento);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
53
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 185
diff changeset
54 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
55
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: 138
diff changeset
56 agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com");
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
57 var fechaInicio = new DateTime(2011, 2, 26, 18, 0, 0, DateTimeKind.Utc);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
58 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
59 agenda.Agendar("Audit (parallel model) con NHibernate 3", new[]{TestsHelper.GetOrCreatePonente("Fabio Maulo")},
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
60 fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Van);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
61
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: 138
diff changeset
62 Assert.AreEqual(1, agenda.GetEventosActivos().Count);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
63
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: 138
diff changeset
64 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
65
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: 138
diff changeset
66 Assert.IsNotNull(evento);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
67 var ponente = evento.Ponentes.First();
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
68 Assert.AreEqual("Fabio Maulo", ponente.Nombre);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
69 Assert.AreEqual("fabiomaulo@gmail.com", ponente.Mail);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
70 Assert.AreEqual("@fabiomaulo", ponente.Twitter);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
71 Assert.AreEqual("http://fabiomaulo.blogspot.com", ponente.Blog);
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: 138
diff changeset
72 }
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
73
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: 138
diff changeset
74 [Test]
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
75 public void Publicar_evento_sin_ponente_registrado()
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
76 {
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
77 var publicador = new Mock<IPublicador>();
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
78 Evento evento = null;
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
79 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Callback<IEnumerable<Track>>(
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
80 t => evento = t.First().Evento);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
81
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 185
diff changeset
82 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
83
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
84 var fechaInicio = new DateTime(2011, 2, 26, 18, 0, 0, DateTimeKind.Utc);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
85 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
86 agenda.Agendar("Audit (parallel model) con NHibernate 3", new[]{TestsHelper.GetOrCreatePonente("Fabio Maulo")},
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
87 fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Van);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
88
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: 138
diff changeset
89 Assert.AreEqual(1, agenda.GetEventosActivos().Count);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
90
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: 138
diff changeset
91 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
92
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: 138
diff changeset
93 Assert.IsNotNull(evento);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
94 var ponente = evento.Ponentes.First();
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
95 Assert.AreEqual("Fabio Maulo", ponente.Nombre);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
96 Assert.AreEqual("fabiomaulo", ponente.Twitter);
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: 138
diff changeset
97 }
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
98
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: 138
diff changeset
99 [Test]
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
100 public void Quitar_ponente_de_una_van()
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: 138
diff changeset
101 {
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 185
diff changeset
102 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
103
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: 138
diff changeset
104 const string titulo = "Audit (parallel model) con NHibernate 3";
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
105 Guid eventoId;
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
106
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
107 DateTime fechaInicio=DateTime.Now;
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
108
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
109 var r = agenda.Agendar(titulo, new[]{TestsHelper.GetOrCreatePonente("Fabio")}, fechaInicio, fechaInicio.AddHours(2), urlInvitacion, TipoEvento.Van);
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
110 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
111 Assert.IsTrue(r.Succeful);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
112
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
113 var eventos = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
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: 138
diff changeset
114 Assert.AreEqual(1, eventos.Count);
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
115
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: 138
diff changeset
116 Evento evento = eventos[0];
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
117 var ponente = evento.Ponentes.First();
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
118 Assert.AreEqual("Fabio", ponente.Nombre);
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
119
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: 138
diff changeset
120 eventoId = evento.Id;
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
121 }
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
122
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
123 r = agenda.ModificarEvento(eventoId, titulo, new[]{Guid.Empty}, fechaInicio, fechaInicio.AddHours(2), urlInvitacion);
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
124 Assert.IsFalse(r.Succeful);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
125
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
126 }
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
127
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
128 [Test]
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
129 public void Quitar_ponente_de_un_cafe()
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
130 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
131 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
132
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
133 const string titulo = "Audit (parallel model) con NHibernate 3";
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
134 Guid eventoId;
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
135
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
136 DateTime fechaInicio = DateTime.Now;
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
137
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
138 var r = agenda.Agendar(titulo, new[]{TestsHelper.GetOrCreatePonente("Fabio")}, fechaInicio, fechaInicio.AddHours(2), urlInvitacion, TipoEvento.Cafe);
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
139 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
140 Assert.IsTrue(r.Succeful);
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
141
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
142 var eventos = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
143 Assert.AreEqual(1, eventos.Count);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
144
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
145 Evento evento = eventos[0];
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
146 var ponente = evento.Ponentes.First();
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
147 Assert.AreEqual("Fabio", ponente.Nombre);
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
148
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
149 eventoId = evento.Id;
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
150 }
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
151
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
152 r = agenda.ModificarEvento(eventoId, titulo, new[]{Guid.Empty}, fechaInicio, fechaInicio.AddHours(2), urlInvitacion);
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
153 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
154 Console.WriteLine(r.Message);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
155 Assert.IsTrue(r.Succeful);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
156
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
157 var eventos = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
158 Assert.AreEqual(1, eventos.Count);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
159
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
160 Evento evento = eventos[0];
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
161 Assert.AreEqual(0, evento.Ponentes.Count());
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
162 }
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 200
diff changeset
163 }
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
164
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: 138
diff changeset
165 [Test]
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
166 public void Cambiar_ponente_de_un_evento()
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
167 {
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 185
diff changeset
168 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
169
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: 138
diff changeset
170 const string titulo = "Audit (parallel model) con NHibernate 3";
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
171 Guid eventoId;
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
172
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
173 agenda.Proponer(titulo, new[]{TestsHelper.GetOrCreatePonente("Fabio")}, urlInvitacion, TipoEvento.Van);
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: 138
diff changeset
174 {
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
175 var eventos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
176 Assert.AreEqual(1, eventos.Count);
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
177
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: 138
diff changeset
178 Evento evento = eventos[0];
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
179 Assert.IsTrue(evento.Ponentes.Any(p => p.Nombre == "Fabio"));
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
180
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: 138
diff changeset
181 eventoId = evento.Id;
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
182 }
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
183
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
184 agenda.ModificarPropuesta(eventoId, titulo, new[]{TestsHelper.GetOrCreatePonente("José")}, urlInvitacion);
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: 138
diff changeset
185 {
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
186 var eventos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
187 Assert.AreEqual(1, eventos.Count);
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
188
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: 138
diff changeset
189 Evento evento = eventos[0];
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
190 Assert.IsTrue(evento.Ponentes.Any(p => p.Nombre == "José"));
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 231
diff changeset
191 }
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: 138
diff changeset
192 }
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
193 }
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
194 }