annotate Agendas/trunk/src/Agendas.Repositories.Tests/Workflow.cs @ 298:9bc60d166c8a

Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco. Se comentó el código de PatrocinadorApiController, que no se utiliza.
author juanjose.montesdeocaarbos
date Sun, 19 Feb 2012 16:00:38 -0300
parents bc8dfbde0523
children 48ab8788bd19
rev   line source
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
1 using System;
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
2 using System.Linq;
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
3 using AltNetHispano.Agendas.Domain;
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
4 using AltNetHispano.Agendas.Domain.Repositories;
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
5 using NUnit.Framework;
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
6 using System.Collections.Generic;
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
7
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 200
diff changeset
8 namespace Agendas.Repositories.Tests
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
9 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
10 internal class Workflow
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
11 {
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
12 private readonly Func<IDisposable> _requestEmulator;
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
13 private readonly Agenda _agenda;
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
14 private readonly IEventoRepository _eventoRepository;
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
15 private Guid _eventoId;
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents: 200
diff changeset
16 private readonly TestsHelper _testsHelper;
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
17
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
18 public Workflow(IPublicador publicador, IEventoRepository eventoRepository, IPersonaRepository personaRepository,
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 235
diff changeset
19 IPatrocinadorRepository patrocinadorRepository, Func<IDisposable> requestEmulator)
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
20 {
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
21 _requestEmulator = requestEmulator;
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
22 _eventoRepository = eventoRepository;
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 235
diff changeset
23
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 235
diff changeset
24 _agenda = new Agenda(publicador, eventoRepository, personaRepository, patrocinadorRepository);
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
25 _testsHelper = new TestsHelper(personaRepository, patrocinadorRepository);
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
26 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
27
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
28 public void Proponer()
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
29 {
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
30 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
31 {
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 222
diff changeset
32 var resultado = _agenda.Proponer("SOLID", new[] {_testsHelper.GetOrCreatePonente("Jorge")}, null, TipoEvento.Van);
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 222
diff changeset
33 Console.WriteLine(resultado.Message);
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
34 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
35 }
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 222
diff changeset
36
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
37 GetId();
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
38 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
39
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
40
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
41 public void Agendar()
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
42 {
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
43 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
44 {
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 181
diff changeset
45 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: 181
diff changeset
46 var fechaTermino = fechaInicio.AddHours(2);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 222
diff changeset
47 var resultado = _agenda.Agendar("SOLID", new[]{ _testsHelper.GetOrCreatePonente("Jorge")}, fechaInicio, fechaTermino, null,
185
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 181
diff changeset
48 TipoEvento.Van);
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
49 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
50 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
51
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
52 GetId();
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
53 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
54
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
55 private void GetId()
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
56 {
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
57 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
58 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
59 var evento = _eventoRepository.GetActivos().SingleOrDefault();
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
60 Assert.IsNotNull(evento);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
61 _eventoId = evento.Id;
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
62 }
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
63 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
64
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
65 public void Confirmar()
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
66 {
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
67 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
68 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
69 var resultado = _agenda.Confirmar(_eventoId);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
70 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
71 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
72 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
73
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
74 public void Publicar()
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
75 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
76 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
77 {
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
78 _agenda.IndicarPatrocinadores(_eventoId, 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
79 }
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
80 using (_requestEmulator.Invoke())
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
81 {
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
82 var resultado = _agenda.Publicar(_eventoId, 1, "http://www.altnethispano.org/", new TimeSpan(2, 11, 0));
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
83 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
84 }
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
85 }
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 106
diff changeset
86
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
87 public void Cancelar()
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
88 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
89 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
90 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
91 var resultado = _agenda.Cancelar(_eventoId);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
92 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
93 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
94 }
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 106
diff changeset
95
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
96 public void Descartar()
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
97 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
98 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
99 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
100 var resultado = _agenda.Descartar(_eventoId);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
101 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
102 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
103 }
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 106
diff changeset
104
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
105 public void ReProponer()
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
106 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
107 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
108 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
109 var resultado = _agenda.ReProponer(_eventoId);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
110 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
111 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
112 }
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 106
diff changeset
113
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
114 public void ReAgendar()
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
115 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
116 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
117 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
118 var resultado = _agenda.ReAgendar(_eventoId);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
119 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
120 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
121 }
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
122 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
123 }