Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs @ 24:41b283d27e3e
Ponentes como entidad
Agenda no es una entidad persistente (por ahora)
author | nelo@MTEySS.neluz.int |
---|---|
date | Tue, 15 Mar 2011 07:49:53 -0300 |
parents | d6e124e5c9c4 |
children | 71b02443450a |
rev | line source |
---|---|
20 | 1 using System; |
2 using System.Collections.Generic; | |
3 using System.Linq; | |
4 using AltNetHispano.Agendas.Domain; | |
5 using AltNetHispano.Agendas.Domain.Exceptions; | |
6 using AltNetHispano.Agendas.Domain.Repositories; | |
7 using Moq; | |
8 using NUnit.Framework; | |
9 | |
10 namespace AltNetHispano.Agendas.Tests | |
11 { | |
12 [TestFixture] | |
13 public class PropuestasTests : TestBase | |
14 { | |
15 [Test] | |
16 public void Propuesta_de_van_con_usuario_autenticado() | |
17 { | |
18 var seguridad = new Mock<ISeguridad>(); | |
24 | 19 var agenda = new Agenda(null, null, seguridad.Object, DefaultEventoRepository, DefaultPonenteRepository); |
20 | 20 |
21 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); | |
21
43360bf09b1a
unificando criterio de parámetros en Agenda
nelo@MTEySS.neluz.int
parents:
20
diff
changeset
|
22 agenda.Proponer("Van propuesta"); |
20 | 23 |
24 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); | |
25 Assert.IsNotNull(eventosPropuestos); | |
26 Assert.AreEqual(1, eventosPropuestos.Count); | |
27 Assert.AreEqual("Van propuesta", eventosPropuestos[0].Titulo); | |
28 } | |
29 | |
30 [Test] | |
31 public void Verificar_propuesta_separada_de_publicacion() | |
32 { | |
24 | 33 var agenda = new Agenda(null, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository); |
20 | 34 |
21
43360bf09b1a
unificando criterio de parámetros en Agenda
nelo@MTEySS.neluz.int
parents:
20
diff
changeset
|
35 agenda.Proponer("Van propuesta"); |
24 | 36 agenda.Publicar("Van publicada", "jjmontes", DateTime.Now); |
20 | 37 |
38 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); | |
39 IList<Evento> eventosPublicados = agenda.GetEventosPublicados(); | |
40 | |
41 Assert.AreEqual(1, eventosPropuestos.Count); | |
42 Assert.AreEqual(1, eventosPublicados.Count); | |
43 } | |
44 | |
45 [Test] | |
46 public void Propuesta_de_van_sin_titulo() | |
47 { | |
48 var repository = new Mock<IEventoRepository>(); | |
49 | |
50 var seguridad = new Mock<ISeguridad>(); | |
24 | 51 var agenda = new Agenda(null, null, seguridad.Object, repository.Object, DefaultPonenteRepository); |
20 | 52 |
21
43360bf09b1a
unificando criterio de parámetros en Agenda
nelo@MTEySS.neluz.int
parents:
20
diff
changeset
|
53 Assert.Throws<ValidationException>(() => agenda.Proponer(string.Empty)); |
20 | 54 |
55 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); | |
56 } | |
57 | |
58 [Test] | |
59 public void Agendar_van_propuesta_sin_fecha() | |
60 { | |
61 var seguridad = new Mock<ISeguridad>(); | |
24 | 62 var agenda = new Agenda(null, null, seguridad.Object, DefaultEventoRepository, DefaultPonenteRepository); |
20 | 63 |
64 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); | |
65 | |
66 { | |
21
43360bf09b1a
unificando criterio de parámetros en Agenda
nelo@MTEySS.neluz.int
parents:
20
diff
changeset
|
67 agenda.Proponer("Van propuesta"); |
20 | 68 } |
69 | |
70 { | |
71 var van = agenda.GetEventosPropuestos().FirstOrDefault(); | |
72 Assert.IsNotNull(van); | |
24 | 73 Assert.Throws<ValidationException>(() => agenda.Publicar(van.Titulo, string.Empty, van.Fecha)); |
20 | 74 } |
75 } | |
76 | |
77 [Test] | |
78 public void Agendar_van_propuesta_sin_ponente() | |
79 { | |
80 var seguridad = new Mock<ISeguridad>(); | |
24 | 81 var agenda = new Agenda(null, null, seguridad.Object, DefaultEventoRepository, DefaultPonenteRepository); |
20 | 82 |
83 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); | |
84 | |
85 { | |
21
43360bf09b1a
unificando criterio de parámetros en Agenda
nelo@MTEySS.neluz.int
parents:
20
diff
changeset
|
86 agenda.Proponer("Van propuesta"); |
20 | 87 } |
88 | |
89 { | |
90 var van = agenda.GetEventosPropuestos().FirstOrDefault(); | |
91 Assert.IsNotNull(van); | |
92 | |
93 van.Fecha = DateTime.Today.AddDays(5); | |
24 | 94 Assert.Throws<ValidationException>(() => agenda.Publicar(van.Titulo, string.Empty, van.Fecha)); |
20 | 95 } |
96 } | |
97 } | |
98 } |