Mercurial > altnet-hispano
view 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 |
line wrap: on
line source
using System; using AltNetHispano.Agendas.Domain; using Moq; using NUnit.Framework; namespace AltNetHispano.Agendas.Tests { [TestFixture] public class PonentesTests : TestBase { [Test] public void Publicar_van_con_ponente_registrado() { var publicador = new Mock<IPublicador>(); Evento evento = null; publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e); var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository); agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com"); agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); Assert.AreEqual(1, agenda.GetEventosPublicados().Count); publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); Assert.IsNotNull(evento); Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); Assert.AreEqual("fabiomaulo@gmail.com", evento.Ponente.Mail); Assert.AreEqual("@fabiomaulo", evento.Ponente.Twitter); Assert.AreEqual("http://fabiomaulo.blogspot.com", evento.Ponente.Blog); } [Test] public void Publicar_van_sin_ponente_registrado() { var publicador = new Mock<IPublicador>(); Evento evento = null; publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e); var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository); agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); Assert.AreEqual(1, agenda.GetEventosPublicados().Count); publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); Assert.IsNotNull(evento); Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre); Assert.IsNullOrEmpty(evento.Ponente.Twitter); } [Test] public void Publicar_dos_vans_sin_ponente_registrado() { var publicador = new Mock<IPublicador>(); var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository); agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26)); agenda.Publicar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5)); Assert.AreEqual(2, agenda.GetEventosPublicados().Count); publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(2)); Assert.AreEqual(1, DefaultPonenteRepository.GetAll().Count); } } }