Mercurial > altnet-hispano
annotate 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 |
rev | line source |
---|---|
2 | 1 using System; |
4 | 2 using System.Collections.Generic; |
2 | 3 using System.Linq; |
4 using Agendas.Repositories.Memory; | |
5 using AltNetHispano.Agendas.Domain; | |
4 | 6 using AltNetHispano.Agendas.Domain.Exceptions; |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
7 using AltNetHispano.Agendas.Domain.Repositories; |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
8 using Moq; |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
9 using NUnit.Framework; |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
10 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
11 namespace AltNetHispano.Agendas.Tests |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
12 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
13 [TestFixture] |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
14 public class AgendaTests |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
15 { |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
16 private static ISeguridad SeguridadServiceDefault |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
17 { |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
18 get |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
19 { |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
20 var seguridad = new Mock<ISeguridad>(); |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
21 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
22 return seguridad.Object; |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
23 } |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
24 } |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
25 |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
26 [Test] |
3 | 27 public void Publicar_cafe() |
28 { | |
29 var publicador = new Mock<IPublicador>(); | |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
30 var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault); |
3 | 31 |
4 | 32 var cafe = EventoObjectMother.GetCafeValidoParaPublicar(); |
3 | 33 agenda.Publicar(cafe); |
34 | |
35 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
36 } | |
37 | |
38 [Test] | |
9
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
39 public void Publicar_van_con_usuario_autenticado() |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
40 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
41 var publicador = new Mock<IPublicador>(); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
42 |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
43 var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault); |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
44 |
4 | 45 var van = EventoObjectMother.GetVanValidaParaPublicar(); |
46 | |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
47 agenda.Publicar(van); |
7
deee2ca97f5b
Se modificó Agenda para exponer los eventos a través de métodos y no a través de propiedades. (Servicio de Negocios vs Objeto Persistente).
juanjose.montesdeocaarbos
parents:
6
diff
changeset
|
48 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
49 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
50 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
51 } |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
52 |
9
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
53 [Test] |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
54 public void Publicar_van_sin_usuario_autenticado() { |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
55 var seguridad = new Mock<ISeguridad>(); |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
56 var publicador = new Mock<IPublicador>(); |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
57 |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
58 var agenda = new Agenda(publicador.Object, null, seguridad.Object); |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
59 |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
60 var van = EventoObjectMother.GetVanValidaParaPublicar(); |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
61 |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
62 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalSinAutenticar()); |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
63 |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
64 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar(van)); |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
65 } |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
66 |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
67 [Test] |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
68 public void Publicar_van_sin_servicio_de_seguridad() |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
69 { |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
70 var publicador = new Mock<IPublicador>(); |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
71 |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
72 var agenda = new Agenda(publicador.Object, null, null); |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
73 |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
74 var van = EventoObjectMother.GetVanValidaParaPublicar(); |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
75 |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
76 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar(van)); |
9
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
77 } |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
78 |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
79 [Test] |
4 | 80 public void Error_al_publicar_van() |
81 { | |
82 var publicador = new Mock<IPublicador>(); | |
83 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Throws(new Exception("Error intencional")); | |
84 | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
85 var agenda = new Agenda(publicador.Object, null, null); |
4 | 86 |
87 var van = EventoObjectMother.GetVanValidaParaPublicar(); | |
88 Assert.Throws<Exception>(() => agenda.Publicar(van)); | |
7
deee2ca97f5b
Se modificó Agenda para exponer los eventos a través de métodos y no a través de propiedades. (Servicio de Negocios vs Objeto Persistente).
juanjose.montesdeocaarbos
parents:
6
diff
changeset
|
89 Assert.AreEqual(0, agenda.GetEventosPublicados().Count); |
4 | 90 |
91 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
92 } | |
93 | |
94 [Test] | |
1 | 95 public void Publicar_van_multiples_publicadores() |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
96 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
97 var publicador1 = new Mock<IPublicador>(); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
98 var publicador2 = new Mock<IPublicador>(); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
99 |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
100 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), null, SeguridadServiceDefault); |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
101 |
4 | 102 var van = EventoObjectMother.GetVanValidaParaPublicar(); |
103 agenda.Publicar(van); | |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
104 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
105 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
106 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
107 } |
1 | 108 |
109 [Test] | |
110 public void Publicar_y_recordar_van() | |
111 { | |
112 var publicador1 = new Mock<IPublicador>(); | |
113 var publicador2 = new Mock<IPublicador>(); | |
114 var recordador1 = new Mock<IRecordador>(); | |
115 | |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
116 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), recordador1.Object, SeguridadServiceDefault); |
1 | 117 |
4 | 118 var van = EventoObjectMother.GetVanValidaParaPublicar(); |
1 | 119 agenda.Publicar(van); |
120 | |
121 agenda.Recordar(van); | |
122 | |
123 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
124 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
125 recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1)); | |
126 | |
7
deee2ca97f5b
Se modificó Agenda para exponer los eventos a través de métodos y no a través de propiedades. (Servicio de Negocios vs Objeto Persistente).
juanjose.montesdeocaarbos
parents:
6
diff
changeset
|
127 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); |
2 | 128 } |
129 | |
130 [Test] | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
131 public void Propuesta_de_van_con_usuario_autenticado() |
4 | 132 { |
133 var van = new Van{Titulo = "Van propuesta"}; | |
134 | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
135 var seguridad = new Mock<ISeguridad>(); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
136 var agenda = new Agenda(null, null, seguridad.Object); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
137 |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
138 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); |
4 | 139 agenda.Proponer(van); |
140 | |
141 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); | |
142 Assert.IsNotNull(eventosPropuestos); | |
143 Assert.AreEqual(1, eventosPropuestos.Count); | |
144 Assert.AreEqual("Van propuesta", eventosPropuestos[0].Titulo); | |
145 } | |
146 | |
6
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
147 [Test] |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
148 public void Verificar_propuesta_separada_de_publicacion() |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
149 { |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
150 var seguridad = new Mock<ISeguridad>(); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
151 var agenda = new Agenda(null, null, seguridad.Object); |
6
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
152 |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
153 var vanPropuesta = new Van { Titulo = "Van propuesta" }; |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
154 var vanPublicada = EventoObjectMother.GetVanValidaParaPublicar(); |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
155 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); |
6
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
156 |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
157 agenda.Proponer(vanPropuesta); |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
158 agenda.Publicar(vanPublicada); |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
159 |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
160 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
161 IList<Evento> eventosPublicados = agenda.GetEventosPublicados(); |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
162 |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
163 Assert.AreEqual(1, eventosPropuestos.Count); |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
164 Assert.AreEqual(1, eventosPublicados.Count); |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
165 } |
2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
juanjose.montesdeocaarbos
parents:
4
diff
changeset
|
166 |
4 | 167 [Test] |
168 public void Propuesta_de_van_sin_titulo() | |
169 { | |
170 var van = new Van(); | |
171 | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
172 var seguridad = new Mock<ISeguridad>(); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
173 var agenda = new Agenda(null, null, seguridad.Object); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
174 |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
175 Assert.Throws<ValidationException>(() => agenda.Proponer(van)); |
4 | 176 Assert.AreEqual(Guid.Empty, van.Id); |
177 } | |
178 | |
179 [Test] | |
180 public void Agendar_van_propuesta_sin_fecha() | |
181 { | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
182 var seguridad = new Mock<ISeguridad>(); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
183 var agenda = new Agenda(null, null, seguridad.Object); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
184 |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
185 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); |
4 | 186 |
187 { | |
188 var van = new Van {Titulo = "Van propuesta"}; | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
189 agenda.Proponer(van); |
4 | 190 } |
191 | |
192 { | |
193 var van = agenda.GetEventosPropuestos().FirstOrDefault(); | |
194 Assert.IsNotNull(van); | |
195 Assert.Throws<ValidationException>(()=>agenda.Publicar(van)); | |
196 } | |
197 } | |
198 | |
199 [Test] | |
200 public void Agendar_van_propuesta_sin_ponente() | |
201 { | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
202 var seguridad = new Mock<ISeguridad>(); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
203 var agenda = new Agenda(null, null, seguridad.Object); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
204 |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
205 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); |
4 | 206 |
207 { | |
208 var van = new Van { Titulo = "Van propuesta" }; | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
209 agenda.Proponer(van); |
4 | 210 } |
211 | |
212 { | |
213 var van = agenda.GetEventosPropuestos().FirstOrDefault() as Van; | |
214 Assert.IsNotNull(van); | |
215 | |
216 van.Fecha = DateTime.Today.AddDays(5); | |
217 Assert.Throws<ValidationException>(() => agenda.Publicar(van)); | |
218 } | |
219 } | |
220 | |
221 [Test] | |
2 | 222 public void Van_crud() |
223 { | |
224 Guid vanId; | |
225 { | |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
226 var agenda = new Agenda(null, null, SeguridadServiceDefault); |
4 | 227 agenda.Publicar(EventoObjectMother.GetVanValidaParaPublicar()); |
2 | 228 |
229 IAgendaRepository agendaRepository = new AgendaRepository(); | |
230 | |
231 agendaRepository.Save(agenda); | |
232 vanId = agenda.Id; | |
233 } | |
234 | |
235 { | |
236 IAgendaRepository agendaRepository = new AgendaRepository(); | |
237 | |
3 | 238 Agenda agenda = agendaRepository.Get(vanId); |
2 | 239 |
240 Assert.IsNotNull(agenda); | |
7
deee2ca97f5b
Se modificó Agenda para exponer los eventos a través de métodos y no a través de propiedades. (Servicio de Negocios vs Objeto Persistente).
juanjose.montesdeocaarbos
parents:
6
diff
changeset
|
241 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); |
4 | 242 agenda.Publicar(EventoObjectMother.GetCafeValidoParaPublicar()); |
2 | 243 |
244 agendaRepository.Update(agenda); | |
245 } | |
246 | |
247 { | |
248 IAgendaRepository agendaRepository = new AgendaRepository(); | |
249 | |
3 | 250 Agenda agenda = agendaRepository.Get(vanId); |
2 | 251 |
252 Assert.IsNotNull(agenda); | |
7
deee2ca97f5b
Se modificó Agenda para exponer los eventos a través de métodos y no a través de propiedades. (Servicio de Negocios vs Objeto Persistente).
juanjose.montesdeocaarbos
parents:
6
diff
changeset
|
253 Assert.AreEqual(2, agenda.GetEventosPublicados().Count); |
2 | 254 |
255 agendaRepository.Delete(agenda); | |
256 } | |
257 | |
258 { | |
259 IAgendaRepository agendaRepository = new AgendaRepository(); | |
260 | |
3 | 261 Agenda agenda = agendaRepository.Get(vanId); |
2 | 262 |
263 Assert.IsNull(agenda); | |
264 } | |
1 | 265 } |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
266 } |
3 | 267 } |