Mercurial > altnet-hispano
changeset 6:2912c1dd0e6b
Se verificó mediante un test que las propuestas y las publicaciones se estaban mezclando. Se corrigió el bug.
author | juanjose.montesdeocaarbos |
---|---|
date | Tue, 08 Feb 2011 07:47:47 -0300 |
parents | 51294f4e492f |
children | deee2ca97f5b |
files | Agendas/trunk/src/Agendas.Domain/Agenda.cs Agendas/trunk/src/Agendas.Tests/AgendaTests.cs |
diffstat | 2 files changed, 49 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Tue Feb 08 00:12:08 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Tue Feb 08 07:47:47 2011 -0300 @@ -6,7 +6,8 @@ { public class Agenda { - private readonly IList<Evento> _eventos; + private readonly IList<Evento> _eventosPropuestos; + private readonly IList<Evento> _eventosPublicados; private readonly IPublicador _publicador; private readonly IRecordador _recordador; @@ -14,24 +15,30 @@ { _publicador = publicador; _recordador = recordador; - _eventos = new List<Evento>(); + _eventosPropuestos = new List<Evento>(); + _eventosPublicados = new List<Evento>(); } public Guid Id { get; set; } - public IEnumerable<Evento> Eventos - { - get { return _eventos; } - } + public IEnumerable<Evento> EventosPropuestos + { + get { return _eventosPropuestos; } + } - public void Publicar(Evento evento) + public IEnumerable<Evento> EventosPublicados + { + get { return _eventosPublicados; } + } + + public void Publicar(Evento evento) { if (!evento.Fecha.HasValue) throw new ValidationException(); if (_publicador != null) _publicador.Publicar(evento); - _eventos.Add(evento); + _eventosPublicados.Add(evento); } public void Publicar(Van van) @@ -41,7 +48,6 @@ Publicar(van as Evento); } - public void Recordar(Evento evento) { if (_recordador != null) @@ -52,12 +58,17 @@ { if (string.IsNullOrWhiteSpace(van.Titulo)) throw new ValidationException(); - _eventos.Add(van); + _eventosPropuestos.Add(van); } - public IList<Evento> GetEventosPropuestos() - { - return _eventos; - } - } + public IList<Evento> GetEventosPropuestos() + { + return _eventosPropuestos; + } + + public IList<Evento> GetEventosPublicados() + { + return _eventosPublicados; + } + } } \ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs Tue Feb 08 00:12:08 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs Tue Feb 08 07:47:47 2011 -0300 @@ -36,7 +36,7 @@ var van = EventoObjectMother.GetVanValidaParaPublicar(); agenda.Publicar(van); - Assert.AreEqual(1, agenda.Eventos.Count()); + Assert.AreEqual(1, agenda.EventosPublicados.Count()); publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); } @@ -51,12 +51,11 @@ var van = EventoObjectMother.GetVanValidaParaPublicar(); Assert.Throws<Exception>(() => agenda.Publicar(van)); - Assert.AreEqual(0, agenda.Eventos.Count()); + Assert.AreEqual(0, agenda.EventosPublicados.Count()); publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); } - [Test] public void Publicar_van_multiples_publicadores() { @@ -90,7 +89,7 @@ publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1)); - Assert.AreEqual(1, agenda.Eventos.Count()); + Assert.AreEqual(1, agenda.EventosPublicados.Count()); } [Test] @@ -107,6 +106,24 @@ Assert.AreEqual("Van propuesta", eventosPropuestos[0].Titulo); } + [Test] + public void Verificar_propuesta_separada_de_publicacion() + { + var agenda = new Agenda(null, null); + + var vanPropuesta = new Van { Titulo = "Van propuesta" }; + var vanPublicada = EventoObjectMother.GetVanValidaParaPublicar(); + + agenda.Proponer(vanPropuesta); + agenda.Publicar(vanPublicada); + + IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); + IList<Evento> eventosPublicados = agenda.GetEventosPublicados(); + + Assert.AreEqual(1, eventosPropuestos.Count); + Assert.AreEqual(1, eventosPublicados.Count); + } + [Test] public void Propuesta_de_van_sin_titulo() { @@ -117,7 +134,6 @@ Assert.AreEqual(Guid.Empty, van.Id); } - [Test] public void Agendar_van_propuesta_sin_fecha() { @@ -154,7 +170,6 @@ } } - [Test] public void Van_crud() { @@ -175,7 +190,7 @@ Agenda agenda = agendaRepository.Get(vanId); Assert.IsNotNull(agenda); - Assert.AreEqual(1, agenda.Eventos.Count()); + Assert.AreEqual(1, agenda.EventosPublicados.Count()); agenda.Publicar(EventoObjectMother.GetCafeValidoParaPublicar()); agendaRepository.Update(agenda); @@ -187,7 +202,7 @@ Agenda agenda = agendaRepository.Get(vanId); Assert.IsNotNull(agenda); - Assert.AreEqual(2, agenda.Eventos.Count()); + Assert.AreEqual(2, agenda.EventosPublicados.Count()); agendaRepository.Delete(agenda); }