Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Tests/AgendaTests.cs @ 9:c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
Se valida autenticación al Publicar.
author | juanjose.montesdeocaarbos |
---|---|
date | Sat, 12 Feb 2011 12:22:36 -0300 |
parents | cae27d7eb697 |
children | 9d6b28a696d1 |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs Sat Feb 12 11:12:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs Sat Feb 12 12:22:36 2011 -0300 @@ -18,30 +18,47 @@ public void Publicar_cafe() { var publicador = new Mock<IPublicador>(); - - var agenda = new Agenda(publicador.Object, null, null); + var seguridad = new Mock<ISeguridad>(); + var agenda = new Agenda(publicador.Object, null, seguridad.Object); var cafe = EventoObjectMother.GetCafeValidoParaPublicar(); + seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); agenda.Publicar(cafe); publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); } [Test] - public void Publicar_van() + public void Publicar_van_con_usuario_autenticado() { + var seguridad = new Mock<ISeguridad>(); var publicador = new Mock<IPublicador>(); - var agenda = new Agenda(publicador.Object, null, null); + var agenda = new Agenda(publicador.Object, null, seguridad.Object); var van = EventoObjectMother.GetVanValidaParaPublicar(); + seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); agenda.Publicar(van); Assert.AreEqual(1, agenda.GetEventosPublicados().Count); publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); } + [Test] + public void Publicar_van_sin_usuario_autenticado() { + var seguridad = new Mock<ISeguridad>(); + var publicador = new Mock<IPublicador>(); + + var agenda = new Agenda(publicador.Object, null, seguridad.Object); + + var van = EventoObjectMother.GetVanValidaParaPublicar(); + + seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalSinAutenticar()); + + Assert.Throws<ValidationException>(() => agenda.Publicar(van)); + } + [Test] public void Error_al_publicar_van() {