Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/Cruds/PersonaCrud.cs @ 219:b9850b647a4e
Agregando alta de ponente durante la carga del evento
author | nelopauselli |
---|---|
date | Thu, 08 Sep 2011 11:22:10 -0300 |
parents | a36a76bd6ec3 |
children |
rev | line source |
---|---|
178 | 1 using System; |
2 using System.Linq; | |
3 using AltNetHispano.Agendas.Domain; | |
4 using AltNetHispano.Agendas.Domain.Repositories; | |
5 using AltNetHispano.Agendas.Domain.Services; | |
6 using NUnit.Framework; | |
7 | |
8 namespace AltNetHispano.Agendas.Tests.Cruds | |
9 { | |
10 public class PersonaCrud | |
11 { | |
12 private readonly IPersonaRepository _personaRepository; | |
13 private readonly Func<IDisposable> _requestEmulator; | |
14 private readonly PersonaService _personaService; | |
209
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
15 private readonly IEventoRepository _eventoRepository; |
178 | 16 |
209
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
17 public PersonaCrud(Func<IPersonaRepository> createpersonaRepository, Func<IDisposable> requestEmulator, Func<IEventoRepository> createEventoRespository) |
178 | 18 { |
19 _personaRepository = createpersonaRepository.Invoke(); | |
209
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
20 _eventoRepository = createEventoRespository.Invoke(); |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
21 _personaService = new PersonaService(_personaRepository, _eventoRepository); |
178 | 22 _requestEmulator = requestEmulator; |
23 } | |
24 | |
25 public Guid CreateAdministrador() | |
26 { | |
219
b9850b647a4e
Agregando alta de ponente durante la carga del evento
nelopauselli
parents:
209
diff
changeset
|
27 Guid id; |
178 | 28 using (_requestEmulator.Invoke()) |
29 { | |
219
b9850b647a4e
Agregando alta de ponente durante la carga del evento
nelopauselli
parents:
209
diff
changeset
|
30 var r = _personaService.Add("Nelo Pauselli", "nelopauselli", "nelopauselli@gmail.com", "http://nelopauselli.blogspot.com", null); |
b9850b647a4e
Agregando alta de ponente durante la carga del evento
nelopauselli
parents:
209
diff
changeset
|
31 Assert.AreEqual("Nelo Pauselli", r.Nombre); |
b9850b647a4e
Agregando alta de ponente durante la carga del evento
nelopauselli
parents:
209
diff
changeset
|
32 Assert.AreNotEqual(Guid.Empty, r.Id); |
b9850b647a4e
Agregando alta de ponente durante la carga del evento
nelopauselli
parents:
209
diff
changeset
|
33 |
b9850b647a4e
Agregando alta de ponente durante la carga del evento
nelopauselli
parents:
209
diff
changeset
|
34 id = r.Id; |
178 | 35 } |
36 | |
37 using (_requestEmulator.Invoke()) | |
38 { | |
39 var persona = _personaRepository.GetByNombre("Nelo Pauselli"); | |
40 Assert.IsNotNull(persona); | |
219
b9850b647a4e
Agregando alta de ponente durante la carga del evento
nelopauselli
parents:
209
diff
changeset
|
41 Assert.AreEqual(id, persona.Id); |
178 | 42 return persona.Id; |
43 } | |
44 } | |
45 | |
46 public void ReadAdministrador() | |
47 { | |
48 Guid personaId = CreateAdministrador(); | |
49 | |
50 using (_requestEmulator.Invoke()) | |
51 { | |
52 var persona = _personaRepository.Get(personaId); | |
53 | |
54 Assert.IsNotNull(persona); | |
55 Assert.AreEqual("Nelo Pauselli", persona.Nombre); | |
56 Assert.AreEqual("nelopauselli", persona.Twitter); | |
57 Assert.AreEqual("nelopauselli@gmail.com", persona.Mail); | |
58 Assert.AreEqual("http://nelopauselli.blogspot.com", persona.Blog); | |
59 | |
60 Assert.IsTrue(persona.Cuentas.Any()); | |
61 Assert.AreEqual("nelopauselli", persona.Cuentas.First().LogonName); | |
62 Assert.AreEqual(IdentityProviderEnum.Twitter, persona.Cuentas.First().IdentityProvider); | |
63 | |
64 Assert.IsTrue(persona.Roles.Any()); | |
65 Assert.IsTrue(persona.Roles.Contains(Roles.Usuario)); | |
66 Assert.IsTrue(persona.Roles.Contains(Roles.Administrador)); | |
67 } | |
68 } | |
69 | |
70 public Guid CreateUsuario() | |
71 { | |
72 using (_requestEmulator.Invoke()) | |
73 { | |
180 | 74 _personaService.Add("Pablo Morales", "pablomorales", "pablomorales@gmail.com", "http://pablomorales.blogspot.com", new[]{Roles.Usuario}); |
178 | 75 } |
76 | |
77 using (_requestEmulator.Invoke()) | |
78 { | |
79 var persona = _personaRepository.GetByNombre("Pablo Morales"); | |
80 Assert.IsNotNull(persona); | |
81 return persona.Id; | |
82 } | |
83 } | |
84 | |
85 public void ReadUsuario() | |
86 { | |
87 Guid personaId = CreateUsuario(); | |
88 | |
89 using (_requestEmulator.Invoke()) | |
90 { | |
91 var persona = _personaRepository.Get(personaId); | |
92 | |
93 Assert.IsNotNull(persona); | |
94 Assert.AreEqual("Pablo Morales", persona.Nombre); | |
95 Assert.AreEqual("pablomorales", persona.Twitter); | |
96 Assert.AreEqual("pablomorales@gmail.com", persona.Mail); | |
97 Assert.AreEqual("http://pablomorales.blogspot.com", persona.Blog); | |
98 | |
99 Assert.IsTrue(persona.Cuentas.Any()); | |
100 Assert.AreEqual("pablomorales", persona.Cuentas.First().LogonName); | |
101 Assert.AreEqual(IdentityProviderEnum.Twitter, persona.Cuentas.First().IdentityProvider); | |
102 | |
103 Assert.IsTrue(persona.Roles.Any()); | |
104 Assert.IsTrue(persona.Roles.Contains(Roles.Usuario)); | |
105 Assert.IsFalse(persona.Roles.Contains(Roles.Administrador)); | |
106 } | |
107 } | |
108 | |
109 public void Update() | |
110 { | |
111 Guid personaId = CreateAdministrador(); | |
112 | |
113 using (_requestEmulator.Invoke()) | |
114 { | |
115 var persona = _personaRepository.Get(personaId); | |
116 Assert.IsNotNull(persona); | |
117 | |
118 persona.Nombre = "Nelo Mariano Pauselli"; | |
119 } | |
120 | |
121 using (_requestEmulator.Invoke()) | |
122 { | |
123 var persona = _personaRepository.Get(personaId); | |
124 | |
125 Assert.IsNotNull(persona); | |
126 Assert.AreEqual("Nelo Mariano Pauselli", persona.Nombre); | |
127 } | |
128 } | |
209
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
129 public void Delete() |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
130 { |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
131 var personaId = CreateUsuario(); |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
132 using (_requestEmulator.Invoke()) |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
133 { |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
134 var persona = _personaRepository.Get(personaId); |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
135 Assert.IsNotNull(persona); |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
136 _personaService.Delete(personaId); |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
137 } |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
138 using (_requestEmulator.Invoke()) |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
139 { |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
140 var persona = _personaRepository.Get(personaId); |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
141 Assert.IsNull(persona); |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
142 } |
a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents:
180
diff
changeset
|
143 } |
178 | 144 } |
145 } |