Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/PersonaServiceTests.cs @ 143:2dbb15f4510f
Asociar Twitter a Persona existente
author | Nelo@Guinea.neluz.int |
---|---|
date | Mon, 01 Aug 2011 09:41:29 -0300 |
parents | 62dc9fb3a03e |
children | 5a1f7233aa5a |
rev | line source |
---|---|
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
1 using System.Linq; |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
2 using AltNetHispano.Agendas.Domain; |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
3 using AltNetHispano.Agendas.Domain.Repositories; |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
4 using AltNetHispano.Agendas.Domain.Services; |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
5 using Moq; |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
6 using NUnit.Framework; |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
7 |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
8 namespace AltNetHispano.Agendas.Tests |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
9 { |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
10 [TestFixture] |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
11 public class PersonaServiceTests : TestBase |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
12 { |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
13 [Test] |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
14 public void Crear_nueva_persona() |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
15 { |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
16 var personaRepository = new Mock<IPersonaRepository>(); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
17 Persona persona=null; |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
18 personaRepository.Setup(r => r.Save(It.IsAny<Persona>())).Callback<Persona>(p => persona = p); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
19 |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
20 var personaService = new PersonaService(personaRepository.Object); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
21 |
115 | 22 Assert.IsTrue(personaService.CreateIfNotExist(IdentityProviderEnum.Twitter, "nelopauselli", "Nelo Pauselli")); |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
23 personaRepository.Verify(r=>r.Save(It.IsAny<Persona>()), Times.Once()); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
24 Assert.IsNotNull(persona); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
25 Assert.AreEqual(1, persona.Cuentas.Count()); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
26 Assert.AreEqual("nelopauselli", persona.Twitter); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
27 |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
28 Cuenta cuenta = persona.Cuentas.First(); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
29 Assert.AreEqual(IdentityProviderEnum.Twitter, cuenta.IdentityProvider); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
30 Assert.AreEqual("nelopauselli", cuenta.LogonName); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
31 |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
32 personaRepository.Setup(r => r.GetCuenta(IdentityProviderEnum.Twitter, "nelopauselli")).Returns(cuenta); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
33 |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
34 Assert.AreEqual(1, persona.Cuentas.Count()); |
115 | 35 Assert.IsTrue(personaService.CreateIfNotExist(IdentityProviderEnum.Twitter, "nelopauselli", "Nelo Pauselli")); |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
36 Assert.AreEqual(1, persona.Cuentas.Count()); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
37 } |
96
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
38 |
143 | 39 [Test] |
40 public void Asociar_persona_existente_por_twitter() | |
41 { | |
42 var personaRepository = DefaultPersonaRepository; | |
43 | |
44 personaRepository.Save(new Persona("Mariano Pauselli", "marianopauselli@gmail.com", "marianopauselli", "http://marianopauselli.blogspot.com")); | |
45 var personaService = new PersonaService(personaRepository); | |
46 | |
47 Assert.IsTrue(personaService.CreateIfNotExist(IdentityProviderEnum.Twitter, "marianopauselli", "Mariano Pauselli")); | |
48 | |
49 var persona = personaRepository.GetByNombre("Mariano Pauselli"); | |
50 Assert.IsNotNull(persona); | |
51 Assert.AreEqual(1, persona.Cuentas.Count()); | |
52 Assert.AreEqual("marianopauselli", persona.Twitter); | |
53 | |
54 Cuenta cuenta = persona.Cuentas.First(); | |
55 Assert.AreEqual(IdentityProviderEnum.Twitter, cuenta.IdentityProvider); | |
56 Assert.AreEqual("marianopauselli", cuenta.LogonName); | |
57 | |
58 Assert.AreEqual(1, persona.Cuentas.Count()); | |
59 Assert.IsTrue(personaService.CreateIfNotExist(IdentityProviderEnum.Twitter, "marianopauselli", "Mariano Pauselli")); | |
60 Assert.AreEqual(1, persona.Cuentas.Count()); | |
61 } | |
62 | |
96
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
63 [Test] |
142 | 64 public void IdentificacionGoogle() |
96
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
65 { |
142 | 66 var builtIn = new Identification(Identification.Map[(int)IdentityProviderEnum.Google] + "nelo"); |
67 Assert.AreEqual(IdentityProviderEnum.Google, builtIn.IdentityProvider); | |
96
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
68 Assert.AreEqual("nelo", builtIn.LogonName); |
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
69 } |
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
70 |
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
71 [Test] |
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
72 public void IdentificacionTwitter() |
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
73 { |
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
74 var builtIn = new Identification(Identification.Map[(int)IdentityProviderEnum.Twitter] + "nelo"); |
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
75 Assert.AreEqual(IdentityProviderEnum.Twitter, builtIn.IdentityProvider); |
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
76 Assert.AreEqual("nelo", builtIn.LogonName); |
1eb5a0e531bf
Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
77 } |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
78 } |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
79 } |