annotate Agendas/trunk/src/Agendas.Tests/Blog/PublicadorTests.cs @ 99:3027c64344bd

agregado de llamadas a web service para crear posts en el blog de la comunidad agregado de tests sobre el publicador de blogs agregado de tests sobre el adapter del web service
author jorge.rowies
date Sat, 04 Jun 2011 22:33:05 -0300
parents
children cc91817a4206
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;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
8 using Moq;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
9 using NUnit.Framework;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
10
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
11 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
12 {
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
13 [TestFixture]
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
14 public class PublicadorTests
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
15 {
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
16 [SetUp]
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
17 public void SetearUsuario()
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
18 {
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
19 var seguridad = new Mock<ISeguridad>();
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
20 seguridad.Setup(s => s.GetUserName()).Returns("neluz");
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
21 IdentityContext.Current = seguridad.Object;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
22 }
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
23
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
24 [Test]
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
25 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
26 {
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
27 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
28 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
29
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
30 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
31 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
32
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
33 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
34 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
35
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
36 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
37 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
38 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
39
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
40 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
41 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
42 {
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
43 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
44 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
45 });
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 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
48 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
49
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff changeset
50 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
51 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
52 }
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 }