Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Tests/PonentesTests.cs @ 145:e6e6bfb1da9e
En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
author | Nelo@Guinea.neluz.int |
---|---|
date | Mon, 01 Aug 2011 11:42:24 -0300 |
parents | 62791999ad01 |
children | 2d02adb79322 |
comparison
equal
deleted
inserted
replaced
144:a2b14da4902f | 145:e6e6bfb1da9e |
---|---|
5 using Moq; | 5 using Moq; |
6 using NUnit.Framework; | 6 using NUnit.Framework; |
7 | 7 |
8 namespace AltNetHispano.Agendas.Tests | 8 namespace AltNetHispano.Agendas.Tests |
9 { | 9 { |
10 [TestFixture] | 10 [TestFixture] |
11 public class PonentesTests : TestBase | 11 public class PonentesTests : TestBase |
12 { | 12 { |
13 private const string urlInvitacion = "http://groups.google.com/group/altnet-hispano/browse_thread/thread/65d6d26eb381386e"; | 13 private const string urlInvitacion = "http://groups.google.com/group/altnet-hispano/browse_thread/thread/65d6d26eb381386e"; |
14 | 14 |
15 [Test] | 15 [Test] |
16 public void Publicar_dos_eventos_con_el_mismo_ponente_no_registrado() | 16 public void Publicar_dos_eventos_con_el_mismo_ponente_no_registrado() |
17 { | 17 { |
18 var publicador = new Mock<IPublicador>(); | 18 var publicador = new Mock<IPublicador>(); |
19 Assert.AreEqual(1, DefaultPersonaRepository.GetAll().Count); | 19 Assert.AreEqual(1, DefaultPersonaRepository.GetAll().Count); |
20 | 20 |
21 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 21 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
22 | 22 |
23 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26), | 23 agenda.Agendar("Audit (parallel model) con NHibernate 3", TestsHelper.GetOrCreatePonente("Fabio Maulo"), new DateTime(2011, 2, 26), |
24 urlInvitacion, TipoEvento.Van); | 24 urlInvitacion, TipoEvento.Van); |
25 agenda.Agendar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5), | 25 agenda.Agendar("Conform - Parte 2", TestsHelper.GetOrCreatePonente("Fabio Maulo"), new DateTime(2011, 3, 5), |
26 urlInvitacion, TipoEvento.Van); | 26 urlInvitacion, TipoEvento.Van); |
27 | 27 |
28 var eventos = agenda.GetEventosActivos(); | 28 var eventos = agenda.GetEventosActivos(); |
29 Assert.AreEqual(2, eventos.Count); | 29 Assert.AreEqual(2, eventos.Count); |
30 | 30 |
31 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2)); | 31 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2)); |
32 | 32 |
33 Assert.AreEqual(2, DefaultPersonaRepository.GetAll().Count); | 33 Assert.AreEqual(2, DefaultPersonaRepository.GetAll().Count); |
34 | 34 |
35 var evento = eventos[0]; | 35 var evento = eventos[0]; |
36 | 36 |
37 Assert.IsNotNull(evento.Ponente); | 37 Assert.IsNotNull(evento.Ponente); |
38 } | 38 } |
39 | 39 |
40 [Test] | 40 [Test] |
41 public void Publicar_evento_con_ponente_registrado() | 41 public void Publicar_evento_con_ponente_registrado() |
42 { | 42 { |
43 var publicador = new Mock<IPublicador>(); | 43 var publicador = new Mock<IPublicador>(); |
44 Evento evento = null; | 44 Evento evento = null; |
45 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Callback<IEnumerable<Track>>( | 45 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Callback<IEnumerable<Track>>( |
46 t => evento = t.First().Evento); | 46 t => evento = t.First().Evento); |
47 | 47 |
48 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 48 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
49 | 49 |
50 agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com"); | 50 agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com"); |
51 | 51 |
52 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26), urlInvitacion, TipoEvento.Van); | 52 agenda.Agendar("Audit (parallel model) con NHibernate 3", TestsHelper.GetOrCreatePonente("Fabio Maulo"), new DateTime(2011, 2, 26), urlInvitacion, TipoEvento.Van); |
53 | 53 |
54 Assert.AreEqual(1, agenda.GetEventosActivos().Count); | 54 Assert.AreEqual(1, agenda.GetEventosActivos().Count); |
55 | 55 |
56 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); | 56 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); |
57 | 57 |
58 Assert.IsNotNull(evento); | 58 Assert.IsNotNull(evento); |
59 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); | 59 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); |
60 Assert.AreEqual("fabiomaulo@gmail.com", evento.Ponente.Mail); | 60 Assert.AreEqual("fabiomaulo@gmail.com", evento.Ponente.Mail); |
61 Assert.AreEqual("@fabiomaulo", evento.Ponente.Twitter); | 61 Assert.AreEqual("@fabiomaulo", evento.Ponente.Twitter); |
62 Assert.AreEqual("http://fabiomaulo.blogspot.com", evento.Ponente.Blog); | 62 Assert.AreEqual("http://fabiomaulo.blogspot.com", evento.Ponente.Blog); |
63 } | 63 } |
64 | 64 |
65 [Test] | 65 [Test] |
66 public void Publicar_evento_sin_ponente_registrado() | 66 public void Publicar_evento_sin_ponente_registrado() |
67 { | 67 { |
68 var publicador = new Mock<IPublicador>(); | 68 var publicador = new Mock<IPublicador>(); |
69 Evento evento = null; | 69 Evento evento = null; |
70 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Callback<IEnumerable<Track>>( | 70 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Callback<IEnumerable<Track>>( |
71 t => evento = t.First().Evento); | 71 t => evento = t.First().Evento); |
72 | 72 |
73 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 73 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
74 | 74 |
75 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26), | 75 agenda.Agendar("Audit (parallel model) con NHibernate 3", TestsHelper.GetOrCreatePonente("Fabio Maulo"), new DateTime(2011, 2, 26), |
76 urlInvitacion, TipoEvento.Van); | 76 urlInvitacion, TipoEvento.Van); |
77 | 77 |
78 Assert.AreEqual(1, agenda.GetEventosActivos().Count); | 78 Assert.AreEqual(1, agenda.GetEventosActivos().Count); |
79 | 79 |
80 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); | 80 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); |
81 | 81 |
82 Assert.IsNotNull(evento); | 82 Assert.IsNotNull(evento); |
83 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); | 83 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); |
84 Assert.IsNullOrEmpty(evento.Ponente.Twitter); | 84 Assert.AreEqual("fabiomaulo", evento.Ponente.Twitter); |
85 } | 85 } |
86 | 86 |
87 [Test] | 87 [Test] |
88 public void Quitar_ponente_de_un_evento() | 88 public void Quitar_ponente_de_un_evento() |
89 { | 89 { |
90 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 90 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
91 | 91 |
92 const string titulo = "Audit (parallel model) con NHibernate 3"; | 92 const string titulo = "Audit (parallel model) con NHibernate 3"; |
93 Guid eventoId; | 93 Guid eventoId; |
94 | 94 |
95 agenda.Proponer(titulo, "Fabio", urlInvitacion, TipoEvento.Van); | 95 agenda.Proponer(titulo, TestsHelper.GetOrCreatePonente("Fabio"), urlInvitacion, TipoEvento.Van); |
96 Persona persona; | 96 Persona persona; |
97 { | 97 { |
98 var eventos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()); | 98 var eventos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()); |
99 Assert.AreEqual(1, eventos.Count); | 99 Assert.AreEqual(1, eventos.Count); |
100 | 100 |
101 Evento evento = eventos[0]; | 101 Evento evento = eventos[0]; |
102 Assert.AreEqual("Fabio", evento.Ponente.Nombre); | 102 Assert.AreEqual("Fabio", evento.Ponente.Nombre); |
103 | 103 |
104 eventoId = evento.Id; | 104 eventoId = evento.Id; |
105 persona = evento.Ponente; | 105 persona = evento.Ponente; |
106 } | 106 } |
107 | 107 |
108 agenda.ModificarPropuesta(eventoId, titulo, null, urlInvitacion); | 108 agenda.ModificarPropuesta(eventoId, titulo, Guid.Empty, urlInvitacion); |
109 { | 109 { |
110 var eventos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()); | 110 var eventos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()); |
111 Assert.AreEqual(1, eventos.Count); | 111 Assert.AreEqual(1, eventos.Count); |
112 | 112 |
113 Evento evento = eventos[0]; | 113 Evento evento = eventos[0]; |
114 Assert.IsNull(evento.Ponente); | 114 Assert.IsNull(evento.Ponente); |
115 } | 115 } |
116 } | 116 } |
117 | 117 |
118 [Test] | 118 [Test] |
119 public void Cambiar_ponente_de_un_evento() | 119 public void Cambiar_ponente_de_un_evento() |
120 { | 120 { |
121 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 121 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
122 | 122 |
123 const string titulo = "Audit (parallel model) con NHibernate 3"; | 123 const string titulo = "Audit (parallel model) con NHibernate 3"; |
124 Guid eventoId; | 124 Guid eventoId; |
125 | 125 |
126 agenda.Proponer(titulo, "Fabio", urlInvitacion, TipoEvento.Van); | 126 agenda.Proponer(titulo, TestsHelper.GetOrCreatePonente("Fabio"), urlInvitacion, TipoEvento.Van); |
127 { | 127 { |
128 var eventos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()); | 128 var eventos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()); |
129 Assert.AreEqual(1, eventos.Count); | 129 Assert.AreEqual(1, eventos.Count); |
130 | 130 |
131 Evento evento = eventos[0]; | 131 Evento evento = eventos[0]; |
132 Assert.AreEqual("Fabio", evento.Ponente.Nombre); | 132 Assert.AreEqual("Fabio", evento.Ponente.Nombre); |
133 | 133 |
134 eventoId = evento.Id; | 134 eventoId = evento.Id; |
135 } | 135 } |
136 | 136 |
137 agenda.ModificarPropuesta(eventoId, titulo, "José", urlInvitacion); | 137 agenda.ModificarPropuesta(eventoId, titulo, TestsHelper.GetOrCreatePonente("José"), urlInvitacion); |
138 { | 138 { |
139 var eventos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()); | 139 var eventos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()); |
140 Assert.AreEqual(1, eventos.Count); | 140 Assert.AreEqual(1, eventos.Count); |
141 | 141 |
142 Evento evento = eventos[0]; | 142 Evento evento = eventos[0]; |
143 Assert.IsNotNull(evento.Ponente); | 143 Assert.IsNotNull(evento.Ponente); |
144 } | 144 } |
145 } | 145 } |
146 } | 146 } |
147 } | 147 } |