Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/Cruds/PersonaCrud.cs @ 209:a36a76bd6ec3
Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
author | alabra |
---|---|
date | Wed, 24 Aug 2011 19:27:30 -0300 |
parents | 222362c29416 |
children | b9850b647a4e |
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 { | |
27 using (_requestEmulator.Invoke()) | |
28 { | |
180 | 29 _personaService.Add("Nelo Pauselli", "nelopauselli", "nelopauselli@gmail.com", "http://nelopauselli.blogspot.com", null); |
178 | 30 } |
31 | |
32 using (_requestEmulator.Invoke()) | |
33 { | |
34 var persona = _personaRepository.GetByNombre("Nelo Pauselli"); | |
35 Assert.IsNotNull(persona); | |
36 return persona.Id; | |
37 } | |
38 } | |
39 | |
40 public void ReadAdministrador() | |
41 { | |
42 Guid personaId = CreateAdministrador(); | |
43 | |
44 using (_requestEmulator.Invoke()) | |
45 { | |
46 var persona = _personaRepository.Get(personaId); | |
47 | |
48 Assert.IsNotNull(persona); | |
49 Assert.AreEqual("Nelo Pauselli", persona.Nombre); | |
50 Assert.AreEqual("nelopauselli", persona.Twitter); | |
51 Assert.AreEqual("nelopauselli@gmail.com", persona.Mail); | |
52 Assert.AreEqual("http://nelopauselli.blogspot.com", persona.Blog); | |
53 | |
54 Assert.IsTrue(persona.Cuentas.Any()); | |
55 Assert.AreEqual("nelopauselli", persona.Cuentas.First().LogonName); | |
56 Assert.AreEqual(IdentityProviderEnum.Twitter, persona.Cuentas.First().IdentityProvider); | |
57 | |
58 Assert.IsTrue(persona.Roles.Any()); | |
59 Assert.IsTrue(persona.Roles.Contains(Roles.Usuario)); | |
60 Assert.IsTrue(persona.Roles.Contains(Roles.Administrador)); | |
61 } | |
62 } | |
63 | |
64 public Guid CreateUsuario() | |
65 { | |
66 using (_requestEmulator.Invoke()) | |
67 { | |
180 | 68 _personaService.Add("Pablo Morales", "pablomorales", "pablomorales@gmail.com", "http://pablomorales.blogspot.com", new[]{Roles.Usuario}); |
178 | 69 } |
70 | |
71 using (_requestEmulator.Invoke()) | |
72 { | |
73 var persona = _personaRepository.GetByNombre("Pablo Morales"); | |
74 Assert.IsNotNull(persona); | |
75 return persona.Id; | |
76 } | |
77 } | |
78 | |
79 public void ReadUsuario() | |
80 { | |
81 Guid personaId = CreateUsuario(); | |
82 | |
83 using (_requestEmulator.Invoke()) | |
84 { | |
85 var persona = _personaRepository.Get(personaId); | |
86 | |
87 Assert.IsNotNull(persona); | |
88 Assert.AreEqual("Pablo Morales", persona.Nombre); | |
89 Assert.AreEqual("pablomorales", persona.Twitter); | |
90 Assert.AreEqual("pablomorales@gmail.com", persona.Mail); | |
91 Assert.AreEqual("http://pablomorales.blogspot.com", persona.Blog); | |
92 | |
93 Assert.IsTrue(persona.Cuentas.Any()); | |
94 Assert.AreEqual("pablomorales", persona.Cuentas.First().LogonName); | |
95 Assert.AreEqual(IdentityProviderEnum.Twitter, persona.Cuentas.First().IdentityProvider); | |
96 | |
97 Assert.IsTrue(persona.Roles.Any()); | |
98 Assert.IsTrue(persona.Roles.Contains(Roles.Usuario)); | |
99 Assert.IsFalse(persona.Roles.Contains(Roles.Administrador)); | |
100 } | |
101 } | |
102 | |
103 public void Update() | |
104 { | |
105 Guid personaId = CreateAdministrador(); | |
106 | |
107 using (_requestEmulator.Invoke()) | |
108 { | |
109 var persona = _personaRepository.Get(personaId); | |
110 Assert.IsNotNull(persona); | |
111 | |
112 persona.Nombre = "Nelo Mariano Pauselli"; | |
113 } | |
114 | |
115 using (_requestEmulator.Invoke()) | |
116 { | |
117 var persona = _personaRepository.Get(personaId); | |
118 | |
119 Assert.IsNotNull(persona); | |
120 Assert.AreEqual("Nelo Mariano Pauselli", persona.Nombre); | |
121 } | |
122 } | |
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
|
123 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
|
124 { |
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
|
125 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
|
126 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
|
127 { |
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
|
128 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
|
129 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
|
130 _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
|
131 } |
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.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
|
136 } |
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 } |
178 | 138 } |
139 } |