annotate Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs @ 282:bc8dfbde0523

#123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
author juanjose.montesdeocaarbos
date Mon, 26 Dec 2011 14:21:44 -0300
parents 72a96459f910
children 48ab8788bd19
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 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 244
diff changeset
20 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 244
diff changeset
60 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 244
diff changeset
82 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 244
diff changeset
106 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 244
diff changeset
116 var agenda = new Agenda(null, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 244
diff changeset
127 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 244
diff changeset
137 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 244
diff changeset
149 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
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 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 244
diff changeset
168 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
244
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
282
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
182 agenda.IndicarPatrocinadores(evento.Id, new List<Guid> { TestsHelper.GetOrCreatePatrocinador("Apress") });
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
183
244
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
184 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
185
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
186 Assert.IsTrue(r.Succeful);
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
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
190 {
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
191 var fechaInicio = DateTime.Now.AddDays(1).ToUniversalTime();
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
192 var fechaTermino = fechaInicio.AddHours(2);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
193 agenda.Agendar("Van 2", new[] { TestsHelper.GetOrCreatePonente("jjmontes") }, fechaInicio, fechaTermino,
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
194 urlInvitacion, TipoEvento.Van);
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 IList<Evento> eventosAgendado = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
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 var evento = eventosAgendado.LastOrDefault();
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 agenda.Confirmar(evento.Id);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
201
282
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
202 agenda.IndicarPatrocinadores(evento.Id, new List<Guid> {TestsHelper.GetOrCreatePatrocinador("Apress")});
244
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
203 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
204
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
205 Assert.IsFalse(r.Succeful);
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
206 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
207 }
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
208 }
31fb96912d37 Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents: 235
diff changeset
209 }
282
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
210
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
211 [Test]
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
212 public void Publicar_sin_Patrocinado_No_Permitido()
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
213 {
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
214 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
215 {
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
216 var fechaInicio = DateTime.Now.ToUniversalTime();
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
217 var fechaTermino = fechaInicio.AddHours(2);
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
218
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
219 agenda.Agendar("Van", new[] { TestsHelper.GetOrCreatePonente("jjmontes") }, fechaInicio, fechaTermino,
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
220 urlInvitacion, TipoEvento.Van);
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
221 {
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
222 var eventosAgendado = agenda.GetEventosActivos(EventoAgendadoState.GetInstance());
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
223
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
224 var evento = eventosAgendado.FirstOrDefault();
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
225
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
226 agenda.Confirmar(evento.Id);
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
227
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
228 var r = agenda.Publicar(evento.Id, 1, "http://www.url.com", new TimeSpan(1, 58, 0));
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
229
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
230 Assert.IsFalse(r.Succeful);
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
231 Assert.AreEqual("La VAN debe tener al menos un Patrocinador para ser publicada.", r.Message);
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
232 }
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
233 }
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 274
diff changeset
234 }
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
235 }
20
c5a99dde072f reorganizando tests
nelo@MTEySS.neluz.int
parents:
diff changeset
236 }