Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/AgendaTests.cs @ 12:05996fa19e04
Unificamos Van y Cafe en Evento
Agenda.Publicar con los valores como parámetros independientes
author | nelo@MTEySS.neluz.int |
---|---|
date | Sun, 13 Mar 2011 19:50:17 -0300 |
parents | 9d6b28a696d1 |
children | 08b9e96132a5 |
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] |
9
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
27 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
|
28 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
29 var publicador = new Mock<IPublicador>(); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
30 |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
31 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
|
32 |
4 | 33 var van = EventoObjectMother.GetVanValidaParaPublicar(); |
34 | |
12 | 35 agenda.Publicar(van.Titulo, van.Ponente, van.Fecha); |
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
|
36 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
37 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
38 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
|
39 } |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
40 |
9
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
41 [Test] |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
42 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
|
43 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
|
44 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
|
45 |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
46 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
|
47 |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
48 var van = EventoObjectMother.GetVanValidaParaPublicar(); |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
49 |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
50 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
|
51 |
12 | 52 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar(van.Titulo, van.Ponente, van.Fecha)); |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
53 } |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
54 |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
55 [Test] |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
56 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
|
57 { |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
58 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
|
59 |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
60 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
|
61 |
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
62 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
|
63 |
12 | 64 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar(van.Titulo, van.Ponente, van.Fecha)); |
9
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
65 } |
c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
juanjose.montesdeocaarbos
parents:
8
diff
changeset
|
66 |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
67 [Test] |
4 | 68 public void Error_al_publicar_van() |
69 { | |
70 var publicador = new Mock<IPublicador>(); | |
71 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Throws(new Exception("Error intencional")); | |
72 | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
73 var agenda = new Agenda(publicador.Object, null, null); |
4 | 74 |
75 var van = EventoObjectMother.GetVanValidaParaPublicar(); | |
12 | 76 Assert.Throws<Exception>(() => agenda.Publicar(van.Titulo, van.Ponente, van.Fecha)); |
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
|
77 Assert.AreEqual(0, agenda.GetEventosPublicados().Count); |
4 | 78 |
79 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
80 } | |
81 | |
82 [Test] | |
1 | 83 public void Publicar_van_multiples_publicadores() |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
84 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
85 var publicador1 = new Mock<IPublicador>(); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
86 var publicador2 = new Mock<IPublicador>(); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
87 |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
88 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
|
89 |
4 | 90 var van = EventoObjectMother.GetVanValidaParaPublicar(); |
12 | 91 agenda.Publicar(van.Titulo, van.Ponente, van.Fecha); |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
92 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
93 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
|
94 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
|
95 } |
1 | 96 |
97 [Test] | |
98 public void Publicar_y_recordar_van() | |
99 { | |
100 var publicador1 = new Mock<IPublicador>(); | |
101 var publicador2 = new Mock<IPublicador>(); | |
102 var recordador1 = new Mock<IRecordador>(); | |
103 | |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
104 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), recordador1.Object, SeguridadServiceDefault); |
1 | 105 |
4 | 106 var van = EventoObjectMother.GetVanValidaParaPublicar(); |
12 | 107 agenda.Publicar(van.Titulo, van.Ponente, van.Fecha); |
1 | 108 |
109 agenda.Recordar(van); | |
110 | |
111 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
112 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
113 recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1)); | |
114 | |
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
|
115 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); |
2 | 116 } |
117 | |
118 [Test] | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
119 public void Propuesta_de_van_con_usuario_autenticado() |
4 | 120 { |
12 | 121 var van = new Evento{Titulo = "Van propuesta"}; |
4 | 122 |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
123 var seguridad = new Mock<ISeguridad>(); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
124 var agenda = new Agenda(null, null, seguridad.Object); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
125 |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
126 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); |
4 | 127 agenda.Proponer(van); |
128 | |
129 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); | |
130 Assert.IsNotNull(eventosPropuestos); | |
131 Assert.AreEqual(1, eventosPropuestos.Count); | |
132 Assert.AreEqual("Van propuesta", eventosPropuestos[0].Titulo); | |
133 } | |
134 | |
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
|
135 [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
|
136 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
|
137 { |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
138 var seguridad = new Mock<ISeguridad>(); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
139 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
|
140 |
12 | 141 var vanPropuesta = new Evento { Titulo = "Van propuesta" }; |
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
|
142 var vanPublicada = EventoObjectMother.GetVanValidaParaPublicar(); |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
143 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
|
144 |
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
|
145 agenda.Proponer(vanPropuesta); |
12 | 146 agenda.Publicar(vanPublicada.Titulo, vanPublicada.Ponente, vanPublicada.Fecha); |
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 |
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 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
|
149 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
|
150 |
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
|
151 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
|
152 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
|
153 } |
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 |
4 | 155 [Test] |
156 public void Propuesta_de_van_sin_titulo() | |
157 { | |
12 | 158 var van = new Evento(); |
4 | 159 |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
160 var seguridad = new Mock<ISeguridad>(); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
161 var agenda = new Agenda(null, null, seguridad.Object); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
162 |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
163 Assert.Throws<ValidationException>(() => agenda.Proponer(van)); |
4 | 164 Assert.AreEqual(Guid.Empty, van.Id); |
165 } | |
166 | |
167 [Test] | |
168 public void Agendar_van_propuesta_sin_fecha() | |
169 { | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
170 var seguridad = new Mock<ISeguridad>(); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
171 var agenda = new Agenda(null, null, seguridad.Object); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
172 |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
173 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); |
4 | 174 |
175 { | |
12 | 176 var van = new Evento {Titulo = "Van propuesta"}; |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
177 agenda.Proponer(van); |
4 | 178 } |
179 | |
180 { | |
181 var van = agenda.GetEventosPropuestos().FirstOrDefault(); | |
182 Assert.IsNotNull(van); | |
12 | 183 Assert.Throws<ValidationException>(() => agenda.Publicar(van.Titulo, van.Ponente, van.Fecha)); |
4 | 184 } |
185 } | |
186 | |
187 [Test] | |
188 public void Agendar_van_propuesta_sin_ponente() | |
189 { | |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
190 var seguridad = new Mock<ISeguridad>(); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
191 var agenda = new Agenda(null, null, seguridad.Object); |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
192 |
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
193 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); |
4 | 194 |
195 { | |
12 | 196 var van = new Evento { Titulo = "Van propuesta" }; |
8
cae27d7eb697
Se agregó ISeguridad para validar autenticaciones de usuarios.
juanjose.montesdeocaarbos
parents:
7
diff
changeset
|
197 agenda.Proponer(van); |
4 | 198 } |
199 | |
200 { | |
12 | 201 var van = agenda.GetEventosPropuestos().FirstOrDefault(); |
4 | 202 Assert.IsNotNull(van); |
203 | |
204 van.Fecha = DateTime.Today.AddDays(5); | |
12 | 205 Assert.Throws<ValidationException>(() => agenda.Publicar(van.Titulo, van.Ponente, van.Fecha)); |
4 | 206 } |
207 } | |
208 | |
209 [Test] | |
2 | 210 public void Van_crud() |
211 { | |
12 | 212 var van = EventoObjectMother.GetVanValidaParaPublicar(); |
213 | |
214 Guid vanId; | |
2 | 215 { |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
216 var agenda = new Agenda(null, null, SeguridadServiceDefault); |
12 | 217 agenda.Publicar(van.Titulo, van.Ponente, van.Fecha); |
2 | 218 |
219 IAgendaRepository agendaRepository = new AgendaRepository(); | |
220 | |
221 agendaRepository.Save(agenda); | |
222 vanId = agenda.Id; | |
223 } | |
224 | |
225 { | |
226 IAgendaRepository agendaRepository = new AgendaRepository(); | |
227 | |
3 | 228 Agenda agenda = agendaRepository.Get(vanId); |
2 | 229 |
230 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
|
231 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); |
12 | 232 agenda.Publicar(van.Titulo, van.Ponente, van.Fecha); |
2 | 233 |
234 agendaRepository.Update(agenda); | |
235 } | |
236 | |
237 { | |
238 IAgendaRepository agendaRepository = new AgendaRepository(); | |
239 | |
3 | 240 Agenda agenda = agendaRepository.Get(vanId); |
2 | 241 |
242 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
|
243 Assert.AreEqual(2, agenda.GetEventosPublicados().Count); |
2 | 244 |
245 agendaRepository.Delete(agenda); | |
246 } | |
247 | |
248 { | |
249 IAgendaRepository agendaRepository = new AgendaRepository(); | |
250 | |
3 | 251 Agenda agenda = agendaRepository.Get(vanId); |
2 | 252 |
253 Assert.IsNull(agenda); | |
254 } | |
1 | 255 } |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
256 } |
3 | 257 } |