view Agendas/trunk/src/Agendas.Tests/TestBase.cs @ 101:9bfdd5bf3ad2

Manejo de estados de los Eventos mediante state pattern (primer version)
author jorge.rowies
date Sun, 05 Jun 2011 11:10:32 -0300
parents db4b1e2cae49
children 0bca45e1e664
line wrap: on
line source

using AltNetHispano.Agendas.Domain;
using AltNetHispano.Agendas.Domain.Repositories;
using AltNetHispano.Agendas.Domain.Services;
using AltNetHispano.Agendas.Repositories.Memory;
using Moq;
using NUnit.Framework;

namespace AltNetHispano.Agendas.Tests
{
	public class TestBase
	{
		protected static IEventoRepository DefaultEventoRepository
		{
			get { return new EventoRepository(); }
		}

		protected static IPersonaRepository DefaultPersonaRepository
		{
			get { return new PersonaRepository(); }
		}

		[SetUp]
		public void LimpiarEventos()
		{
			EventoRepository.Clear();
		}

		[SetUp]
		public void LimpiarPonentes()
		{
			PersonaRepository.Clear();
			SetCurrentUser("nelopauselli", "Nelo Pauselli");
		}

		protected static void SetCurrentUser(string username, string nombre)
		{
			const IdentityProviderEnum identityProvider = IdentityProviderEnum.Twitter;

			var seguridad = new Mock<ISeguridad>();
			seguridad.Setup(s => s.GetUserName()).Returns(username);
			
			IPersonaRepository personaRepository = new PersonaRepository();
			var service = new PersonaService(personaRepository);
			service.Validate(identityProvider, username, nombre);

			IdentityContext.Init(seguridad.Object, personaRepository);

		}
	}
}