Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Tests/PonentesTests.cs @ 24:41b283d27e3e
Ponentes como entidad
Agenda no es una entidad persistente (por ahora)
author | nelo@MTEySS.neluz.int |
---|---|
date | Tue, 15 Mar 2011 07:49:53 -0300 |
parents | |
children | 3ebe89c88caa |
comparison
equal
deleted
inserted
replaced
23:a85674a7aa7a | 24:41b283d27e3e |
---|---|
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] | |
12 public void Publicar_van_con_ponente_registrado() | |
13 { | |
14 var publicador = new Mock<IPublicador>(); | |
15 Evento evento = null; | |
16 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e); | |
17 | |
18 var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository); | |
19 | |
20 agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com"); | |
21 | |
22 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); | |
23 | |
24 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); | |
25 | |
26 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
27 | |
28 Assert.IsNotNull(evento); | |
29 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); | |
30 Assert.AreEqual("fabiomaulo@gmail.com", evento.Ponente.Mail); | |
31 Assert.AreEqual("@fabiomaulo", evento.Ponente.Twitter); | |
32 Assert.AreEqual("http://fabiomaulo.blogspot.com", evento.Ponente.Blog); | |
33 } | |
34 | |
35 [Test] | |
36 public void Publicar_van_sin_ponente_registrado() | |
37 { | |
38 var publicador = new Mock<IPublicador>(); | |
39 Evento evento = null; | |
40 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e); | |
41 | |
42 var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository); | |
43 | |
44 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); | |
45 | |
46 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); | |
47 | |
48 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
49 | |
50 Assert.IsNotNull(evento); | |
51 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); | |
52 Assert.IsNullOrEmpty(evento.Ponente.Twitter); | |
53 } | |
54 | |
55 [Test] | |
56 public void Publicar_dos_vans_sin_ponente_registrado() | |
57 { | |
58 var publicador = new Mock<IPublicador>(); | |
59 | |
60 var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository); | |
61 | |
62 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); | |
63 agenda.Publicar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5)); | |
64 | |
65 Assert.AreEqual(2, agenda.GetEventosPublicados().Count); | |
66 | |
67 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(2)); | |
68 | |
69 Assert.AreEqual(1, DefaultPonenteRepository.GetAll().Count); | |
70 } | |
71 } | |
72 } |