annotate Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs @ 255:50442a103281

Ticket #190: Que el listado de Personas venga ordenado por Nombre.
author juanjose.montesdeocaarbos
date Mon, 17 Oct 2011 08:54:45 -0300
parents 31fb96912d37
children 72a96459f910
rev   line source
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
1 using System;
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
2 using System.Collections.Generic;
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
3 using System.Linq;
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
4 using AltNetHispano.Agendas.Domain;
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
5 using AltNetHispano.Agendas.Domain.Exceptions;
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
6 using AltNetHispano.Agendas.Domain.Repositories;
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
7 using Moq;
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
8 using NUnit.Framework;
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
9
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
10 namespace AltNetHispano.Agendas.Tests
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
11 {
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
12 [TestFixture]
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
13 public class PropuestasTests : TestBase
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
14 {
70
c7264bfc4b71 agregado de properties en clase Evento (UrlInvitacion, UrlWiki, NumeroOrden)
jorge.rowies
parents: 54
diff changeset
15 private const string urlInvitacion = "http://groups.google.com/group/altnet-hispano/browse_thread/thread/65d6d26eb381386e";
c7264bfc4b71 agregado de properties en clase Evento (UrlInvitacion, UrlWiki, NumeroOrden)
jorge.rowies
parents: 54
diff changeset
16
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
17 [Test]
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
18 public void Crear_modificar_y_publicar_evento_propuesto()
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
19 {
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 197
diff changeset
20 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
21
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
22 agenda.Proponer("Van", null, urlInvitacion, TipoEvento.Van);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
23 {
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
24 IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
25 IList<Evento> eventosAgendados = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
26
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
27 Assert.AreEqual(1, eventosPropuestos.Count);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
28 Assert.AreEqual(0, eventosAgendados.Count);
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
29
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
30 var evento = eventosPropuestos.FirstOrDefault();
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 200
diff changeset
31 agenda.ModificarPropuesta(evento.Id, "Van 2", new[]{TestsHelper.GetOrCreatePonente("otro ponente")}, urlInvitacion);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
32
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
33 eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
34 Assert.AreEqual(1, eventosPropuestos.Count);
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
35
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
36 evento = eventosPropuestos.FirstOrDefault();
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
37 Assert.AreEqual("Van 2", evento.Titulo);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 200
diff changeset
38
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 200
diff changeset
39 var ponente = evento.Ponentes.First();
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 200
diff changeset
40 Assert.AreEqual("otro ponente", ponente.Nombre);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
41 }
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
42
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
43 var fechaInicio = DateTime.Now.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
44 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 200
diff changeset
45 var r = agenda.Agendar("Van 2", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
46 urlInvitacion, TipoEvento.Van);
53
d149bfea3892 Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents: 52
diff changeset
47 Assert.IsTrue(r.Succeful);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
48 {
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
49 IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
50 IList<Evento> eventosAgendados = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
51
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
52 Assert.AreEqual(0, eventosPropuestos.Count);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
53 Assert.AreEqual(1, eventosAgendados.Count);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
54 }
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
55 }
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
56
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
57 [Test]
51
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
58 public void Intentar_agendar_evento_propuesto_sin_indicar_fecha()
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
59 {
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 197
diff changeset
60 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
61
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
62 {
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
63 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
64 }
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
65
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
66 {
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
67 var van = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).FirstOrDefault();
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
68 Assert.IsNotNull(van);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 200
diff changeset
69 var r = agenda.Agendar(van.Titulo,new[]{ TestsHelper.GetOrCreatePonente("Ponente")}, null, null,
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
70 urlInvitacion, TipoEvento.Van);
53
d149bfea3892 Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents: 52
diff changeset
71 Assert.IsFalse(r.Succeful);
197
bfd472758bc3 Agregando validaciones para subir el Coverage.
juanjose.montesdeocaarbos
parents: 185
diff changeset
72
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 200
diff changeset
73 r = agenda.Agendar(van.Titulo, new[]{TestsHelper.GetOrCreatePonente("Ponente")}, DateTime.MinValue, null,
197
bfd472758bc3 Agregando validaciones para subir el Coverage.
juanjose.montesdeocaarbos
parents: 185
diff changeset
74 urlInvitacion, TipoEvento.Van);
bfd472758bc3 Agregando validaciones para subir el Coverage.
juanjose.montesdeocaarbos
parents: 185
diff changeset
75 Assert.IsFalse(r.Succeful);
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
76 }
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
77 }
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
78
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
79 [Test]
51
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
80 public void Intentar_agendar_evento_propuesto_sin_indicar_ponente()
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
81 {
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 197
diff changeset
82 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
83
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
84 {
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
85 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
86 }
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
87
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
88 {
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
89 var van = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).FirstOrDefault();
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
90 Assert.IsNotNull(van);
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
91
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
92 var fechaInicio = DateTime.Today.AddDays(5).ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
93 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 200
diff changeset
94 van.Actualizar(fechaInicio, fechaTermino, urlInvitacion);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 200
diff changeset
95 var r = agenda.Agendar(van.Titulo, new[]{Guid.Empty}, van.FechaInicio, van.FechaTermino,
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
96 urlInvitacion, TipoEvento.Van);
53
d149bfea3892 Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents: 52
diff changeset
97 Assert.IsFalse(r.Succeful);
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
98 }
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
99 }
29
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 26
diff changeset
100
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 26
diff changeset
101 [Test]
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
102 public void Intentar_obtener_un_evento_inexistente()
29
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 26
diff changeset
103 {
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
104 var idEventoNoExistente = new Guid("99999999999999999999999999999999");
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
105
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 197
diff changeset
106 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
29
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 26
diff changeset
107
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents: 79
diff changeset
108 Assert.Throws<EventoNotFoundException>(() => agenda.GetEvento(idEventoNoExistente));
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
109 }
45
2edc705aae0a Coverage 100% sobre Agendas.Tests
juanjose.montesdeocaarbos
parents: 38
diff changeset
110
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
111 [Test]
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
112 public void Intentar_proponer_evento_sin_titulo()
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
113 {
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
114 var repository = new Mock<IEventoRepository>();
29
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 26
diff changeset
115
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 197
diff changeset
116 var agenda = new Agenda(null, repository.Object, DefaultPersonaRepository);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
117
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
118 var r = agenda.Proponer(string.Empty, null, urlInvitacion, TipoEvento.Van);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
119 Assert.IsFalse(r.Succeful);
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
120
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
121 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
29
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 26
diff changeset
122 }
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 26
diff changeset
123
51
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
124 [Test]
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
125 public void Intentar_proponer_evento_sin_usuario_autenticado()
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
126 {
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 197
diff changeset
127 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
45
2edc705aae0a Coverage 100% sobre Agendas.Tests
juanjose.montesdeocaarbos
parents: 38
diff changeset
128
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
129 SetCurrentUser(null, null);
45
2edc705aae0a Coverage 100% sobre Agendas.Tests
juanjose.montesdeocaarbos
parents: 38
diff changeset
130
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
131 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Proponer("Inmortalidad de la meduza.", null, urlInvitacion, TipoEvento.Van));
51
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
132 }
45
2edc705aae0a Coverage 100% sobre Agendas.Tests
juanjose.montesdeocaarbos
parents: 38
diff changeset
133
51
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
134 [Test]
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
135 public void Proponer_evento_correctamente()
51
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
136 {
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 197
diff changeset
137 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
138 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
45
2edc705aae0a Coverage 100% sobre Agendas.Tests
juanjose.montesdeocaarbos
parents: 38
diff changeset
139
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
140 IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
141 Assert.IsNotNull(eventosPropuestos);
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
142 Assert.AreEqual(1, eventosPropuestos.Count);
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
143 Assert.AreEqual("Van propuesta", eventosPropuestos[0].Titulo);
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
144 }
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
145
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
146 [Test]
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
147 public void Verificar_propuesta_separada_de_publicacion()
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
148 {
200
5346c0500594 Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents: 197
diff changeset
149 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
45
2edc705aae0a Coverage 100% sobre Agendas.Tests
juanjose.montesdeocaarbos
parents: 38
diff changeset
150
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
151 agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
152 var fechaInicio = DateTime.Now.ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
153 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 200
diff changeset
154 var r = agenda.Agendar("Van publicada", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 145
diff changeset
155 urlInvitacion, TipoEvento.Van);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
156 Assert.IsTrue(r.Succeful);
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
157
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
158 IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
159 IList<Evento> eventosAgendados = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
160
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
161 Assert.AreEqual(1, eventosPropuestos.Count);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 106
diff changeset
162 Assert.AreEqual(1, eventosAgendados.Count);
51
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
163 }
244
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
164
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
165 [Test]
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
166 public void Publicar_con_Nro_Duplicado()
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
167 {
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
168 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
169 {
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
170 var fechaInicio = DateTime.Now.ToUniversalTime();
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
171 var fechaTermino = fechaInicio.AddHours(2);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
172
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
173 agenda.Agendar("Van", new[] { TestsHelper.GetOrCreatePonente("jjmontes") }, fechaInicio, fechaTermino,
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
174 urlInvitacion, TipoEvento.Van);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
175 {
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
176 IList<Evento> eventosAgendado = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
177
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
178 var evento = eventosAgendado.FirstOrDefault();
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
179
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
180 agenda.Confirmar(evento.Id);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
181
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
182 var r = agenda.Publicar(evento.Id, 1, "http://www.url.com", new TimeSpan(1, 58, 0));
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
183
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
184 Assert.IsTrue(r.Succeful);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
185 }
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
186 }
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
187
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
188 {
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
189 var fechaInicio = DateTime.Now.AddDays(1).ToUniversalTime();
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
190 var fechaTermino = fechaInicio.AddHours(2);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
191 agenda.Agendar("Van 2", new[] { TestsHelper.GetOrCreatePonente("jjmontes") }, fechaInicio, fechaTermino,
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
192 urlInvitacion, TipoEvento.Van);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
193 {
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
194 IList<Evento> eventosAgendado = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
195
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
196 var evento = eventosAgendado.LastOrDefault();
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
197
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
198 agenda.Confirmar(evento.Id);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
199
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
200 var r = agenda.Publicar(evento.Id, 1, "http://www.url.com", new TimeSpan(1, 58, 0));
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
201
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
202 Assert.IsFalse(r.Succeful);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
203 Assert.AreEqual("El número de evento ya se encuentra en uso", r.Message);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
204 }
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
205 }
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
206 }
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
207 }
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
208 }