Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs @ 34:475be11edf56
Ajuste en los nombre de los assemblies y namespaces
author | nelo@MTEySS.neluz.int |
---|---|
date | Thu, 17 Mar 2011 16:59:29 -0300 |
parents | 016b9b9b8d3a |
children | 3c5657d99727 |
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()); | |
26 | 22 agenda.Proponer("Van propuesta", null); |
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 |
26 | 35 agenda.Proponer("Van propuesta", null); |
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); |
26 | 52 |
53 Assert.Throws<ValidationException>(() => agenda.Proponer(string.Empty, null)); | |
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 { | |
26 | 67 agenda.Proponer("Van propuesta", null); |
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 { | |
26 | 86 agenda.Proponer("Van propuesta", null); |
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 } | |
29
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
97 |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
98 [Test] |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
99 public void Publicar_van_propuesta() |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
100 { |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
101 var agenda = new Agenda(null, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository); |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
102 |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
103 agenda.Proponer("Van", null); |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
104 { |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
105 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
106 IList<Evento> eventosPublicados = agenda.GetEventosPublicados(); |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
107 |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
108 Assert.AreEqual(1, eventosPropuestos.Count); |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
109 Assert.AreEqual(0, eventosPublicados.Count); |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
110 } |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
111 |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
112 agenda.Publicar("Van", "jjmontes", DateTime.Now); |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
113 { |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
114 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
115 IList<Evento> eventosPublicados = agenda.GetEventosPublicados(); |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
116 |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
117 Assert.AreEqual(0, eventosPropuestos.Count); |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
118 Assert.AreEqual(1, eventosPublicados.Count); |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
119 } |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
120 } |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
121 |
20 | 122 } |
123 } |