Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Tests/PulicarTests.cs @ 70:c7264bfc4b71
agregado de properties en clase Evento (UrlInvitacion, UrlWiki, NumeroOrden)
modificaciones en proyecto Agendas.Blog
modificacion de viewmodel EventoModel - agregado de UrlInvitacion (no requerido)
author | jorge.rowies |
---|---|
date | Fri, 20 May 2011 12:21:07 -0300 |
parents | cb3f7b47c1f0 |
children | bc46e7426c80 |
comparison
equal
deleted
inserted
replaced
69:8becac0977d7 | 70:c7264bfc4b71 |
---|---|
9 namespace AltNetHispano.Agendas.Tests | 9 namespace AltNetHispano.Agendas.Tests |
10 { | 10 { |
11 [TestFixture] | 11 [TestFixture] |
12 public class PulicarTests : TestBase | 12 public class PulicarTests : TestBase |
13 { | 13 { |
14 private const string urlInvitacion = "http://groups.google.com/group/altnet-hispano/browse_thread/thread/65d6d26eb381386e"; | |
15 | |
14 [Test] | 16 [Test] |
15 public void CompositePublicador_constructor_parametro_null_debe_generar_ArgumentNullException() | 17 public void CompositePublicador_constructor_parametro_null_debe_generar_ArgumentNullException() |
16 { | 18 { |
17 Assert.Throws<ArgumentNullException>(() => new CompositePublicador(null)); | 19 Assert.Throws<ArgumentNullException>(() => new CompositePublicador(null)); |
18 } | 20 } |
25 | 27 |
26 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Throws(new Exception("Error intencional")); | 28 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Throws(new Exception("Error intencional")); |
27 | 29 |
28 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository); | 30 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository); |
29 | 31 |
30 Assert.Throws<Exception>(() => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now)); | 32 Assert.Throws<Exception>(() => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, urlInvitacion)); |
31 Assert.AreEqual(0, agenda.GetEventosPublicados().Count); | 33 Assert.AreEqual(0, agenda.GetEventosPublicados().Count); |
32 | 34 |
33 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | 35 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |
34 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); | 36 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); |
35 } | 37 } |
43 var repository = new Mock<IEventoRepository>(); | 45 var repository = new Mock<IEventoRepository>(); |
44 | 46 |
45 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository); | 47 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository); |
46 | 48 |
47 Assert.Throws<IdentityContextNotConfiguredException>( | 49 Assert.Throws<IdentityContextNotConfiguredException>( |
48 () => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now)); | 50 () => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, |
51 urlInvitacion)); | |
49 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); | 52 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); |
50 } | 53 } |
51 | 54 |
52 [Test] | 55 [Test] |
53 public void Intentar_publicar_evento_sin_usuario_autenticado() | 56 public void Intentar_publicar_evento_sin_usuario_autenticado() |
57 var publicador = new Mock<IPublicador>(); | 60 var publicador = new Mock<IPublicador>(); |
58 var repository = new Mock<IEventoRepository>(); | 61 var repository = new Mock<IEventoRepository>(); |
59 | 62 |
60 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository); | 63 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository); |
61 | 64 |
62 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now)); | 65 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, |
66 urlInvitacion)); | |
63 | 67 |
64 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(0)); | 68 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(0)); |
65 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); | 69 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); |
66 } | 70 } |
67 | 71 |
68 [Test] | 72 [Test] |
69 public void Intentar_publicar_evento_sin_ponente() | 73 public void Intentar_publicar_evento_sin_ponente() |
70 { | 74 { |
71 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); | 75 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); |
72 | 76 |
73 var r = agenda.Publicar("Van para publicar", string.Empty, DateTime.Now); | 77 var r = agenda.Publicar("Van para publicar", string.Empty, DateTime.Now, |
78 urlInvitacion); | |
74 | 79 |
75 Assert.IsFalse(r.Succeful); | 80 Assert.IsFalse(r.Succeful); |
76 } | 81 } |
77 | 82 |
78 [Test] | 83 [Test] |
82 var publicador2 = new Mock<IPublicador>(); | 87 var publicador2 = new Mock<IPublicador>(); |
83 | 88 |
84 var repository = new Mock<IEventoRepository>(); | 89 var repository = new Mock<IEventoRepository>(); |
85 | 90 |
86 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), null, | 91 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), null, |
87 repository.Object, DefaultPonenteRepository); | 92 repository.Object, DefaultPonenteRepository); |
88 | 93 |
89 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now); | 94 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, |
95 urlInvitacion); | |
90 | 96 |
91 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | 97 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |
92 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | 98 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |
93 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(1)); | 99 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(1)); |
94 } | 100 } |
98 { | 104 { |
99 var publicador = new Mock<IPublicador>(); | 105 var publicador = new Mock<IPublicador>(); |
100 | 106 |
101 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); | 107 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); |
102 | 108 |
103 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now); | 109 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, |
110 urlInvitacion); | |
104 var eventos = agenda.GetEventosPublicados(); | 111 var eventos = agenda.GetEventosPublicados(); |
105 Assert.AreEqual(1, eventos.Count); | 112 Assert.AreEqual(1, eventos.Count); |
106 | 113 |
107 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | 114 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |
108 | 115 |
121 var repository = DefaultEventoRepository; | 128 var repository = DefaultEventoRepository; |
122 var publicador = new Mock<IPublicador>(); | 129 var publicador = new Mock<IPublicador>(); |
123 | 130 |
124 var agenda = new Agenda(publicador.Object, null, repository, DefaultPonenteRepository); | 131 var agenda = new Agenda(publicador.Object, null, repository, DefaultPonenteRepository); |
125 | 132 |
126 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now); | 133 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, |
134 urlInvitacion); | |
127 | 135 |
128 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | 136 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |
129 | 137 |
130 var evento = repository.GetEventosConFecha().First(); | 138 var evento = repository.GetEventosConFecha().First(); |
131 Assert.AreNotEqual(Guid.Empty, evento.Id); | 139 Assert.AreNotEqual(Guid.Empty, evento.Id); |
152 var publicador1 = new Mock<IPublicador>(); | 160 var publicador1 = new Mock<IPublicador>(); |
153 var publicador2 = new Mock<IPublicador>(); | 161 var publicador2 = new Mock<IPublicador>(); |
154 var recordador1 = new Mock<IRecordador>(); | 162 var recordador1 = new Mock<IRecordador>(); |
155 | 163 |
156 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), recordador1.Object, | 164 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), recordador1.Object, |
157 DefaultEventoRepository, DefaultPonenteRepository); | 165 DefaultEventoRepository, DefaultPonenteRepository); |
158 | 166 |
159 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now); | 167 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, |
168 urlInvitacion); | |
160 | 169 |
161 var van = agenda.GetEventosPublicados().Single(v => v.Titulo == "Van para publicar"); | 170 var van = agenda.GetEventosPublicados().Single(v => v.Titulo == "Van para publicar"); |
162 agenda.Recordar(van.Id); | 171 agenda.Recordar(van.Id); |
163 | 172 |
164 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | 173 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |