annotate Agendas/trunk/src/Agendas.Tests/PonentesTests.cs @ 29:016b9b9b8d3a

Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta última promoviendola a evento publicado.
author nelo@MTEySS.neluz.int
date Wed, 16 Mar 2011 08:25:02 -0300
parents 41b283d27e3e
children 3ebe89c88caa
rev   line source
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
1 using System;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
2 using AltNetHispano.Agendas.Domain;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
3 using Moq;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
4 using NUnit.Framework;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
5
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
6 namespace AltNetHispano.Agendas.Tests
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
7 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
8 [TestFixture]
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
9 public class PonentesTests : TestBase
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
10 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
11 [Test]
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
12 public void Publicar_van_con_ponente_registrado()
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
13 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
14 var publicador = new Mock<IPublicador>();
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
15 Evento evento = null;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
16 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
17
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
18 var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
19
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
20 agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com");
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
21
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
22 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
23
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
24 Assert.AreEqual(1, agenda.GetEventosPublicados().Count);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
25
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
26 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
27
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
28 Assert.IsNotNull(evento);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
29 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
30 Assert.AreEqual("fabiomaulo@gmail.com", evento.Ponente.Mail);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
31 Assert.AreEqual("@fabiomaulo", evento.Ponente.Twitter);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
32 Assert.AreEqual("http://fabiomaulo.blogspot.com", evento.Ponente.Blog);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
33 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
34
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
35 [Test]
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
36 public void Publicar_van_sin_ponente_registrado()
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
37 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
38 var publicador = new Mock<IPublicador>();
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
39 Evento evento = null;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
40 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
41
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
42 var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
43
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
44 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
45
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
46 Assert.AreEqual(1, agenda.GetEventosPublicados().Count);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
47
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
48 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
49
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
50 Assert.IsNotNull(evento);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
51 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
52 Assert.IsNullOrEmpty(evento.Ponente.Twitter);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
53 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
54
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
55 [Test]
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
56 public void Publicar_dos_vans_sin_ponente_registrado()
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
57 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
58 var publicador = new Mock<IPublicador>();
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
59
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
60 var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
61
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
62 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
63 agenda.Publicar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
64
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
65 Assert.AreEqual(2, agenda.GetEventosPublicados().Count);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
66
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
67 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(2));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
68
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
69 Assert.AreEqual(1, DefaultPonenteRepository.GetAll().Count);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
70 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
71 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
72 }