comparison Agendas/trunk/src/Agendas.Repositories.Tests/WorkflowTests.cs @ 274:72a96459f910

Ticket #123: Patrocinadores de las vans.
author juanjose.montesdeocaarbos
date Wed, 30 Nov 2011 08:56:01 -0300
parents 68b09c30b0d2
children
comparison
equal deleted inserted replaced
273:a7420f05716a 274:72a96459f910
10 { 10 {
11 public abstract class WorkflowTests<T> where T : IInfraestrutureFactory, new() 11 public abstract class WorkflowTests<T> where T : IInfraestrutureFactory, new()
12 { 12 {
13 private readonly IPersonaRepository _personaRepository; 13 private readonly IPersonaRepository _personaRepository;
14 private readonly IEventoRepository _eventoRepository; 14 private readonly IEventoRepository _eventoRepository;
15 private readonly IPatrocinadorRepository _patrocinadorRepository;
15 private readonly Func<IDisposable> _requestEmulator; 16 private readonly Func<IDisposable> _requestEmulator;
16 17
17 protected WorkflowTests() 18 protected WorkflowTests()
18 { 19 {
19 var infraestrutureFactory = new T(); 20 var infraestrutureFactory = new T();
20 21
21 _eventoRepository = infraestrutureFactory.GetEventoRepository(); 22 _eventoRepository = infraestrutureFactory.GetEventoRepository();
22 _personaRepository = infraestrutureFactory.GetPonenteRepository(); 23 _personaRepository = infraestrutureFactory.GetPonenteRepository();
24 _patrocinadorRepository = infraestrutureFactory.GetPatrocinadorRepository();
23 _requestEmulator = infraestrutureFactory.GetRequestEmulator(); 25 _requestEmulator = infraestrutureFactory.GetRequestEmulator();
24 } 26 }
25 27
26 [SetUp] 28 [SetUp]
27 public void SetearUsuario() 29 public void SetearUsuario()
33 35
34 [Test] 36 [Test]
35 public void Proponer() 37 public void Proponer()
36 { 38 {
37 var publicador = new Mock<IPublicador>(); 39 var publicador = new Mock<IPublicador>();
38 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _requestEmulator); 40 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _patrocinadorRepository, _requestEmulator);
39 41
40 workflow.Proponer(); 42 workflow.Proponer();
41 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Once()); 43 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Once());
42 } 44 }
43 45
44 [Test] 46 [Test]
45 public void Proponer_y_agendar() 47 public void Proponer_y_agendar()
46 { 48 {
47 var publicador = new Mock<IPublicador>(); 49 var publicador = new Mock<IPublicador>();
48 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _requestEmulator); 50 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _patrocinadorRepository, _requestEmulator);
49 51
50 workflow.Proponer(); 52 workflow.Proponer();
51 53
52 workflow.Agendar(); 54 workflow.Agendar();
53 55
55 } 57 }
56 [Test] 58 [Test]
57 public void Proponer_agendar_y_cancelar() 59 public void Proponer_agendar_y_cancelar()
58 { 60 {
59 var publicador = new Mock<IPublicador>(); 61 var publicador = new Mock<IPublicador>();
60 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _requestEmulator); 62 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _patrocinadorRepository, _requestEmulator);
61 63
62 workflow.Proponer(); 64 workflow.Proponer();
63 65
64 workflow.Agendar(); 66 workflow.Agendar();
65 67
70 72
71 [Test] 73 [Test]
72 public void Proponer_agendar_cancelar_y_reagendar() 74 public void Proponer_agendar_cancelar_y_reagendar()
73 { 75 {
74 var publicador = new Mock<IPublicador>(); 76 var publicador = new Mock<IPublicador>();
75 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _requestEmulator); 77 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _patrocinadorRepository, _requestEmulator);
76 78
77 workflow.Proponer(); 79 workflow.Proponer();
78 80
79 workflow.Agendar(); 81 workflow.Agendar();
80 82
87 89
88 [Test] 90 [Test]
89 public void Proponer_agendar_cancelar_reproponer_agendar_y_confirmar() 91 public void Proponer_agendar_cancelar_reproponer_agendar_y_confirmar()
90 { 92 {
91 var publicador = new Mock<IPublicador>(); 93 var publicador = new Mock<IPublicador>();
92 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _requestEmulator); 94 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _patrocinadorRepository, _requestEmulator);
93 95
94 workflow.Proponer(); 96 workflow.Proponer();
95 97
96 workflow.Agendar(); 98 workflow.Agendar();
97 99
108 110
109 [Test] 111 [Test]
110 public void Proponer_agendar_cancelar_reagendar_y_confirmar() 112 public void Proponer_agendar_cancelar_reagendar_y_confirmar()
111 { 113 {
112 var publicador = new Mock<IPublicador>(); 114 var publicador = new Mock<IPublicador>();
113 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _requestEmulator); 115 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _patrocinadorRepository, _requestEmulator);
114 116
115 workflow.Proponer(); 117 workflow.Proponer();
116 118
117 workflow.Agendar(); 119 workflow.Agendar();
118 120
127 129
128 [Test] 130 [Test]
129 public void Proponer_agendar_cancelar_y_reproponer() 131 public void Proponer_agendar_cancelar_y_reproponer()
130 { 132 {
131 var publicador = new Mock<IPublicador>(); 133 var publicador = new Mock<IPublicador>();
132 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _requestEmulator); 134 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _patrocinadorRepository, _requestEmulator);
133 135
134 workflow.Proponer(); 136 workflow.Proponer();
135 137
136 workflow.Agendar(); 138 workflow.Agendar();
137 139
144 146
145 [Test] 147 [Test]
146 public void Proponer_y_descartar() 148 public void Proponer_y_descartar()
147 { 149 {
148 var publicador = new Mock<IPublicador>(); 150 var publicador = new Mock<IPublicador>();
149 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _requestEmulator); 151 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _patrocinadorRepository, _requestEmulator);
150 152
151 workflow.Proponer(); 153 workflow.Proponer();
152 154
153 workflow.Descartar(); 155 workflow.Descartar();
154 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2)); 156 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2));
156 158
157 [Test] 159 [Test]
158 public void Proponer_agendar_cancelar_y_descartar() 160 public void Proponer_agendar_cancelar_y_descartar()
159 { 161 {
160 var publicador = new Mock<IPublicador>(); 162 var publicador = new Mock<IPublicador>();
161 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _requestEmulator); 163 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _patrocinadorRepository, _requestEmulator);
162 164
163 workflow.Proponer(); 165 workflow.Proponer();
164 166
165 workflow.Agendar(); 167 workflow.Agendar();
166 168
173 175
174 [Test] 176 [Test]
175 public void Proponer_agendar_y_confirmar() 177 public void Proponer_agendar_y_confirmar()
176 { 178 {
177 var publicador = new Mock<IPublicador>(); 179 var publicador = new Mock<IPublicador>();
178 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _requestEmulator); 180 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _patrocinadorRepository, _requestEmulator);
179 181
180 workflow.Proponer(); 182 workflow.Proponer();
181 183
182 workflow.Agendar(); 184 workflow.Agendar();
183 185
188 190
189 [Test] 191 [Test]
190 public void Proponer_agendar_confirmar_publicar() 192 public void Proponer_agendar_confirmar_publicar()
191 { 193 {
192 var publicador = new Mock<IPublicador>(); 194 var publicador = new Mock<IPublicador>();
193 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _requestEmulator); 195 var workflow = new Workflow(publicador.Object, _eventoRepository, _personaRepository, _patrocinadorRepository, _requestEmulator);
194 196
195 workflow.Proponer(); 197 workflow.Proponer();
196 198
197 workflow.Agendar(); 199 workflow.Agendar();
198 200