comparison 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
comparison
equal deleted inserted replaced
8:cae27d7eb697 9:c90492faf268
16 { 16 {
17 [Test] 17 [Test]
18 public void Publicar_cafe() 18 public void Publicar_cafe()
19 { 19 {
20 var publicador = new Mock<IPublicador>(); 20 var publicador = new Mock<IPublicador>();
21 21 var seguridad = new Mock<ISeguridad>();
22 var agenda = new Agenda(publicador.Object, null, null); 22 var agenda = new Agenda(publicador.Object, null, seguridad.Object);
23 23
24 var cafe = EventoObjectMother.GetCafeValidoParaPublicar(); 24 var cafe = EventoObjectMother.GetCafeValidoParaPublicar();
25 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
25 agenda.Publicar(cafe); 26 agenda.Publicar(cafe);
26 27
27 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 28 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
28 } 29 }
29 30
30 [Test] 31 [Test]
31 public void Publicar_van() 32 public void Publicar_van_con_usuario_autenticado()
32 { 33 {
34 var seguridad = new Mock<ISeguridad>();
33 var publicador = new Mock<IPublicador>(); 35 var publicador = new Mock<IPublicador>();
34 36
35 var agenda = new Agenda(publicador.Object, null, null); 37 var agenda = new Agenda(publicador.Object, null, seguridad.Object);
36 38
37 var van = EventoObjectMother.GetVanValidaParaPublicar(); 39 var van = EventoObjectMother.GetVanValidaParaPublicar();
38 40
41 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
39 agenda.Publicar(van); 42 agenda.Publicar(van);
40 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); 43 Assert.AreEqual(1, agenda.GetEventosPublicados().Count);
41 44
42 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 45 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
43 } 46 }
47
48 [Test]
49 public void Publicar_van_sin_usuario_autenticado() {
50 var seguridad = new Mock<ISeguridad>();
51 var publicador = new Mock<IPublicador>();
52
53 var agenda = new Agenda(publicador.Object, null, seguridad.Object);
54
55 var van = EventoObjectMother.GetVanValidaParaPublicar();
56
57 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalSinAutenticar());
58
59 Assert.Throws<ValidationException>(() => agenda.Publicar(van));
60 }
44 61
45 [Test] 62 [Test]
46 public void Error_al_publicar_van() 63 public void Error_al_publicar_van()
47 { 64 {
48 var publicador = new Mock<IPublicador>(); 65 var publicador = new Mock<IPublicador>();