annotate Agendas/trunk/src/Agendas.Twitter.Tests/Publicador_tests.cs @ 186:71737419a839

Ticket 143: Test de unidad, y algo de configuración para acortar URL con servicio de Google.
author juanjose.montesdeocaarbos
date Tue, 09 Aug 2011 08:43:25 -0300
parents 734d3f0853bf
children 2d02adb79322
rev   line source
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
1 using System;
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
2 using AltNetHispano.Agendas.Domain;
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
3 using AltNetHispano.Agendas.Tests;
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
4 using AltNetHispano.Agendas.Twitter;
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
5 using Moq;
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
6 using NUnit.Framework;
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
7
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
8 namespace Agendas.Twitter.Tests
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
9 {
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
10 [TestFixture]
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
11 public class Publicador_tests : TestBase
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
12 {
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
13 [Test]
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
14 public void Proponer_evento()
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
15 {
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
16 var adapter = new Mock<ITwitterAdapter>();
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 145
diff changeset
17
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 145
diff changeset
18 string message;
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
19 string twitt = null;
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 145
diff changeset
20 adapter.Setup(a => a.Update(It.IsAny<string>(), out message)).Returns(true).Callback<string, string>((status, m) => twitt = status);
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
21
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
22 var publicador = new TwitterPublicador(adapter.Object);
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
23
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents: 111
diff changeset
24 var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
25
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
26 agenda.Proponer("Identity Providers", null, null, TipoEvento.GrupoEstudio);
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
27
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 145
diff changeset
28 adapter.Verify(a => a.Update(It.IsAny<string>(), out message), Times.Once());
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
29
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
30 Assert.That(twitt, Is.StringContaining("GrupoEstudio"));
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
31 }
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
32
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
33 [Test]
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
34 public void Proponer_y_agendar_evento()
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
35 {
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
36 var adapter = new Mock<ITwitterAdapter>();
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 145
diff changeset
37
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 145
diff changeset
38 string message;
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
39 string twitt = null;
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 145
diff changeset
40 adapter.Setup(a => a.Update(It.IsAny<string>(), out message)).Returns(true).Callback<string, string>((status, m) => twitt = status);
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
41
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
42 var publicador = new TwitterPublicador(adapter.Object);
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
43
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents: 111
diff changeset
44 var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
45 agenda.Proponer("Identity Providers", null, null, TipoEvento.GrupoEstudio);
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
46
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 145
diff changeset
47 adapter.Verify(a => a.Update(It.IsAny<string>(), out message), Times.Once());
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
48
145
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 138
diff changeset
49 agenda.Agendar("Identity Providers", TestsHelper.GetOrCreatePonente("Nelo Pauselli"), DateTime.Today.AddDays(7), null, TipoEvento.GrupoEstudio);
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
50
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 145
diff changeset
51 adapter.Verify(a => a.Update(It.IsAny<string>(), out message), Times.Exactly(2));
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
52
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
53 Assert.That(twitt, Is.StringContaining("@nelopauselli"));
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
54
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
55 }
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
56 }
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
57 }