Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs @ 20:c5a99dde072f
reorganizando tests
author | nelo@MTEySS.neluz.int |
---|---|
date | Mon, 14 Mar 2011 20:59:28 -0300 |
parents | |
children | 43360bf09b1a |
comparison
equal
deleted
inserted
replaced
19:74eb4577d447 | 20:c5a99dde072f |
---|---|
1 using System; | |
2 using System.Collections.Generic; | |
3 using System.Linq; | |
4 using Agendas.Repositories.Memory; | |
5 using AltNetHispano.Agendas.Domain; | |
6 using AltNetHispano.Agendas.Domain.Exceptions; | |
7 using AltNetHispano.Agendas.Domain.Repositories; | |
8 using Moq; | |
9 using NUnit.Framework; | |
10 | |
11 namespace AltNetHispano.Agendas.Tests | |
12 { | |
13 [TestFixture] | |
14 public class PropuestasTests : TestBase | |
15 { | |
16 [Test] | |
17 public void Propuesta_de_van_con_usuario_autenticado() | |
18 { | |
19 var repository = new EventoRepository(); | |
20 | |
21 var van = new Evento { Titulo = "Van propuesta" }; | |
22 | |
23 var seguridad = new Mock<ISeguridad>(); | |
24 var agenda = new Agenda(null, null, seguridad.Object, repository); | |
25 | |
26 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); | |
27 agenda.Proponer(van); | |
28 | |
29 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); | |
30 Assert.IsNotNull(eventosPropuestos); | |
31 Assert.AreEqual(1, eventosPropuestos.Count); | |
32 Assert.AreEqual("Van propuesta", eventosPropuestos[0].Titulo); | |
33 } | |
34 | |
35 [Test] | |
36 public void Verificar_propuesta_separada_de_publicacion() | |
37 { | |
38 var seguridad = new Mock<ISeguridad>(); | |
39 var agenda = new Agenda(null, null, seguridad.Object, new EventoRepository()); | |
40 | |
41 var vanPropuesta = new Evento { Titulo = "Van propuesta" }; | |
42 var vanPublicada = EventoObjectMother.GetVanValidaParaPublicar(); | |
43 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); | |
44 | |
45 agenda.Proponer(vanPropuesta); | |
46 agenda.Publicar(vanPublicada.Titulo, vanPublicada.Ponente, vanPublicada.Fecha); | |
47 | |
48 IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos(); | |
49 IList<Evento> eventosPublicados = agenda.GetEventosPublicados(); | |
50 | |
51 Assert.AreEqual(1, eventosPropuestos.Count); | |
52 Assert.AreEqual(1, eventosPublicados.Count); | |
53 } | |
54 | |
55 [Test] | |
56 public void Propuesta_de_van_sin_titulo() | |
57 { | |
58 var repository = new Mock<IEventoRepository>(); | |
59 var van = new Evento(); | |
60 | |
61 var seguridad = new Mock<ISeguridad>(); | |
62 var agenda = new Agenda(null, null, seguridad.Object, repository.Object); | |
63 | |
64 Assert.Throws<ValidationException>(() => agenda.Proponer(van)); | |
65 Assert.AreEqual(Guid.Empty, van.Id); | |
66 | |
67 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); | |
68 } | |
69 | |
70 [Test] | |
71 public void Agendar_van_propuesta_sin_fecha() | |
72 { | |
73 var repository = new EventoRepository(); | |
74 | |
75 var seguridad = new Mock<ISeguridad>(); | |
76 var agenda = new Agenda(null, null, seguridad.Object, repository); | |
77 | |
78 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); | |
79 | |
80 { | |
81 var van = new Evento {Titulo = "Van propuesta"}; | |
82 agenda.Proponer(van); | |
83 } | |
84 | |
85 { | |
86 var van = agenda.GetEventosPropuestos().FirstOrDefault(); | |
87 Assert.IsNotNull(van); | |
88 Assert.Throws<ValidationException>(() => agenda.Publicar(van.Titulo, van.Ponente, van.Fecha)); | |
89 } | |
90 } | |
91 | |
92 [Test] | |
93 public void Agendar_van_propuesta_sin_ponente() | |
94 { | |
95 var repository = new EventoRepository(); | |
96 | |
97 var seguridad = new Mock<ISeguridad>(); | |
98 var agenda = new Agenda(null, null, seguridad.Object, repository); | |
99 | |
100 seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles()); | |
101 | |
102 { | |
103 var van = new Evento { Titulo = "Van propuesta" }; | |
104 agenda.Proponer(van); | |
105 } | |
106 | |
107 { | |
108 var van = agenda.GetEventosPropuestos().FirstOrDefault(); | |
109 Assert.IsNotNull(van); | |
110 | |
111 van.Fecha = DateTime.Today.AddDays(5); | |
112 Assert.Throws<ValidationException>(() => agenda.Publicar(van.Titulo, van.Ponente, van.Fecha)); | |
113 } | |
114 } | |
115 | |
116 [Test] | |
117 public void Van_crud() | |
118 { | |
119 var van = EventoObjectMother.GetVanValidaParaPublicar(); | |
120 | |
121 Guid vanId; | |
122 { | |
123 var agenda = new Agenda(null, null, SeguridadServiceDefault, new EventoRepository()); | |
124 agenda.Publicar(van.Titulo, van.Ponente, van.Fecha); | |
125 | |
126 IAgendaRepository agendaRepository = new AgendaRepository(); | |
127 | |
128 agendaRepository.Save(agenda); | |
129 vanId = agenda.Id; | |
130 } | |
131 | |
132 { | |
133 IAgendaRepository agendaRepository = new AgendaRepository(); | |
134 | |
135 Agenda agenda = agendaRepository.Get(vanId); | |
136 | |
137 Assert.IsNotNull(agenda); | |
138 Assert.AreEqual(1, agenda.GetEventosPublicados().Count); | |
139 agenda.Publicar(van.Titulo, van.Ponente, van.Fecha); | |
140 | |
141 agendaRepository.Update(agenda); | |
142 } | |
143 | |
144 { | |
145 IAgendaRepository agendaRepository = new AgendaRepository(); | |
146 | |
147 Agenda agenda = agendaRepository.Get(vanId); | |
148 | |
149 Assert.IsNotNull(agenda); | |
150 Assert.AreEqual(2, agenda.GetEventosPublicados().Count); | |
151 | |
152 agendaRepository.Delete(agenda); | |
153 } | |
154 | |
155 { | |
156 IAgendaRepository agendaRepository = new AgendaRepository(); | |
157 | |
158 Agenda agenda = agendaRepository.Get(vanId); | |
159 | |
160 Assert.IsNull(agenda); | |
161 } | |
162 } | |
163 } | |
164 } |