annotate Agendas/trunk/src/Agendas.Twitter.Tests/Publicador_tests.cs @ 134:a4ef6874ec81

Se termina prueba unitaria que verifica que se cree el evento solo si la acción es Agendar.
author alabra
date Sun, 17 Jul 2011 13:58:31 -0400
parents 90ce239cfa6d
children 62791999ad01
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 using Twitterizer;
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
8
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
9 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
10 {
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
11 [TestFixture]
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
12 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
13 {
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
14 [Test]
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
15 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
16 {
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
17 var adapter = new Mock<ITwitterAdapter>();
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
18 string twitt = null;
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
19
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
20 var response = new TwitterResponse<TwitterStatus>
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 Result =
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
23 RequestResult.Success
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
24 };
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 adapter.Setup(a => a.UpdateStatus(It.IsAny<OAuthTokens>(), It.IsAny<string>()))
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
27 .Returns(response)
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
28 .Callback<OAuthTokens, string>((tokens, status) => twitt = status);
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 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
31
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
32 var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
33
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
34 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
35
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
36 adapter.Verify(a => a.UpdateStatus(It.IsAny<OAuthTokens>(), It.IsAny<string>()), Times.Once());
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
37
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
38 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
39 }
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
40
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
41 [Test]
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
42 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
43 {
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
44 var adapter = new Mock<ITwitterAdapter>();
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
45 string twitt = null;
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
46
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
47 var response = new TwitterResponse<TwitterStatus>
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
48 {
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
49 Result =
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
50 RequestResult.Success
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
51 };
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 adapter.Setup(a => a.UpdateStatus(It.IsAny<OAuthTokens>(), It.IsAny<string>()))
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
54 .Returns(response)
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
55 .Callback<OAuthTokens, string>((tokens, status) => twitt = status);
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 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
58
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
59 var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
60 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
61
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
62 adapter.Verify(a => a.UpdateStatus(It.IsAny<OAuthTokens>(), It.IsAny<string>()), Times.Once());
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
63
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
64 agenda.Agendar("Identity Providers", "Nelo Pauselli", DateTime.Today.AddDays(7), null, TipoEvento.GrupoEstudio);
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
65
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
66 adapter.Verify(a => a.UpdateStatus(It.IsAny<OAuthTokens>(), It.IsAny<string>()), Times.Exactly(2));
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
67
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
68 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
69
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
70 }
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
71 }
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff changeset
72 }