comparison Agendas/trunk/src/Agendas.Tests/AgendaTests.cs @ 11:9d6b28a696d1

corrección en método que verifica la autenticación del usuario
author nelo@MTEySS.neluz.int
date Sun, 13 Mar 2011 19:30:58 -0300
parents c90492faf268
children 05996fa19e04
comparison
equal deleted inserted replaced
10:c62b77fc33f4 11:9d6b28a696d1
5 using AltNetHispano.Agendas.Domain; 5 using AltNetHispano.Agendas.Domain;
6 using AltNetHispano.Agendas.Domain.Exceptions; 6 using AltNetHispano.Agendas.Domain.Exceptions;
7 using AltNetHispano.Agendas.Domain.Repositories; 7 using AltNetHispano.Agendas.Domain.Repositories;
8 using Moq; 8 using Moq;
9 using NUnit.Framework; 9 using NUnit.Framework;
10 using System.Security.Principal;
11 10
12 namespace AltNetHispano.Agendas.Tests 11 namespace AltNetHispano.Agendas.Tests
13 { 12 {
14 [TestFixture] 13 [TestFixture]
15 public class AgendaTests 14 public class AgendaTests
16 { 15 {
16 private static ISeguridad SeguridadServiceDefault
17 {
18 get
19 {
20 var seguridad = new Mock<ISeguridad>();
21 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
22 return seguridad.Object;
23 }
24 }
25
17 [Test] 26 [Test]
18 public void Publicar_cafe() 27 public void Publicar_cafe()
19 { 28 {
20 var publicador = new Mock<IPublicador>(); 29 var publicador = new Mock<IPublicador>();
21 var seguridad = new Mock<ISeguridad>(); 30 var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault);
22 var agenda = new Agenda(publicador.Object, null, seguridad.Object);
23 31
24 var cafe = EventoObjectMother.GetCafeValidoParaPublicar(); 32 var cafe = EventoObjectMother.GetCafeValidoParaPublicar();
25 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
26 agenda.Publicar(cafe); 33 agenda.Publicar(cafe);
27 34
28 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 35 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
29 } 36 }
30 37
31 [Test] 38 [Test]
32 public void Publicar_van_con_usuario_autenticado() 39 public void Publicar_van_con_usuario_autenticado()
33 { 40 {
34 var seguridad = new Mock<ISeguridad>();
35 var publicador = new Mock<IPublicador>(); 41 var publicador = new Mock<IPublicador>();
36 42
37 var agenda = new Agenda(publicador.Object, null, seguridad.Object); 43 var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault);
38 44
39 var van = EventoObjectMother.GetVanValidaParaPublicar(); 45 var van = EventoObjectMother.GetVanValidaParaPublicar();
40 46
41 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
42 agenda.Publicar(van); 47 agenda.Publicar(van);
43 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); 48 Assert.AreEqual(1, agenda.GetEventosPublicados().Count);
44 49
45 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 50 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
46 } 51 }
54 59
55 var van = EventoObjectMother.GetVanValidaParaPublicar(); 60 var van = EventoObjectMother.GetVanValidaParaPublicar();
56 61
57 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalSinAutenticar()); 62 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalSinAutenticar());
58 63
59 Assert.Throws<ValidationException>(() => agenda.Publicar(van)); 64 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar(van));
65 }
66
67 [Test]
68 public void Publicar_van_sin_servicio_de_seguridad()
69 {
70 var publicador = new Mock<IPublicador>();
71
72 var agenda = new Agenda(publicador.Object, null, null);
73
74 var van = EventoObjectMother.GetVanValidaParaPublicar();
75
76 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar(van));
60 } 77 }
61 78
62 [Test] 79 [Test]
63 public void Error_al_publicar_van() 80 public void Error_al_publicar_van()
64 { 81 {
78 public void Publicar_van_multiples_publicadores() 95 public void Publicar_van_multiples_publicadores()
79 { 96 {
80 var publicador1 = new Mock<IPublicador>(); 97 var publicador1 = new Mock<IPublicador>();
81 var publicador2 = new Mock<IPublicador>(); 98 var publicador2 = new Mock<IPublicador>();
82 99
83 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), null, null); 100 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), null, SeguridadServiceDefault);
84 101
85 var van = EventoObjectMother.GetVanValidaParaPublicar(); 102 var van = EventoObjectMother.GetVanValidaParaPublicar();
86 agenda.Publicar(van); 103 agenda.Publicar(van);
87 104
88 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 105 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
94 { 111 {
95 var publicador1 = new Mock<IPublicador>(); 112 var publicador1 = new Mock<IPublicador>();
96 var publicador2 = new Mock<IPublicador>(); 113 var publicador2 = new Mock<IPublicador>();
97 var recordador1 = new Mock<IRecordador>(); 114 var recordador1 = new Mock<IRecordador>();
98 115
99 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), recordador1.Object, null); 116 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), recordador1.Object, SeguridadServiceDefault);
100 117
101 var van = EventoObjectMother.GetVanValidaParaPublicar(); 118 var van = EventoObjectMother.GetVanValidaParaPublicar();
102 agenda.Publicar(van); 119 agenda.Publicar(van);
103 120
104 agenda.Recordar(van); 121 agenda.Recordar(van);
204 [Test] 221 [Test]
205 public void Van_crud() 222 public void Van_crud()
206 { 223 {
207 Guid vanId; 224 Guid vanId;
208 { 225 {
209 var agenda = new Agenda(null, null, null); 226 var agenda = new Agenda(null, null, SeguridadServiceDefault);
210 agenda.Publicar(EventoObjectMother.GetVanValidaParaPublicar()); 227 agenda.Publicar(EventoObjectMother.GetVanValidaParaPublicar());
211 228
212 IAgendaRepository agendaRepository = new AgendaRepository(); 229 IAgendaRepository agendaRepository = new AgendaRepository();
213 230
214 agendaRepository.Save(agenda); 231 agendaRepository.Save(agenda);