Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Tests/PonentesTests.cs @ 87:26d0513a8410
A los publicadores les llega la lista de tracks producidos en la acción realizada
Quitamos el concepto de Recordador ya que el mismo es un publicador, cuándo publicar es responsabilidad de cada publicador
author | nelopauselli |
---|---|
date | Fri, 27 May 2011 14:42:38 -0300 |
parents | 96d7609f2e08 |
children | db4b1e2cae49 |
comparison
equal
deleted
inserted
replaced
86:723aed93a0e6 | 87:26d0513a8410 |
---|---|
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 | 19 |
20 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); | 20 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPonenteRepository); |
21 | 21 |
22 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26), | 22 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26), |
23 urlInvitacion); | 23 urlInvitacion); |
24 agenda.Agendar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5), | 24 agenda.Agendar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5), |
25 urlInvitacion); | 25 urlInvitacion); |
26 | 26 |
27 var eventos = agenda.GetEventosAgendados(); | 27 var eventos = agenda.GetEventosAgendados(); |
28 Assert.AreEqual(2, eventos.Count); | 28 Assert.AreEqual(2, eventos.Count); |
29 | 29 |
30 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(2)); | 30 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2)); |
31 | 31 |
32 Assert.AreEqual(1, DefaultPonenteRepository.GetAll().Count); | 32 Assert.AreEqual(1, DefaultPonenteRepository.GetAll().Count); |
33 | 33 |
34 var evento = eventos[0]; | 34 var evento = eventos[0]; |
35 | 35 |
43 [Test] | 43 [Test] |
44 public void Publicar_evento_con_ponente_registrado() | 44 public void Publicar_evento_con_ponente_registrado() |
45 { | 45 { |
46 var publicador = new Mock<IPublicador>(); | 46 var publicador = new Mock<IPublicador>(); |
47 Evento evento = null; | 47 Evento evento = null; |
48 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e); | 48 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Callback<IEnumerable<Track>>( |
49 t => evento = t.First().Evento); | |
49 | 50 |
50 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); | 51 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPonenteRepository); |
51 | 52 |
52 agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com"); | 53 agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com"); |
53 | 54 |
54 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26), urlInvitacion); | 55 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26), urlInvitacion); |
55 | 56 |
56 Assert.AreEqual(1, agenda.GetEventosAgendados().Count); | 57 Assert.AreEqual(1, agenda.GetEventosAgendados().Count); |
57 | 58 |
58 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | 59 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); |
59 | 60 |
60 Assert.IsNotNull(evento); | 61 Assert.IsNotNull(evento); |
61 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); | 62 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); |
62 Assert.AreEqual("fabiomaulo@gmail.com", evento.Ponente.Mail); | 63 Assert.AreEqual("fabiomaulo@gmail.com", evento.Ponente.Mail); |
63 Assert.AreEqual("@fabiomaulo", evento.Ponente.Twitter); | 64 Assert.AreEqual("@fabiomaulo", evento.Ponente.Twitter); |
67 [Test] | 68 [Test] |
68 public void Publicar_evento_sin_ponente_registrado() | 69 public void Publicar_evento_sin_ponente_registrado() |
69 { | 70 { |
70 var publicador = new Mock<IPublicador>(); | 71 var publicador = new Mock<IPublicador>(); |
71 Evento evento = null; | 72 Evento evento = null; |
72 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e); | 73 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Callback<IEnumerable<Track>>( |
74 t => evento = t.First().Evento); | |
73 | 75 |
74 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); | 76 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPonenteRepository); |
75 | 77 |
76 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26), | 78 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26), |
77 urlInvitacion); | 79 urlInvitacion); |
78 | 80 |
79 Assert.AreEqual(1, agenda.GetEventosAgendados().Count); | 81 Assert.AreEqual(1, agenda.GetEventosAgendados().Count); |
80 | 82 |
81 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | 83 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); |
82 | 84 |
83 Assert.IsNotNull(evento); | 85 Assert.IsNotNull(evento); |
84 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); | 86 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); |
85 Assert.IsNullOrEmpty(evento.Ponente.Twitter); | 87 Assert.IsNullOrEmpty(evento.Ponente.Twitter); |
86 } | 88 } |
87 | 89 |
88 [Test] | 90 [Test] |
89 public void Quitar_ponente_de_un_evento() | 91 public void Quitar_ponente_de_un_evento() |
90 { | 92 { |
91 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); | 93 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPonenteRepository); |
92 | 94 |
93 const string titulo = "Audit (parallel model) con NHibernate 3"; | 95 const string titulo = "Audit (parallel model) con NHibernate 3"; |
94 Guid eventoId; | 96 Guid eventoId; |
95 | 97 |
96 agenda.Proponer(titulo, "Fabio", urlInvitacion); | 98 agenda.Proponer(titulo, "Fabio", urlInvitacion); |
119 } | 121 } |
120 | 122 |
121 [Test] | 123 [Test] |
122 public void Cambiar_ponente_de_un_evento() | 124 public void Cambiar_ponente_de_un_evento() |
123 { | 125 { |
124 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); | 126 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPonenteRepository); |
125 | 127 |
126 const string titulo = "Audit (parallel model) con NHibernate 3"; | 128 const string titulo = "Audit (parallel model) con NHibernate 3"; |
127 Guid eventoId; | 129 Guid eventoId; |
128 | 130 |
129 agenda.Proponer(titulo, "Fabio", urlInvitacion); | 131 agenda.Proponer(titulo, "Fabio", urlInvitacion); |