Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Repositories.Tests/Workflow.cs @ 275:bf993f99cee3
Ticket #123: Patrocinadores de las vans.
author | juanjose.montesdeocaarbos |
---|---|
date | Wed, 14 Dec 2011 08:15:44 -0300 |
parents | 72a96459f910 |
children | bc8dfbde0523 |
rev | line source |
---|---|
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
1 using System; |
181 | 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; |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
6 |
222
68b09c30b0d2
Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
200
diff
changeset
|
7 namespace Agendas.Repositories.Tests |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
8 { |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
9 internal class Workflow |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
10 { |
181 | 11 private readonly Func<IDisposable> _requestEmulator; |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
12 private readonly Agenda _agenda; |
181 | 13 private readonly IEventoRepository _eventoRepository; |
14 private Guid _eventoId; | |
222
68b09c30b0d2
Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
200
diff
changeset
|
15 private readonly TestsHelper _testsHelper; |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
16 |
181 | 17 public Workflow(IPublicador publicador, IEventoRepository eventoRepository, IPersonaRepository personaRepository, |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
235
diff
changeset
|
18 IPatrocinadorRepository patrocinadorRepository, Func<IDisposable> requestEmulator) |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
19 { |
181 | 20 _requestEmulator = requestEmulator; |
21 _eventoRepository = eventoRepository; | |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
235
diff
changeset
|
22 |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
235
diff
changeset
|
23 _agenda = new Agenda(publicador, eventoRepository, personaRepository, patrocinadorRepository); |
222
68b09c30b0d2
Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
200
diff
changeset
|
24 _testsHelper = new TestsHelper(personaRepository); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
25 } |
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 public void Proponer() |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
28 { |
181 | 29 using (_requestEmulator.Invoke()) |
30 { | |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
222
diff
changeset
|
31 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
|
32 Console.WriteLine(resultado.Message); |
181 | 33 Assert.IsTrue(resultado.Succeful); |
34 } | |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
222
diff
changeset
|
35 |
181 | 36 GetId(); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
37 } |
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 public void Agendar() |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
41 { |
181 | 42 using (_requestEmulator.Invoke()) |
43 { | |
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
|
44 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
|
45 var fechaTermino = fechaInicio.AddHours(2); |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
222
diff
changeset
|
46 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
|
47 TipoEvento.Van); |
181 | 48 Assert.IsTrue(resultado.Succeful); |
49 } | |
50 | |
51 GetId(); | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
52 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
53 |
181 | 54 private void GetId() |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
55 { |
181 | 56 using (_requestEmulator.Invoke()) |
57 { | |
58 var evento = _eventoRepository.GetActivos().SingleOrDefault(); | |
59 Assert.IsNotNull(evento); | |
60 _eventoId = evento.Id; | |
61 } | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
62 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
63 |
181 | 64 public void Confirmar() |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
65 { |
181 | 66 using (_requestEmulator.Invoke()) |
67 { | |
68 var resultado = _agenda.Confirmar(_eventoId); | |
69 Assert.IsTrue(resultado.Succeful); | |
70 } | |
71 } | |
72 | |
73 public void Publicar() | |
74 { | |
75 using (_requestEmulator.Invoke()) | |
76 { | |
77 var resultado = _agenda.Publicar(_eventoId, 1, "http://www.altnethispano.org/", new TimeSpan(2, 11, 0)); | |
78 Assert.IsTrue(resultado.Succeful); | |
79 } | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
80 } |
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
|
81 |
181 | 82 public void Cancelar() |
83 { | |
84 using (_requestEmulator.Invoke()) | |
85 { | |
86 var resultado = _agenda.Cancelar(_eventoId); | |
87 Assert.IsTrue(resultado.Succeful); | |
88 } | |
89 } | |
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
|
90 |
181 | 91 public void Descartar() |
92 { | |
93 using (_requestEmulator.Invoke()) | |
94 { | |
95 var resultado = _agenda.Descartar(_eventoId); | |
96 Assert.IsTrue(resultado.Succeful); | |
97 } | |
98 } | |
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
|
99 |
181 | 100 public void ReProponer() |
101 { | |
102 using (_requestEmulator.Invoke()) | |
103 { | |
104 var resultado = _agenda.ReProponer(_eventoId); | |
105 Assert.IsTrue(resultado.Succeful); | |
106 } | |
107 } | |
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
|
108 |
181 | 109 public void ReAgendar() |
110 { | |
111 using (_requestEmulator.Invoke()) | |
112 { | |
113 var resultado = _agenda.ReAgendar(_eventoId); | |
114 Assert.IsTrue(resultado.Succeful); | |
115 } | |
116 } | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
117 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
118 } |