Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs @ 55:39f5258ebdcf
Agregando referencias con NuGet
author | nelopauselli |
---|---|
date | Mon, 16 May 2011 20:10:45 -0300 |
parents | 3059a5f8930f |
children | c7264bfc4b71 |
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] | |
54 | 16 public void Crear_modificar_y_publicar_evento_propuesto() |
20 | 17 { |
54 | 18 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); |
19 | |
20 agenda.Proponer("Van", null); | |
21 { | |
22 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); | |
23 IList<Evento> eventosPublicados = agenda.GetEventosPublicados(); | |
24 | |
25 Assert.AreEqual(1, eventosPropuestos.Count); | |
26 Assert.AreEqual(0, eventosPublicados.Count); | |
20 | 27 |
54 | 28 var evento = eventosPropuestos.FirstOrDefault(); |
29 agenda.ModificarPropuesta(evento.Id, "Van 2", "otro ponente"); | |
30 | |
31 eventosPropuestos = agenda.GetEventosPropuestos(); | |
32 Assert.AreEqual(1, eventosPropuestos.Count); | |
20 | 33 |
54 | 34 evento = eventosPropuestos.FirstOrDefault(); |
35 Assert.AreEqual("Van 2", evento.Titulo); | |
36 Assert.AreEqual("otro ponente", evento.Ponente.Nombre); | |
37 } | |
20 | 38 |
54 | 39 var r = agenda.Publicar("Van 2", "jjmontes", DateTime.Now); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
52
diff
changeset
|
40 Assert.IsTrue(r.Succeful); |
54 | 41 { |
42 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); | |
43 IList<Evento> eventosPublicados = agenda.GetEventosPublicados(); | |
20 | 44 |
54 | 45 Assert.AreEqual(0, eventosPropuestos.Count); |
46 Assert.AreEqual(1, eventosPublicados.Count); | |
47 } | |
20 | 48 } |
49 | |
50 [Test] | |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
51 public void Intentar_agendar_evento_propuesto_sin_indicar_fecha() |
20 | 52 { |
54 | 53 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); |
54 | |
20 | 55 { |
26 | 56 agenda.Proponer("Van propuesta", null); |
20 | 57 } |
58 | |
59 { | |
60 var van = agenda.GetEventosPropuestos().FirstOrDefault(); | |
61 Assert.IsNotNull(van); | |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
52
diff
changeset
|
62 var r = agenda.Publicar(van.Titulo, "Ponente", null); |
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
52
diff
changeset
|
63 Assert.IsFalse(r.Succeful); |
20 | 64 } |
65 } | |
66 | |
67 [Test] | |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
68 public void Intentar_agendar_evento_propuesto_sin_indicar_ponente() |
20 | 69 { |
54 | 70 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); |
71 | |
20 | 72 { |
26 | 73 agenda.Proponer("Van propuesta", null); |
20 | 74 } |
75 | |
76 { | |
77 var van = agenda.GetEventosPropuestos().FirstOrDefault(); | |
78 Assert.IsNotNull(van); | |
79 | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
29
diff
changeset
|
80 van.Actualizar(null, DateTime.Today.AddDays(5)); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
52
diff
changeset
|
81 var r = agenda.Publicar(van.Titulo, string.Empty, van.Fecha); |
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
52
diff
changeset
|
82 Assert.IsFalse(r.Succeful); |
20 | 83 } |
84 } | |
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
|
85 |
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
86 [Test] |
54 | 87 public void Intentar_obtener_un_evento_inexistente() |
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
|
88 { |
54 | 89 var idEventoNoExistente = new Guid("99999999999999999999999999999999"); |
90 | |
50
3ebe89c88caa
Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
45
diff
changeset
|
91 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); |
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
|
92 |
54 | 93 Assert.IsNull(agenda.GetEvento(idEventoNoExistente)); |
94 } | |
45 | 95 |
54 | 96 [Test] |
97 public void Intentar_proponer_evento_sin_titulo() | |
98 { | |
99 var repository = new Mock<IEventoRepository>(); | |
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
|
100 |
54 | 101 var agenda = new Agenda(null, null, repository.Object, DefaultPonenteRepository); |
102 | |
103 var r = agenda.Proponer(string.Empty, null); | |
104 Assert.IsFalse(r.Succeful); | |
105 | |
106 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); | |
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
|
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 |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
109 [Test] |
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
110 public void Intentar_proponer_evento_sin_usuario_autenticado() |
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
111 { |
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
112 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); |
45 | 113 |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
114 SetCurrentUser(null); |
45 | 115 |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
116 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Proponer("Inmortalidad de la meduza.", null)); |
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
117 } |
45 | 118 |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
119 [Test] |
54 | 120 public void Proponer_evento_correctamente() |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
121 { |
54 | 122 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); |
123 agenda.Proponer("Van propuesta", null); | |
45 | 124 |
54 | 125 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); |
126 Assert.IsNotNull(eventosPropuestos); | |
127 Assert.AreEqual(1, eventosPropuestos.Count); | |
128 Assert.AreEqual("Van propuesta", eventosPropuestos[0].Titulo); | |
129 } | |
130 | |
131 [Test] | |
132 public void Verificar_propuesta_separada_de_publicacion() | |
133 { | |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
134 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); |
45 | 135 |
54 | 136 agenda.Proponer("Van propuesta", null); |
137 var r = agenda.Publicar("Van publicada", "jjmontes", DateTime.Now); | |
138 Assert.IsTrue(r.Succeful); | |
139 | |
140 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); | |
141 IList<Evento> eventosPublicados = agenda.GetEventosPublicados(); | |
142 | |
143 Assert.AreEqual(1, eventosPropuestos.Count); | |
144 Assert.AreEqual(1, eventosPublicados.Count); | |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
145 } |
54 | 146 } |
20 | 147 } |