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