annotate Agendas/trunk/src/Agendas.Repositories.Tests/EventoCrud.cs @ 235:c61954d24c8c

Quitando ponente principal y utilizando siempre la lista de ponentes
author nelopauselli
date Tue, 04 Oct 2011 20:42:35 -0300
parents f23ee59ef1bd
children 51faeabfb9d9
rev   line source
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
1 using System;
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
2 using System.Collections.Generic;
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
3 using System.Linq;
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
4 using Agendas.Repositories.Tests.Infraestructure;
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
5 using AltNetHispano.Agendas.Domain;
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
6 using AltNetHispano.Agendas.Domain.Repositories;
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
7 using Moq;
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
8 using NUnit.Framework;
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
9
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
10 namespace Agendas.Repositories.Tests
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
11 {
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
12 public abstract class EventoCrud<T> where T : IInfraestrutureFactory, new()
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
13 {
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
14 private readonly IEventoRepository _eventoRepository;
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
15 private readonly Func<IDisposable> _requestEmulator;
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
16 private readonly IPersonaRepository _personaRepository;
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
17
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
18 protected EventoCrud()
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
19 {
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
20 var infraestrutureFactory = new T();
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
21
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
22 _eventoRepository = infraestrutureFactory.GetEventoRepository();
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
23 _personaRepository = infraestrutureFactory.GetPonenteRepository();
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
24 _requestEmulator = infraestrutureFactory.GetRequestEmulator();
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
25 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
26
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
27 [SetUp]
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
28 public void SetearUsuario()
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
29 {
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
30 var seguridad = new Mock<ISeguridad>();
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
31 seguridad.Setup(s => s.GetUserName()).Returns("neluz");
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
32 IdentityContext.Init(seguridad.Object, _personaRepository);
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
33 }
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
34
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
35 [Test]
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
36 public void Create()
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
37 {
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
38 Assert.AreNotEqual(Guid.Empty, CreateEvento());
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
39 }
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
40
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
41 private Guid CreateEvento()
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
42 {
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
43 using (_requestEmulator.Invoke())
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
44 {
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
45 var colaboradores = new[]
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
46 {
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
47 new Persona("Carlos Blé") {Twitter = "carlosble"},
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
48 new Persona("Alejandro Labra") {Twitter = "alejandrolabra"},
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
49 new Persona("Carlos Peix") {Twitter = "carlospeix"}
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
50 };
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
51
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
52 foreach (var colaborador in colaboradores)
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
53 _personaRepository.Save(colaborador);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
54
143
2dbb15f4510f Asociar Twitter a Persona existente
Nelo@Guinea.neluz.int
parents: 140
diff changeset
55 var usuario = new Persona("Nelo") {Twitter = "nelopauselli"};
120
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 106
diff changeset
56 _personaRepository.Save(usuario);
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 106
diff changeset
57
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
58 var evento = Evento.Proponer("TDD - Diseño Basado en Ejemplos", string.Empty, TipoEvento.Van);
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
59 evento.ActualizarOtrosPonentes(colaboradores);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
60
120
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 106
diff changeset
61 evento.Tracks.First().LogAdd(new TrackLog(TrackLogPropietario.Twitter, "Mensaje", usuario, true));
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 106
diff changeset
62
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 80
diff changeset
63 _eventoRepository.Save(evento);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
64
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 80
diff changeset
65 return evento.Id;
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
66 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
67 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
68
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
69 [Test]
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
70 public void Read()
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
71 {
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
72 Guid eventoId = CreateEvento();
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
73
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
74 using (_requestEmulator.Invoke())
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
75 {
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
76 Evento van = _eventoRepository.Get(eventoId);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
77
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
78 Assert.IsNotNull(van);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
79 Assert.IsNotNull(van.Ponentes);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
80 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "Carlos Blé"));
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
81 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "Alejandro Labra"));
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
82 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "Carlos Peix"));
80
c2d98fd6593f Track como objeto identificable y con referencia al evento correspondiente.
nelopauselli
parents: 79
diff changeset
83 var track1 = van.Tracks.Where(t => t.Accion == Accion.Proponer).FirstOrDefault();
c2d98fd6593f Track como objeto identificable y con referencia al evento correspondiente.
nelopauselli
parents: 79
diff changeset
84 Assert.IsNotNull(track1);
c2d98fd6593f Track como objeto identificable y con referencia al evento correspondiente.
nelopauselli
parents: 79
diff changeset
85 Assert.AreEqual(van, track1.Evento);
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
86
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
87 Assert.AreEqual("TDD - Diseño Basado en Ejemplos", van.Titulo);
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
88
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
89 Assert.AreEqual(3, van.Ponentes.Count());
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
90 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
91 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
92
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
93 [Test]
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
94 public void Update()
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
95 {
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
96 Guid eventoId = CreateEvento();
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
97 var fechaInicio = new DateTime(2010, 04, 17).ToUniversalTime();
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
98 var fechaTermino = fechaInicio.AddHours(2);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
99
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
100 using (_requestEmulator.Invoke())
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
101 {
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
102 Evento van = _eventoRepository.Get(eventoId);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
103
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
104 Assert.IsNotNull(van);
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
105
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
106 van.CambiarTitulo("TDD & Ejemplos");
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
107
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
108 var otroPonente = new Persona("José");
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
109 _personaRepository.Save(otroPonente);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
110
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
111 van.Actualizar(fechaInicio, fechaTermino, null);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
112
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
113 var ponentes = new List<Persona>(van.Ponentes);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
114 ponentes.RemoveAll(p => p.Nombre == "Carlos Blé");
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
115 ponentes.Add(otroPonente);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
116
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
117 van.ActualizarOtrosPonentes(ponentes);
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
118
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
119 _eventoRepository.Update(van);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
120 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
121
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
122 using (_requestEmulator.Invoke())
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
123 {
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
124 Evento van = _eventoRepository.Get(eventoId);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
125
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
126 Assert.IsNotNull(van);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
127
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
128 Assert.IsFalse(van.Ponentes.Any(p => p.Nombre == "Carlos Blé"));
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
129 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "Alejandro Labra"));
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
130 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "Carlos Peix"));
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
131 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "José"));
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
132
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
133 Assert.AreEqual("TDD & Ejemplos", van.Titulo);
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
134 Assert.AreEqual(new DateTime(2010, 04, 17).ToUniversalTime(), van.FechaInicio);
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 169
diff changeset
135 Assert.AreEqual(fechaTermino, van.FechaTermino);
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
136
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
137 var ponente1 = _personaRepository.GetByNombre("Carlos Blé");
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
138 Assert.IsNotNull(ponente1);
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
139
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
140 var ponente2 = _personaRepository.GetByNombre("José");
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
141 Assert.IsNotNull(ponente2);
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
142
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
143 Assert.AreEqual(1, van.Tracks.Where(t => t.Accion == Accion.Proponer).Count());
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
144 Assert.AreEqual(1, van.Tracks.Where(t => t.Accion == Accion.Modificar).Count());
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
145 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
146 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
147
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
148 [Test]
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
149 public void Delete()
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
150 {
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
151 Guid eventoId = CreateEvento();
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
152
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
153 using (_requestEmulator.Invoke())
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
154 {
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
155 Evento van = _eventoRepository.Get(eventoId);
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
156 Assert.IsNotNull(van);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
157
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
158 _eventoRepository.Delete(van);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
159 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
160
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
161 using (_requestEmulator.Invoke())
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
162 {
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
163 Evento van = _eventoRepository.Get(eventoId);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
164
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
165 Assert.IsNull(van);
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
166
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
167 var ponente = _personaRepository.GetByNombre("Carlos Blé");
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
168
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
169 Assert.IsNotNull(ponente);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
170 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
171 }
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
172
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
173 [Test]
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
174 public void Workflow()
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
175 {
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
176 Guid eventoId = CreateEvento();
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
177
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
178 using (_requestEmulator.Invoke())
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
179 {
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
180 Evento evento = _eventoRepository.Get(eventoId);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
181 Assert.AreEqual(EventoPropuestoState.GetInstance(), evento.Estado);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
182
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 225
diff changeset
183 evento.Agendar(evento.FechaInicio, evento.FechaTermino, null);
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
184 }
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
185
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
186 using (_requestEmulator.Invoke())
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
187 {
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
188 Evento evento = _eventoRepository.Get(eventoId);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
189 Assert.AreEqual(EventoAgendadoState.GetInstance(), evento.Estado);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
190
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
191 evento.Confirmar();
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
192 }
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
193
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
194 using (_requestEmulator.Invoke())
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
195 {
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
196 Evento evento = _eventoRepository.Get(eventoId);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
197 Assert.AreEqual(EventoConfirmadoState.GetInstance(), evento.Estado);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
198
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 143
diff changeset
199 evento.Publicar(1, null, new TimeSpan(0, 0, 0));
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
200 }
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
201
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
202 using (_requestEmulator.Invoke())
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
203 {
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
204 Evento evento = _eventoRepository.Get(eventoId);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
205 Assert.AreEqual(EventoPublicadoState.GetInstance(), evento.Estado);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
206 }
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
207 }
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
208 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
209 }