annotate Agendas/trunk/src/Agendas.Tests/Blog/PublicadorTests.cs @ 103:23325dddddcc

Persistencia del estado de los eventos
author jorge.rowies
date Sun, 05 Jun 2011 13:06:23 -0300
parents cc91817a4206
children 1d820f17fc75
rev   line source
99
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
1 using System;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
2 using System.Collections.Generic;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
3 using System.Linq;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
4 using System.Text;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
5 using Agendas.Blog;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
6 using Agendas.Blog.Impl;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
7 using AltNetHispano.Agendas.Domain;
100
jorge.rowies
parents: 99
diff changeset
8 using AltNetHispano.Agendas.Repositories.Memory;
99
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
9 using Moq;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
10 using NUnit.Framework;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
11
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
12 namespace AltNetHispano.Agendas.Tests.Blog
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
13 {
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
14 [TestFixture]
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
15 public class PublicadorTests
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
16 {
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
17 [SetUp]
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
18 public void SetearUsuario()
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
19 {
100
jorge.rowies
parents: 99
diff changeset
20 var seguridad = new Mock<ISeguridad>();
jorge.rowies
parents: 99
diff changeset
21 seguridad.Setup(s => s.GetUserName()).Returns("neluz");
jorge.rowies
parents: 99
diff changeset
22 IdentityContext.Init(seguridad.Object, new PersonaRepository());
jorge.rowies
parents: 99
diff changeset
23 }
99
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
24
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
25 [Test]
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
26 public void El_publicador_debe_disparar_los_writers_segun_la_accion_de_cada_track()
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
27 {
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
28 var eventoAgendar = Evento.Agendar(null, null, DateTime.MinValue, null);
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
29 var eventoPublicar = Evento.Agendar(null, null, DateTime.MinValue, null);
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
30
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
31 var agendarPostWriter = new Mock<IPostWriter>();
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
32 agendarPostWriter.Setup(writer => writer.WritePost(eventoAgendar));
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
33
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
34 var publicarPostWriter = new Mock<IPostWriter>();
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
35 publicarPostWriter.Setup(writer => writer.WritePost(eventoPublicar));
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
36
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
37 var factory = new Mock<IPostWriterFactory>();
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
38 factory.Setup(f => f.GetPostWriter(Accion.Agendar)).Returns(agendarPostWriter.Object);
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
39 factory.Setup(f => f.GetPostWriter(Accion.Publicar)).Returns(publicarPostWriter.Object);
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
40
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
41 var publicador = new BlogPublicador(factory.Object);
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
42 publicador.Publicar(new List<Track>
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
43 {
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
44 new Track(eventoAgendar, Accion.Agendar),
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
45 new Track(eventoPublicar, Accion.Publicar)
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
46 });
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
47
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
48 factory.Verify(f => f.GetPostWriter(Accion.Agendar), Times.Once());
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
49 factory.Verify(f => f.GetPostWriter(Accion.Publicar), Times.Once());
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
50
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
51 agendarPostWriter.Verify(pw => pw.WritePost(eventoAgendar), Times.Once());
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
52 publicarPostWriter.Verify(pw => pw.WritePost(eventoPublicar), Times.Once());
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
53 }
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
54 }
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
55 }