comparison 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
comparison
equal deleted inserted replaced
93:65f0b3d70c18 94:db4b1e2cae49
1 using System.Linq;
2 using AltNetHispano.Agendas.Domain;
3 using AltNetHispano.Agendas.Domain.Repositories;
4 using AltNetHispano.Agendas.Domain.Services;
5 using Moq;
6 using NUnit.Framework;
7
8 namespace AltNetHispano.Agendas.Tests
9 {
10 [TestFixture]
11 public class PersonaServiceTests : TestBase
12 {
13 [Test]
14 public void Crear_nueva_persona()
15 {
16 var personaRepository = new Mock<IPersonaRepository>();
17 Persona persona=null;
18 personaRepository.Setup(r => r.Save(It.IsAny<Persona>())).Callback<Persona>(p => persona = p);
19
20 var personaService = new PersonaService(personaRepository.Object);
21
22 Assert.IsTrue(personaService.Validate(IdentityProviderEnum.Twitter, "nelopauselli", "Nelo Pauselli"));
23 personaRepository.Verify(r=>r.Save(It.IsAny<Persona>()), Times.Once());
24 Assert.IsNotNull(persona);
25 Assert.AreEqual(1, persona.Cuentas.Count());
26 Assert.AreEqual("nelopauselli", persona.Twitter);
27
28 Cuenta cuenta = persona.Cuentas.First();
29 Assert.AreEqual(IdentityProviderEnum.Twitter, cuenta.IdentityProvider);
30 Assert.AreEqual("nelopauselli", cuenta.LogonName);
31
32 personaRepository.Setup(r => r.GetCuenta(IdentityProviderEnum.Twitter, "nelopauselli")).Returns(cuenta);
33
34 Assert.AreEqual(1, persona.Cuentas.Count());
35 Assert.IsTrue(personaService.Validate(IdentityProviderEnum.Twitter, "nelopauselli", "Nelo Pauselli"));
36 Assert.AreEqual(1, persona.Cuentas.Count());
37 }
38 }
39 }