comparison Agendas/trunk/src/Agendas.Tests/PulicarTests.cs @ 74:bc46e7426c80

Refactoring de acciones según la definición del diagrama de estados en assembla (https://www.assembla.com/spaces/altnet-hispano/wiki/Estados_de_un_evento)
author nelopauselli
date Mon, 23 May 2011 20:13:37 -0300
parents c7264bfc4b71
children
comparison
equal deleted inserted replaced
73:76567a0d1e44 74:bc46e7426c80
27 27
28 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"));
29 29
30 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository); 30 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository);
31 31
32 Assert.Throws<Exception>(() => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, urlInvitacion)); 32 Assert.Throws<Exception>(() => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, urlInvitacion));
33 Assert.AreEqual(0, agenda.GetEventosPublicados().Count); 33 Assert.AreEqual(0, agenda.GetEventosPublicados().Count);
34 34
35 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 35 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
36 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); 36 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
37 } 37 }
45 var repository = new Mock<IEventoRepository>(); 45 var repository = new Mock<IEventoRepository>();
46 46
47 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository); 47 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository);
48 48
49 Assert.Throws<IdentityContextNotConfiguredException>( 49 Assert.Throws<IdentityContextNotConfiguredException>(
50 () => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, 50 () => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now,
51 urlInvitacion)); 51 urlInvitacion));
52 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); 52 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
53 } 53 }
54 54
55 [Test] 55 [Test]
60 var publicador = new Mock<IPublicador>(); 60 var publicador = new Mock<IPublicador>();
61 var repository = new Mock<IEventoRepository>(); 61 var repository = new Mock<IEventoRepository>();
62 62
63 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository); 63 var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository);
64 64
65 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, 65 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now,
66 urlInvitacion)); 66 urlInvitacion));
67 67
68 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(0)); 68 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(0));
69 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); 69 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
70 } 70 }
72 [Test] 72 [Test]
73 public void Intentar_publicar_evento_sin_ponente() 73 public void Intentar_publicar_evento_sin_ponente()
74 { 74 {
75 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); 75 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
76 76
77 var r = agenda.Publicar("Van para publicar", string.Empty, DateTime.Now, 77 var r = agenda.Agendar("Van para publicar", string.Empty, DateTime.Now,
78 urlInvitacion); 78 urlInvitacion);
79 79
80 Assert.IsFalse(r.Succeful); 80 Assert.IsFalse(r.Succeful);
81 } 81 }
82 82
89 var repository = new Mock<IEventoRepository>(); 89 var repository = new Mock<IEventoRepository>();
90 90
91 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,
92 repository.Object, DefaultPonenteRepository); 92 repository.Object, DefaultPonenteRepository);
93 93
94 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, 94 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now,
95 urlInvitacion); 95 urlInvitacion);
96 96
97 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 97 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
98 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 98 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
99 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(1)); 99 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(1));
104 { 104 {
105 var publicador = new Mock<IPublicador>(); 105 var publicador = new Mock<IPublicador>();
106 106
107 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); 107 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository);
108 108
109 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, 109 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now,
110 urlInvitacion); 110 urlInvitacion);
111 var eventos = agenda.GetEventosPublicados(); 111 var eventos = agenda.GetEventosPublicados();
112 Assert.AreEqual(1, eventos.Count); 112 Assert.AreEqual(1, eventos.Count);
113 113
114 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 114 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
128 var repository = DefaultEventoRepository; 128 var repository = DefaultEventoRepository;
129 var publicador = new Mock<IPublicador>(); 129 var publicador = new Mock<IPublicador>();
130 130
131 var agenda = new Agenda(publicador.Object, null, repository, DefaultPonenteRepository); 131 var agenda = new Agenda(publicador.Object, null, repository, DefaultPonenteRepository);
132 132
133 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, 133 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now,
134 urlInvitacion); 134 urlInvitacion);
135 135
136 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 136 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
137 137
138 var evento = repository.GetEventosConFecha().First(); 138 var evento = repository.GetEventosConFecha().First();
162 var recordador1 = new Mock<IRecordador>(); 162 var recordador1 = new Mock<IRecordador>();
163 163
164 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,
165 DefaultEventoRepository, DefaultPonenteRepository); 165 DefaultEventoRepository, DefaultPonenteRepository);
166 166
167 agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now, 167 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now,
168 urlInvitacion); 168 urlInvitacion);
169 169
170 var van = agenda.GetEventosPublicados().Single(v => v.Titulo == "Van para publicar"); 170 var van = agenda.GetEventosPublicados().Single(v => v.Titulo == "Van para publicar");
171 agenda.Recordar(van.Id); 171 agenda.Recordar(van.Id);
172 172