Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/PonentesTests.cs @ 63:963b71ea6028
Repositorios con NH
author | nelopauselli |
---|---|
date | Tue, 17 May 2011 14:02:25 -0300 |
parents | cb3f7b47c1f0 |
children | c7264bfc4b71 |
rev | line source |
---|---|
24 | 1 using System; |
61
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
2 using System.Collections.Generic; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
3 using System.Linq; |
24 | 4 using AltNetHispano.Agendas.Domain; |
5 using Moq; | |
6 using NUnit.Framework; | |
7 | |
8 namespace AltNetHispano.Agendas.Tests | |
9 { | |
10 [TestFixture] | |
11 public class PonentesTests : TestBase | |
12 { | |
13 [Test] | |
54 | 14 public void Publicar_dos_eventos_con_el_mismo_ponente_no_registrado() |
15 { | |
16 var publicador = new Mock<IPublicador>(); | |
17 | |
18 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); | |
19 | |
20 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); | |
21 agenda.Publicar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5)); | |
22 | |
61
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
23 var eventos = agenda.GetEventosPublicados(); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
24 Assert.AreEqual(2, eventos.Count); |
54 | 25 |
26 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(2)); | |
27 | |
28 Assert.AreEqual(1, DefaultPonenteRepository.GetAll().Count); | |
61
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
29 |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
30 var evento = eventos[0]; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
31 |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
32 Assert.IsNotNull(evento.Ponente); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
33 var ponente = evento.Ponente; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
34 Assert.IsNotNull(evento.Ponente.Eventos); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
35 Assert.Contains(eventos[0], new List<Evento>(ponente.Eventos)); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
36 Assert.Contains(eventos[1], new List<Evento>(ponente.Eventos)); |
54 | 37 } |
38 | |
39 [Test] | |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
40 public void Publicar_evento_con_ponente_registrado() |
24 | 41 { |
42 var publicador = new Mock<IPublicador>(); | |
43 Evento evento = null; | |
44 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e); | |
45 | |
50
3ebe89c88caa
Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
24
diff
changeset
|
46 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); |
24 | 47 |
48 agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com"); | |
49 | |
50 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); | |
51 | |
52 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); | |
53 | |
54 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
55 | |
56 Assert.IsNotNull(evento); | |
57 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); | |
58 Assert.AreEqual("fabiomaulo@gmail.com", evento.Ponente.Mail); | |
59 Assert.AreEqual("@fabiomaulo", evento.Ponente.Twitter); | |
60 Assert.AreEqual("http://fabiomaulo.blogspot.com", evento.Ponente.Blog); | |
61 } | |
62 | |
63 [Test] | |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
64 public void Publicar_evento_sin_ponente_registrado() |
24 | 65 { |
66 var publicador = new Mock<IPublicador>(); | |
67 Evento evento = null; | |
68 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e); | |
69 | |
50
3ebe89c88caa
Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
24
diff
changeset
|
70 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); |
24 | 71 |
72 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); | |
73 | |
74 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); | |
75 | |
76 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
77 | |
78 Assert.IsNotNull(evento); | |
79 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); | |
80 Assert.IsNullOrEmpty(evento.Ponente.Twitter); | |
81 } | |
59 | 82 |
83 [Test] | |
84 public void Quitar_ponente_de_un_evento() | |
85 { | |
86 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); | |
87 | |
88 const string titulo = "Audit (parallel model) con NHibernate 3"; | |
89 Guid eventoId; | |
90 | |
91 agenda.Proponer(titulo, "Fabio"); | |
61
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
92 Ponente ponente; |
59 | 93 { |
94 var eventos = agenda.GetEventosPropuestos(); | |
95 Assert.AreEqual(1, eventos.Count); | |
96 | |
97 Evento evento = eventos[0]; | |
98 Assert.AreEqual("Fabio", evento.Ponente.Nombre); | |
99 | |
100 eventoId = evento.Id; | |
61
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
101 ponente = evento.Ponente; |
59 | 102 } |
103 | |
104 agenda.ModificarPropuesta(eventoId, titulo, null); | |
105 { | |
106 var eventos = agenda.GetEventosPropuestos(); | |
107 Assert.AreEqual(1, eventos.Count); | |
108 | |
109 Evento evento = eventos[0]; | |
110 Assert.IsNull(evento.Ponente); | |
111 } | |
61
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
112 |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
113 Assert.AreEqual(0, ponente.Eventos.Count()); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
114 } |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
115 |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
116 [Test] |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
117 public void Cambiar_ponente_de_un_evento() |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
118 { |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
119 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
120 |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
121 const string titulo = "Audit (parallel model) con NHibernate 3"; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
122 Guid eventoId; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
123 |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
124 agenda.Proponer(titulo, "Fabio"); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
125 Ponente ponente1; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
126 { |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
127 var eventos = agenda.GetEventosPropuestos(); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
128 Assert.AreEqual(1, eventos.Count); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
129 |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
130 Evento evento = eventos[0]; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
131 Assert.AreEqual("Fabio", evento.Ponente.Nombre); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
132 |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
133 eventoId = evento.Id; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
134 ponente1 = evento.Ponente; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
135 } |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
136 |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
137 agenda.ModificarPropuesta(eventoId, titulo, "José"); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
138 Ponente ponente2; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
139 { |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
140 var eventos = agenda.GetEventosPropuestos(); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
141 Assert.AreEqual(1, eventos.Count); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
142 |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
143 Evento evento = eventos[0]; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
144 Assert.IsNotNull(evento.Ponente); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
145 ponente2 = evento.Ponente; |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
146 } |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
147 |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
148 Assert.AreEqual(0, ponente1.Eventos.Count()); |
cb3f7b47c1f0
Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents:
59
diff
changeset
|
149 Assert.AreEqual(1, ponente2.Eventos.Count()); |
59 | 150 } |
24 | 151 } |
152 } |