annotate Agendas/trunk/src/Agendas.Tests/Workflows/Workflow.cs @ 181:6ee05ceea8c3

Implementando test de workflow también con nh
author nelopauselli
date Mon, 08 Aug 2011 20:08:31 -0300
parents 5c94b052d838
children 2d02adb79322
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;
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
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
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
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
13 private readonly IEventoRepository _eventoRepository;
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
14 private Guid _eventoId;
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
15
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
16 public Workflow(IPublicador publicador, IEventoRepository eventoRepository, IPersonaRepository personaRepository,
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
17 IPatrocinadorRepository patrocinadorRepository, Func<IDisposable> requestEmulator)
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
18 {
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
19 _requestEmulator = requestEmulator;
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
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
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
26 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
27 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
28 var resultado = _agenda.Proponer("SOLID", TestsHelper.GetOrCreatePonente("Jorge"), null, TipoEvento.Van);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
29 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
30 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
31
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
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
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
38 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
39 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
40 var resultado = _agenda.Agendar("SOLID", TestsHelper.GetOrCreatePonente("Jorge"), DateTime.Today.AddDays(5), null,
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
41 TipoEvento.Van);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
42 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
43 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
44
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
45 GetId();
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
46 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
47
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
48 private void GetId()
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
49 {
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
50 using (_requestEmulator.Invoke())
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 var evento = _eventoRepository.GetActivos().SingleOrDefault();
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
53 Assert.IsNotNull(evento);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
54 _eventoId = evento.Id;
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
55 }
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
56 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
57
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
58 public void Confirmar()
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
59 {
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
60 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
61 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
62 var resultado = _agenda.Confirmar(_eventoId);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
63 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
64 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
65 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
66
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
67 public void Publicar()
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 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
70 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
71 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
72 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
73 }
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
74 }
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
75
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
76 public void Cancelar()
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
77 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
78 using (_requestEmulator.Invoke())
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
79 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
80 var resultado = _agenda.Cancelar(_eventoId);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
81 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
82 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
83 }
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
84
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
85 public void Descartar()
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
86 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
87 using (_requestEmulator.Invoke())
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 var resultado = _agenda.Descartar(_eventoId);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
90 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
91 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
92 }
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
93
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
94 public void ReProponer()
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
95 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
96 using (_requestEmulator.Invoke())
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 var resultado = _agenda.ReProponer(_eventoId);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
99 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
100 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
101 }
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
102
181
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
103 public void ReAgendar()
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
104 {
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
105 using (_requestEmulator.Invoke())
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 var resultado = _agenda.ReAgendar(_eventoId);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
108 Assert.IsTrue(resultado.Succeful);
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
109 }
6ee05ceea8c3 Implementando test de workflow también con nh
nelopauselli
parents: 169
diff changeset
110 }
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
111 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
112 }