Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Tests/PersonaServiceTests.cs @ 94:db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Se agrega la clase Cuenta para identificar cada una de las cuentas con que se puede autenticar una persona
Alta Automatica de cuentas de twitter creando la persona
author | Nelo@Kenia.neluz.int |
---|---|
date | Sat, 04 Jun 2011 12:11:17 -0300 |
parents | |
children | 1eb5a0e531bf |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/src/Agendas.Tests/PersonaServiceTests.cs Sat Jun 04 12:11:17 2011 -0300 @@ -0,0 +1,39 @@ +using System.Linq; +using AltNetHispano.Agendas.Domain; +using AltNetHispano.Agendas.Domain.Repositories; +using AltNetHispano.Agendas.Domain.Services; +using Moq; +using NUnit.Framework; + +namespace AltNetHispano.Agendas.Tests +{ + [TestFixture] + public class PersonaServiceTests : TestBase + { + [Test] + public void Crear_nueva_persona() + { + var personaRepository = new Mock<IPersonaRepository>(); + Persona persona=null; + personaRepository.Setup(r => r.Save(It.IsAny<Persona>())).Callback<Persona>(p => persona = p); + + var personaService = new PersonaService(personaRepository.Object); + + Assert.IsTrue(personaService.Validate(IdentityProviderEnum.Twitter, "nelopauselli", "Nelo Pauselli")); + personaRepository.Verify(r=>r.Save(It.IsAny<Persona>()), Times.Once()); + Assert.IsNotNull(persona); + Assert.AreEqual(1, persona.Cuentas.Count()); + Assert.AreEqual("nelopauselli", persona.Twitter); + + Cuenta cuenta = persona.Cuentas.First(); + Assert.AreEqual(IdentityProviderEnum.Twitter, cuenta.IdentityProvider); + Assert.AreEqual("nelopauselli", cuenta.LogonName); + + personaRepository.Setup(r => r.GetCuenta(IdentityProviderEnum.Twitter, "nelopauselli")).Returns(cuenta); + + Assert.AreEqual(1, persona.Cuentas.Count()); + Assert.IsTrue(personaService.Validate(IdentityProviderEnum.Twitter, "nelopauselli", "Nelo Pauselli")); + Assert.AreEqual(1, persona.Cuentas.Count()); + } + } +} \ No newline at end of file