Mercurial > altnet-hispano
comparison 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 |
comparison
equal
deleted
inserted
replaced
221:37ddf81333d3 | 222:68b09c30b0d2 |
---|---|
1 using System; | |
2 using System.Linq; | |
3 using AltNetHispano.Agendas.Domain; | |
4 using AltNetHispano.Agendas.Domain.Repositories; | |
5 using NUnit.Framework; | |
6 | |
7 namespace Agendas.Repositories.Tests | |
8 { | |
9 internal class Workflow | |
10 { | |
11 private readonly Func<IDisposable> _requestEmulator; | |
12 private readonly Agenda _agenda; | |
13 private readonly IEventoRepository _eventoRepository; | |
14 private Guid _eventoId; | |
15 private readonly TestsHelper _testsHelper; | |
16 | |
17 public Workflow(IPublicador publicador, IEventoRepository eventoRepository, IPersonaRepository personaRepository, | |
18 Func<IDisposable> requestEmulator) | |
19 { | |
20 _requestEmulator = requestEmulator; | |
21 _eventoRepository = eventoRepository; | |
22 | |
23 _agenda = new Agenda(publicador, eventoRepository, personaRepository); | |
24 _testsHelper = new TestsHelper(personaRepository); | |
25 } | |
26 | |
27 public void Proponer() | |
28 { | |
29 using (_requestEmulator.Invoke()) | |
30 { | |
31 var resultado = _agenda.Proponer("SOLID", _testsHelper.GetOrCreatePonente("Jorge"), null, TipoEvento.Van); | |
32 Assert.IsTrue(resultado.Succeful); | |
33 } | |
34 | |
35 GetId(); | |
36 } | |
37 | |
38 | |
39 public void Agendar() | |
40 { | |
41 using (_requestEmulator.Invoke()) | |
42 { | |
43 var fechaInicio = DateTime.Today.AddDays(5).ToUniversalTime(); | |
44 var fechaTermino = fechaInicio.AddHours(2); | |
45 var resultado = _agenda.Agendar("SOLID", _testsHelper.GetOrCreatePonente("Jorge"), fechaInicio, fechaTermino, null, | |
46 TipoEvento.Van); | |
47 Assert.IsTrue(resultado.Succeful); | |
48 } | |
49 | |
50 GetId(); | |
51 } | |
52 | |
53 private void GetId() | |
54 { | |
55 using (_requestEmulator.Invoke()) | |
56 { | |
57 var evento = _eventoRepository.GetActivos().SingleOrDefault(); | |
58 Assert.IsNotNull(evento); | |
59 _eventoId = evento.Id; | |
60 } | |
61 } | |
62 | |
63 public void Confirmar() | |
64 { | |
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 } | |
79 } | |
80 | |
81 public void Cancelar() | |
82 { | |
83 using (_requestEmulator.Invoke()) | |
84 { | |
85 var resultado = _agenda.Cancelar(_eventoId); | |
86 Assert.IsTrue(resultado.Succeful); | |
87 } | |
88 } | |
89 | |
90 public void Descartar() | |
91 { | |
92 using (_requestEmulator.Invoke()) | |
93 { | |
94 var resultado = _agenda.Descartar(_eventoId); | |
95 Assert.IsTrue(resultado.Succeful); | |
96 } | |
97 } | |
98 | |
99 public void ReProponer() | |
100 { | |
101 using (_requestEmulator.Invoke()) | |
102 { | |
103 var resultado = _agenda.ReProponer(_eventoId); | |
104 Assert.IsTrue(resultado.Succeful); | |
105 } | |
106 } | |
107 | |
108 public void ReAgendar() | |
109 { | |
110 using (_requestEmulator.Invoke()) | |
111 { | |
112 var resultado = _agenda.ReAgendar(_eventoId); | |
113 Assert.IsTrue(resultado.Succeful); | |
114 } | |
115 } | |
116 } | |
117 } |