annotate Agendas/trunk/src/Agendas.Repositories.Tests/EventoCrud.cs @ 225:f23ee59ef1bd

Otros ponentes
author nelopauselli
date Mon, 26 Sep 2011 08:47:01 -0300
parents 68b09c30b0d2
children c61954d24c8c
rev   line source
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
1 using System;
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
2 using System.Linq;
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
3 using Agendas.Repositories.Tests.Infraestructure;
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
4 using AltNetHispano.Agendas.Domain;
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
5 using AltNetHispano.Agendas.Domain.Repositories;
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
6 using Moq;
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
7 using NUnit.Framework;
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
8
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
9 namespace Agendas.Repositories.Tests
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
10 {
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
11 public abstract class EventoCrud<T> where T : IInfraestrutureFactory, new()
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
12 {
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
13 private readonly IEventoRepository _eventoRepository;
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
14 private readonly Func<IDisposable> _requestEmulator;
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
15 private readonly IPersonaRepository _personaRepository;
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
16
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
17 protected EventoCrud()
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
18 {
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
19 var infraestrutureFactory = new T();
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
20
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
21 _eventoRepository = infraestrutureFactory.GetEventoRepository();
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
22 _personaRepository = infraestrutureFactory.GetPonenteRepository();
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
23 _requestEmulator = infraestrutureFactory.GetRequestEmulator();
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
24 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
25
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
26 [SetUp]
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
27 public void SetearUsuario()
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
28 {
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
29 var seguridad = new Mock<ISeguridad>();
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
30 seguridad.Setup(s => s.GetUserName()).Returns("neluz");
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
31 IdentityContext.Init(seguridad.Object, _personaRepository);
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
32 }
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 [Test]
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
35 public void Create()
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
36 {
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
37 Assert.AreNotEqual(Guid.Empty, CreateEvento());
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
38 }
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 private Guid CreateEvento()
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
41 {
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
42 using (_requestEmulator.Invoke())
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
43 {
143
2dbb15f4510f Asociar Twitter a Persona existente
Nelo@Guinea.neluz.int
parents: 140
diff changeset
44 var ponente = new Persona("Carlos Blé") {Twitter = "carlosble"};
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
45 _personaRepository.Save(ponente);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
46
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
47 var colaboradores = new[]
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
48 {
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
49 new Persona("Alejandro Labra") {Twitter = "alejandrolabra"},
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
50 new Persona("Carlos Peix") {Twitter = "carlospeix"}
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
51 };
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
52
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
53 foreach (var colaborador in colaboradores)
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
54 _personaRepository.Save(colaborador);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
55
143
2dbb15f4510f Asociar Twitter a Persona existente
Nelo@Guinea.neluz.int
parents: 140
diff changeset
56 var usuario = new Persona("Nelo") {Twitter = "nelopauselli"};
120
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 106
diff changeset
57 _personaRepository.Save(usuario);
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 106
diff changeset
58
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 106
diff changeset
59 var evento = Evento.Proponer("TDD - Diseño Basado en Ejemplos", ponente, string.Empty, TipoEvento.Van);
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
60 evento.ActualizarOtrosPonentes(colaboradores);
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
61
120
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 106
diff changeset
62 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
63
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 80
diff changeset
64 _eventoRepository.Save(evento);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
65
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 80
diff changeset
66 return evento.Id;
60
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 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
69
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
70 [Test]
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
71 public void Read()
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
72 {
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
73 Guid eventoId = CreateEvento();
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
74
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
75 using (_requestEmulator.Invoke())
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
76 {
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
77 Evento van = _eventoRepository.Get(eventoId);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
78
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
79 Assert.IsNotNull(van);
97
2434c2323f3d En el evento, volvemos a llamar Ponente a la persona que está a cargo de la presentación
Nelo@Kenia.neluz.int
parents: 95
diff changeset
80 Assert.IsNotNull(van.Ponente);
2434c2323f3d En el evento, volvemos a llamar Ponente a la persona que está a cargo de la presentación
Nelo@Kenia.neluz.int
parents: 95
diff changeset
81 Assert.AreEqual("Carlos Blé", van.Ponente.Nombre);
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
82
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
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 222
diff changeset
89 Assert.AreEqual(2, van.OtrosPonentes.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
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
111 van.Actualizar(otroPonente, fechaInicio, fechaTermino, null);
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
112
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
113 _eventoRepository.Update(van);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
114 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
115
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
116 using (_requestEmulator.Invoke())
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
117 {
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
118 Evento van = _eventoRepository.Get(eventoId);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
119
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
120 Assert.IsNotNull(van);
97
2434c2323f3d En el evento, volvemos a llamar Ponente a la persona que está a cargo de la presentación
Nelo@Kenia.neluz.int
parents: 95
diff changeset
121 Assert.IsNotNull(van.Ponente);
2434c2323f3d En el evento, volvemos a llamar Ponente a la persona que está a cargo de la presentación
Nelo@Kenia.neluz.int
parents: 95
diff changeset
122 Assert.AreEqual("José", van.Ponente.Nombre);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
123 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
124 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
125 Assert.AreEqual(fechaTermino, van.FechaTermino);
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
126
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
127 var ponente1 = _personaRepository.GetByNombre("Carlos Blé");
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
128 Assert.IsNotNull(ponente1);
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
129
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
130 var ponente2 = _personaRepository.GetByNombre("José");
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
131 Assert.IsNotNull(ponente2);
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
132
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
133 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
134 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
135 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
136 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
137
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
138 [Test]
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
139 public void Delete()
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
140 {
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
141 Guid eventoId = CreateEvento();
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
142
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
143 using (_requestEmulator.Invoke())
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
144 {
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
145 Evento van = _eventoRepository.Get(eventoId);
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
146 Assert.IsNotNull(van);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
147
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
148 _eventoRepository.Delete(van);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
149 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
150
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
151 using (_requestEmulator.Invoke())
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
152 {
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
153 Evento van = _eventoRepository.Get(eventoId);
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
154
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
155 Assert.IsNull(van);
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
156
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
157 var ponente = _personaRepository.GetByNombre("Carlos Blé");
62
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
158
c40b97bbed01 Verificando persistencia de Ponentes y Tracks en tests de CRUD
nelopauselli
parents: 60
diff changeset
159 Assert.IsNotNull(ponente);
60
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 }
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
162
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
163 [Test]
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
164 public void Workflow()
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
165 {
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 185
diff changeset
166 Guid eventoId = CreateEvento();
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
167
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
168 using (_requestEmulator.Invoke())
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
169 {
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
170 Evento evento = _eventoRepository.Get(eventoId);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
171 Assert.AreEqual(EventoPropuestoState.GetInstance(), evento.Estado);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
172
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
173 evento.Agendar(evento.Ponente, evento.FechaInicio, evento.FechaTermino, null);
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
174 }
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
175
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
176 using (_requestEmulator.Invoke())
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 Evento evento = _eventoRepository.Get(eventoId);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
179 Assert.AreEqual(EventoAgendadoState.GetInstance(), evento.Estado);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
180
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
181 evento.Confirmar();
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
182 }
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
183
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
184 using (_requestEmulator.Invoke())
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 Evento evento = _eventoRepository.Get(eventoId);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
187 Assert.AreEqual(EventoConfirmadoState.GetInstance(), evento.Estado);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
188
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 143
diff changeset
189 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
190 }
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
191
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
192 using (_requestEmulator.Invoke())
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 Evento evento = _eventoRepository.Get(eventoId);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
195 Assert.AreEqual(EventoPublicadoState.GetInstance(), evento.Estado);
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
196 }
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 120
diff changeset
197 }
60
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
198 }
02e163f2ca38 Refactoring de test de crud del evento
nelopauselli
parents:
diff changeset
199 }