view Agendas/trunk/src/Agendas.Tests/TrackTests.cs @ 94:db4b1e2cae49

Cambio del nombre de la clase Ponente a Persona Se agrega la clase Cuenta para identificar cada una de las cuentas con que se puede autenticar una persona Alta Automatica de cuentas de twitter creando la persona
author Nelo@Kenia.neluz.int
date Sat, 04 Jun 2011 12:11:17 -0300
parents 26d0513a8410
children 80c22175c9b5
line wrap: on
line source

using System;
using System.Linq;
using AltNetHispano.Agendas.Domain;
using NUnit.Framework;

namespace AltNetHispano.Agendas.Tests
{
	[TestFixture]
	public class TrackTests : TestBase
	{
		private const string urlInvitacion = "http://groups.google.com/group/altnet-hispano/browse_thread/thread/65d6d26eb381386e";

		[Test]
		public void Track_al_publicar_y_modificar_evento()
		{
			var repository = DefaultEventoRepository;

			var agenda = new Agenda(null, repository, DefaultPersonaRepository);

			var fecha = DateTime.Now.AddDays(5);
			agenda.Agendar("Html 5", "jjmontes", fecha, urlInvitacion);
			var evento = repository.GetEventosConFecha().First();

			Assert.AreEqual(1, evento.Tracks.Count());
			var ultimo = evento.Tracks.Last();
			Assert.AreEqual(evento, ultimo.Evento);
			Assert.AreEqual(Accion.Agendar, ultimo.Accion);
			Assert.IsNotNull(ultimo.Usuario);
			Assert.AreEqual("Nelo Pauselli", ultimo.Usuario.Nombre);

			agenda.ModificarEvento(evento.Id, "Html 5", "otro ponente", fecha, urlInvitacion);
			Assert.AreEqual(2, evento.Tracks.Count());
			ultimo = evento.Tracks.Last();
			Assert.AreEqual(evento, ultimo.Evento);
			Assert.AreEqual(Accion.Modificar, ultimo.Accion);
			Assert.IsNotNull(ultimo.Usuario);
			Assert.AreEqual("Nelo Pauselli", ultimo.Usuario.Nombre);

			agenda.ModificarEvento(evento.Id, "Html 5 y Css 3", "otro ponente", fecha, urlInvitacion);
			Assert.AreEqual(3, evento.Tracks.Count());
			ultimo = evento.Tracks.Last();
			Assert.AreEqual(evento, ultimo.Evento);
			Assert.AreEqual(Accion.CambiarTitulo, ultimo.Accion);
			Assert.IsNotNull(ultimo.Usuario);
			Assert.AreEqual("Nelo Pauselli", ultimo.Usuario.Nombre);
		}

		[Test]
		public void Track_al_publicar_y_confirmar_evento()
		{
			var repository = DefaultEventoRepository;

			var agenda = new Agenda(null, repository, DefaultPersonaRepository);

			agenda.Agendar("Html 5", "jjmontes", DateTime.Now,
				urlInvitacion);
			var evento = repository.GetEventosConFecha().First();

			Assert.AreEqual(1, evento.Tracks.Count());
			Assert.AreEqual(Accion.Agendar, evento.Tracks.Last().Accion);

			//TODO: confirmar evento y evaluar .tracks
		}
	}
}