annotate Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowTests.cs @ 87:26d0513a8410

A los publicadores les llega la lista de tracks producidos en la acción realizada Quitamos el concepto de Recordador ya que el mismo es un publicador, cuándo publicar es responsabilidad de cada publicador
author nelopauselli
date Fri, 27 May 2011 14:42:38 -0300
parents c76661cff260
children db4b1e2cae49
rev   line source
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 81
diff changeset
1 using System.Collections.Generic;
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 81
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 Moq;
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 [TestFixture]
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
10 public class WorkflowTests : TestBase
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
11 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
12 private Mock<IPublicador> _publicador;
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
13 private Workflow _workflow;
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
14
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
15 [SetUp]
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
16 public void InitPublicador()
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
17 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
18 _publicador = new Mock<IPublicador>();
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
19 _workflow = new Workflow(_publicador.Object, DefaultEventoRepository, DefaultPonenteRepository);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
20 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
21
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
22 [Test]
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
23 public void Proponer()
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
24 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
25 _workflow.Proponer();
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 81
diff changeset
26 _publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Once());
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
27 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
28
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
29 [Test]
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
30 public void Proponer_y_agendar()
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
31 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
32 _workflow.Proponer();
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 _workflow.Agendar();
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
35
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 81
diff changeset
36 _publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2));
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
37 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
38
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
39 [Test]
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
40 public void Proponer_agendar_y_confirmar()
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
41 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
42 _workflow.Proponer();
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
43
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
44 _workflow.Agendar();
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
45
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
46 var evento = DefaultEventoRepository.GetEventosConFecha().SingleOrDefault();
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
47 Assert.IsNotNull(evento);
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 _workflow.Confirmar(evento.Id);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
50
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 81
diff changeset
51 _publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(3));
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
52 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
53
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
54 [Test]
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
55 public void Proponer_agendar_confirmar_publicar()
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 _workflow.Proponer();
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 _workflow.Agendar();
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
60
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
61 var evento = DefaultEventoRepository.GetEventosConFecha().SingleOrDefault();
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
62 Assert.IsNotNull(evento);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
63
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
64 _workflow.Confirmar(evento.Id);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
65
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
66 _workflow.Publicar(evento.Id);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
67
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 81
diff changeset
68 _publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(4));
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
69 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
70 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
71 }