Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Repositories.Tests/Workflow.cs @ 222:68b09c30b0d2
Separando los test de persistencia en un proyecto aparte
author | nelopauselli |
---|---|
date | Mon, 19 Sep 2011 18:18:17 -0300 |
parents | Agendas/trunk/src/Agendas.Tests/Workflows/Workflow.cs@5346c0500594 |
children | c61954d24c8c |
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, |
200
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
185
diff
changeset
|
18 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; | |
222
68b09c30b0d2
Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
200
diff
changeset
|
22 |
200
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
185
diff
changeset
|
23 _agenda = new Agenda(publicador, eventoRepository, personaRepository); |
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 { | |
222
68b09c30b0d2
Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
200
diff
changeset
|
31 var resultado = _agenda.Proponer("SOLID", _testsHelper.GetOrCreatePonente("Jorge"), null, TipoEvento.Van); |
181 | 32 Assert.IsTrue(resultado.Succeful); |
33 } | |
34 | |
35 GetId(); | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
36 } |
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 public void Agendar() |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
40 { |
181 | 41 using (_requestEmulator.Invoke()) |
42 { | |
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
|
43 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
|
44 var fechaTermino = fechaInicio.AddHours(2); |
222
68b09c30b0d2
Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
200
diff
changeset
|
45 var resultado = _agenda.Agendar("SOLID", _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
|
46 TipoEvento.Van); |
181 | 47 Assert.IsTrue(resultado.Succeful); |
48 } | |
49 | |
50 GetId(); | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
51 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
52 |
181 | 53 private void GetId() |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
54 { |
181 | 55 using (_requestEmulator.Invoke()) |
56 { | |
57 var evento = _eventoRepository.GetActivos().SingleOrDefault(); | |
58 Assert.IsNotNull(evento); | |
59 _eventoId = evento.Id; | |
60 } | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
61 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
62 |
181 | 63 public void Confirmar() |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
64 { |
181 | 65 using (_requestEmulator.Invoke()) |
66 { | |
67 var resultado = _agenda.Confirmar(_eventoId); | |
68 Assert.IsTrue(resultado.Succeful); | |
69 } | |
70 } | |
71 | |
72 public void Publicar() | |
73 { | |
74 using (_requestEmulator.Invoke()) | |
75 { | |
76 var resultado = _agenda.Publicar(_eventoId, 1, "http://www.altnethispano.org/", new TimeSpan(2, 11, 0)); | |
77 Assert.IsTrue(resultado.Succeful); | |
78 } | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
79 } |
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
|
80 |
181 | 81 public void Cancelar() |
82 { | |
83 using (_requestEmulator.Invoke()) | |
84 { | |
85 var resultado = _agenda.Cancelar(_eventoId); | |
86 Assert.IsTrue(resultado.Succeful); | |
87 } | |
88 } | |
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
|
89 |
181 | 90 public void Descartar() |
91 { | |
92 using (_requestEmulator.Invoke()) | |
93 { | |
94 var resultado = _agenda.Descartar(_eventoId); | |
95 Assert.IsTrue(resultado.Succeful); | |
96 } | |
97 } | |
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
|
98 |
181 | 99 public void ReProponer() |
100 { | |
101 using (_requestEmulator.Invoke()) | |
102 { | |
103 var resultado = _agenda.ReProponer(_eventoId); | |
104 Assert.IsTrue(resultado.Succeful); | |
105 } | |
106 } | |
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
|
107 |
181 | 108 public void ReAgendar() |
109 { | |
110 using (_requestEmulator.Invoke()) | |
111 { | |
112 var resultado = _agenda.ReAgendar(_eventoId); | |
113 Assert.IsTrue(resultado.Succeful); | |
114 } | |
115 } | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
116 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
117 } |