view Agendas/trunk/src/Agendas.Tests/TrackTests.cs @ 106:80c22175c9b5

agregado de tipo de evento (van, cafe, grupoestudio) agregado de tipo de evento en el alta de evento y en el alta de propuestas desde la app web algunas correcciones en el publicador del blog agregado de textos para publicar en el blog eventos de tipo alt.net cafe
author jorge.rowies
date Mon, 06 Jun 2011 14:07:12 -0300
parents db4b1e2cae49
children 0bca45e1e664
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, TipoEvento.Van);
			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, TipoEvento.Van);
			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
		}
	}
}