comparison Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowTests.cs @ 81:c76661cff260

Workflow de acciones sobre un evento (camino feliz)
author nelopauselli
date Tue, 24 May 2011 19:21:20 -0300
parents
children 26d0513a8410
comparison
equal deleted inserted replaced
80:c2d98fd6593f 81:c76661cff260
1 using System.Linq;
2 using AltNetHispano.Agendas.Domain;
3 using Moq;
4 using NUnit.Framework;
5
6 namespace AltNetHispano.Agendas.Tests.Workflows
7 {
8 [TestFixture]
9 public class WorkflowTests : TestBase
10 {
11 private Mock<IPublicador> _publicador;
12 private Workflow _workflow;
13
14 [SetUp]
15 public void InitPublicador()
16 {
17 _publicador = new Mock<IPublicador>();
18 _workflow = new Workflow(_publicador.Object, DefaultEventoRepository, DefaultPonenteRepository);
19 }
20
21 [Test]
22 public void Proponer()
23 {
24 _workflow.Proponer();
25 _publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Once());
26 }
27
28 [Test]
29 public void Proponer_y_agendar()
30 {
31 _workflow.Proponer();
32
33 _workflow.Agendar();
34
35 _publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(2));
36 }
37
38 [Test]
39 public void Proponer_agendar_y_confirmar()
40 {
41 _workflow.Proponer();
42
43 _workflow.Agendar();
44
45 var evento = DefaultEventoRepository.GetEventosConFecha().SingleOrDefault();
46 Assert.IsNotNull(evento);
47
48 _workflow.Confirmar(evento.Id);
49
50 _publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(3));
51 }
52
53 [Test]
54 public void Proponer_agendar_confirmar_publicar()
55 {
56 _workflow.Proponer();
57
58 _workflow.Agendar();
59
60 var evento = DefaultEventoRepository.GetEventosConFecha().SingleOrDefault();
61 Assert.IsNotNull(evento);
62
63 _workflow.Confirmar(evento.Id);
64
65 _workflow.Publicar(evento.Id);
66
67 _publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(4));
68 }
69 }
70 }