Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/PonentesTests.cs @ 59:4a4e12e32256
Poder quitar un ponente de un evento propuesto
author | nelopauselli |
---|---|
date | Mon, 16 May 2011 20:32:37 -0300 |
parents | 3059a5f8930f |
children | cb3f7b47c1f0 |
rev | line source |
---|---|
24 | 1 using System; |
2 using AltNetHispano.Agendas.Domain; | |
3 using Moq; | |
4 using NUnit.Framework; | |
5 | |
6 namespace AltNetHispano.Agendas.Tests | |
7 { | |
8 [TestFixture] | |
9 public class PonentesTests : TestBase | |
10 { | |
11 [Test] | |
54 | 12 public void Publicar_dos_eventos_con_el_mismo_ponente_no_registrado() |
13 { | |
14 var publicador = new Mock<IPublicador>(); | |
15 | |
16 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); | |
17 | |
18 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); | |
19 agenda.Publicar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5)); | |
20 | |
21 Assert.AreEqual(2, agenda.GetEventosPublicados().Count); | |
22 | |
23 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(2)); | |
24 | |
25 Assert.AreEqual(1, DefaultPonenteRepository.GetAll().Count); | |
26 } | |
27 | |
28 [Test] | |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
29 public void Publicar_evento_con_ponente_registrado() |
24 | 30 { |
31 var publicador = new Mock<IPublicador>(); | |
32 Evento evento = null; | |
33 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e); | |
34 | |
50
3ebe89c88caa
Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
24
diff
changeset
|
35 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); |
24 | 36 |
37 agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com"); | |
38 | |
39 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); | |
40 | |
41 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); | |
42 | |
43 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
44 | |
45 Assert.IsNotNull(evento); | |
46 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); | |
47 Assert.AreEqual("fabiomaulo@gmail.com", evento.Ponente.Mail); | |
48 Assert.AreEqual("@fabiomaulo", evento.Ponente.Twitter); | |
49 Assert.AreEqual("http://fabiomaulo.blogspot.com", evento.Ponente.Blog); | |
50 } | |
51 | |
52 [Test] | |
51
4a63a73e38e4
Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents:
50
diff
changeset
|
53 public void Publicar_evento_sin_ponente_registrado() |
24 | 54 { |
55 var publicador = new Mock<IPublicador>(); | |
56 Evento evento = null; | |
57 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e); | |
58 | |
50
3ebe89c88caa
Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
24
diff
changeset
|
59 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository); |
24 | 60 |
61 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); | |
62 | |
63 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); | |
64 | |
65 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
66 | |
67 Assert.IsNotNull(evento); | |
68 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); | |
69 Assert.IsNullOrEmpty(evento.Ponente.Twitter); | |
70 } | |
59 | 71 |
72 [Test] | |
73 public void Quitar_ponente_de_un_evento() | |
74 { | |
75 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository); | |
76 | |
77 const string titulo = "Audit (parallel model) con NHibernate 3"; | |
78 Guid eventoId; | |
79 | |
80 agenda.Proponer(titulo, "Fabio"); | |
81 { | |
82 var eventos = agenda.GetEventosPropuestos(); | |
83 Assert.AreEqual(1, eventos.Count); | |
84 | |
85 Evento evento = eventos[0]; | |
86 Assert.AreEqual("Fabio", evento.Ponente.Nombre); | |
87 | |
88 eventoId = evento.Id; | |
89 } | |
90 | |
91 agenda.ModificarPropuesta(eventoId, titulo, null); | |
92 { | |
93 var eventos = agenda.GetEventosPropuestos(); | |
94 Assert.AreEqual(1, eventos.Count); | |
95 | |
96 Evento evento = eventos[0]; | |
97 Assert.IsNull(evento.Ponente); | |
98 } | |
99 } | |
24 | 100 } |
101 } |