Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/Workflows/Workflow.cs @ 185:2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
Se modifica la propiedad Fecha del Evento, renombrandola FechaInicio.
En el ModelView se agrega propiedades Duración y Hora del Evento cuando es Modificado, Nuevo y Agendado.
Las fechas ingresadas son creadas en sistema UTC
Queda pendiente Agregar duración a Google Calendar.
author | alabra |
---|---|
date | Tue, 09 Aug 2011 01:04:27 -0400 |
parents | 6ee05ceea8c3 |
children | 5346c0500594 |
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 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
7 namespace AltNetHispano.Agendas.Tests.Workflows |
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; | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
15 |
181 | 16 public Workflow(IPublicador publicador, IEventoRepository eventoRepository, IPersonaRepository personaRepository, |
17 IPatrocinadorRepository patrocinadorRepository, Func<IDisposable> requestEmulator) | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
18 { |
181 | 19 _requestEmulator = requestEmulator; |
20 _eventoRepository = eventoRepository; | |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
21 _agenda = new Agenda(publicador, eventoRepository, personaRepository, patrocinadorRepository); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
22 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
23 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
24 public void Proponer() |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
25 { |
181 | 26 using (_requestEmulator.Invoke()) |
27 { | |
28 var resultado = _agenda.Proponer("SOLID", TestsHelper.GetOrCreatePonente("Jorge"), null, TipoEvento.Van); | |
29 Assert.IsTrue(resultado.Succeful); | |
30 } | |
31 | |
32 GetId(); | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
33 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
34 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
35 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
36 public void Agendar() |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
37 { |
181 | 38 using (_requestEmulator.Invoke()) |
39 { | |
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
|
40 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
|
41 var fechaTermino = fechaInicio.AddHours(2); |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
181
diff
changeset
|
42 var resultado = _agenda.Agendar("SOLID", TestsHelper.GetOrCreatePonente("Jorge"), fechaInicio, fechaTermino, null, |
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 TipoEvento.Van); |
181 | 44 Assert.IsTrue(resultado.Succeful); |
45 } | |
46 | |
47 GetId(); | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
48 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
49 |
181 | 50 private void GetId() |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
51 { |
181 | 52 using (_requestEmulator.Invoke()) |
53 { | |
54 var evento = _eventoRepository.GetActivos().SingleOrDefault(); | |
55 Assert.IsNotNull(evento); | |
56 _eventoId = evento.Id; | |
57 } | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
58 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
59 |
181 | 60 public void Confirmar() |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
61 { |
181 | 62 using (_requestEmulator.Invoke()) |
63 { | |
64 var resultado = _agenda.Confirmar(_eventoId); | |
65 Assert.IsTrue(resultado.Succeful); | |
66 } | |
67 } | |
68 | |
69 public void Publicar() | |
70 { | |
71 using (_requestEmulator.Invoke()) | |
72 { | |
73 var resultado = _agenda.Publicar(_eventoId, 1, "http://www.altnethispano.org/", new TimeSpan(2, 11, 0)); | |
74 Assert.IsTrue(resultado.Succeful); | |
75 } | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
76 } |
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
|
77 |
181 | 78 public void Cancelar() |
79 { | |
80 using (_requestEmulator.Invoke()) | |
81 { | |
82 var resultado = _agenda.Cancelar(_eventoId); | |
83 Assert.IsTrue(resultado.Succeful); | |
84 } | |
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 | 87 public void Descartar() |
88 { | |
89 using (_requestEmulator.Invoke()) | |
90 { | |
91 var resultado = _agenda.Descartar(_eventoId); | |
92 Assert.IsTrue(resultado.Succeful); | |
93 } | |
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 | 96 public void ReProponer() |
97 { | |
98 using (_requestEmulator.Invoke()) | |
99 { | |
100 var resultado = _agenda.ReProponer(_eventoId); | |
101 Assert.IsTrue(resultado.Succeful); | |
102 } | |
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 | 105 public void ReAgendar() |
106 { | |
107 using (_requestEmulator.Invoke()) | |
108 { | |
109 var resultado = _agenda.ReAgendar(_eventoId); | |
110 Assert.IsTrue(resultado.Succeful); | |
111 } | |
112 } | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
113 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff
changeset
|
114 } |