view Agendas/trunk/src/Agendas.Twitter.Tests/Publicador_tests.cs @ 132:45be716763c3

Se agrega configuración para el uso de Google Calendar. OJO que no se ha puesto el valor de la password de la cuenta de GCalendar.
author alabra
date Sun, 10 Jul 2011 23:55:56 -0400
parents 90ce239cfa6d
children 62791999ad01
line wrap: on
line source

using System;
using AltNetHispano.Agendas.Domain;
using AltNetHispano.Agendas.Tests;
using AltNetHispano.Agendas.Twitter;
using Moq;
using NUnit.Framework;
using Twitterizer;

namespace Agendas.Twitter.Tests
{
	[TestFixture]
	public class Publicador_tests : TestBase
	{
		[Test]
		public void Proponer_evento()
		{
			var adapter = new Mock<ITwitterAdapter>();
			string twitt = null;

			var response = new TwitterResponse<TwitterStatus>
			               	{
			               		Result =
			               			RequestResult.Success
			               	};

			adapter.Setup(a => a.UpdateStatus(It.IsAny<OAuthTokens>(), It.IsAny<string>()))
				.Returns(response)
				.Callback<OAuthTokens, string>((tokens, status) => twitt = status);

			var publicador = new TwitterPublicador(adapter.Object);

			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);

			agenda.Proponer("Identity Providers", null, null, TipoEvento.GrupoEstudio);

			adapter.Verify(a => a.UpdateStatus(It.IsAny<OAuthTokens>(), It.IsAny<string>()), Times.Once());

			Assert.That(twitt, Is.StringContaining("GrupoEstudio"));
		}

		[Test]
		public void Proponer_y_agendar_evento()
		{
			var adapter = new Mock<ITwitterAdapter>();
			string twitt = null;

			var response = new TwitterResponse<TwitterStatus>
			{
				Result =
					RequestResult.Success
			};

			adapter.Setup(a => a.UpdateStatus(It.IsAny<OAuthTokens>(), It.IsAny<string>()))
				.Returns(response)
				.Callback<OAuthTokens, string>((tokens, status) => twitt = status);

			var publicador = new TwitterPublicador(adapter.Object);

			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
			agenda.Proponer("Identity Providers", null, null, TipoEvento.GrupoEstudio);

			adapter.Verify(a => a.UpdateStatus(It.IsAny<OAuthTokens>(), It.IsAny<string>()), Times.Once());

			agenda.Agendar("Identity Providers", "Nelo Pauselli", DateTime.Today.AddDays(7), null, TipoEvento.GrupoEstudio);

			adapter.Verify(a => a.UpdateStatus(It.IsAny<OAuthTokens>(), It.IsAny<string>()), Times.Exactly(2));

			Assert.That(twitt, Is.StringContaining("@nelopauselli"));

		}
	}
}