Mercurial > altnet-hispano
view 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 |
line wrap: on
line source
using System; using System.Linq; using AltNetHispano.Agendas.Domain; using AltNetHispano.Agendas.Domain.Repositories; using AltNetHispano.Agendas.Domain.Services; using NUnit.Framework; namespace AltNetHispano.Agendas.Tests.Cruds { public class PersonaCrud { private readonly IPersonaRepository _personaRepository; private readonly Func<IDisposable> _requestEmulator; private readonly PersonaService _personaService; private readonly IEventoRepository _eventoRepository; public PersonaCrud(Func<IPersonaRepository> createpersonaRepository, Func<IDisposable> requestEmulator, Func<IEventoRepository> createEventoRespository) { _personaRepository = createpersonaRepository.Invoke(); _eventoRepository = createEventoRespository.Invoke(); _personaService = new PersonaService(_personaRepository, _eventoRepository); _requestEmulator = requestEmulator; } public Guid CreateAdministrador() { Guid id; using (_requestEmulator.Invoke()) { var r = _personaService.Add("Nelo Pauselli", "nelopauselli", "nelopauselli@gmail.com", "http://nelopauselli.blogspot.com", null); Assert.AreEqual("Nelo Pauselli", r.Nombre); Assert.AreNotEqual(Guid.Empty, r.Id); id = r.Id; } using (_requestEmulator.Invoke()) { var persona = _personaRepository.GetByNombre("Nelo Pauselli"); Assert.IsNotNull(persona); Assert.AreEqual(id, persona.Id); return persona.Id; } } public void ReadAdministrador() { Guid personaId = CreateAdministrador(); using (_requestEmulator.Invoke()) { var persona = _personaRepository.Get(personaId); Assert.IsNotNull(persona); Assert.AreEqual("Nelo Pauselli", persona.Nombre); Assert.AreEqual("nelopauselli", persona.Twitter); Assert.AreEqual("nelopauselli@gmail.com", persona.Mail); Assert.AreEqual("http://nelopauselli.blogspot.com", persona.Blog); Assert.IsTrue(persona.Cuentas.Any()); Assert.AreEqual("nelopauselli", persona.Cuentas.First().LogonName); Assert.AreEqual(IdentityProviderEnum.Twitter, persona.Cuentas.First().IdentityProvider); Assert.IsTrue(persona.Roles.Any()); Assert.IsTrue(persona.Roles.Contains(Roles.Usuario)); Assert.IsTrue(persona.Roles.Contains(Roles.Administrador)); } } public Guid CreateUsuario() { using (_requestEmulator.Invoke()) { _personaService.Add("Pablo Morales", "pablomorales", "pablomorales@gmail.com", "http://pablomorales.blogspot.com", new[]{Roles.Usuario}); } using (_requestEmulator.Invoke()) { var persona = _personaRepository.GetByNombre("Pablo Morales"); Assert.IsNotNull(persona); return persona.Id; } } public void ReadUsuario() { Guid personaId = CreateUsuario(); using (_requestEmulator.Invoke()) { var persona = _personaRepository.Get(personaId); Assert.IsNotNull(persona); Assert.AreEqual("Pablo Morales", persona.Nombre); Assert.AreEqual("pablomorales", persona.Twitter); Assert.AreEqual("pablomorales@gmail.com", persona.Mail); Assert.AreEqual("http://pablomorales.blogspot.com", persona.Blog); Assert.IsTrue(persona.Cuentas.Any()); Assert.AreEqual("pablomorales", persona.Cuentas.First().LogonName); Assert.AreEqual(IdentityProviderEnum.Twitter, persona.Cuentas.First().IdentityProvider); Assert.IsTrue(persona.Roles.Any()); Assert.IsTrue(persona.Roles.Contains(Roles.Usuario)); Assert.IsFalse(persona.Roles.Contains(Roles.Administrador)); } } public void Update() { Guid personaId = CreateAdministrador(); using (_requestEmulator.Invoke()) { var persona = _personaRepository.Get(personaId); Assert.IsNotNull(persona); persona.Nombre = "Nelo Mariano Pauselli"; } using (_requestEmulator.Invoke()) { var persona = _personaRepository.Get(personaId); Assert.IsNotNull(persona); Assert.AreEqual("Nelo Mariano Pauselli", persona.Nombre); } } public void Delete() { var personaId = CreateUsuario(); using (_requestEmulator.Invoke()) { var persona = _personaRepository.Get(personaId); Assert.IsNotNull(persona); _personaService.Delete(personaId); } using (_requestEmulator.Invoke()) { var persona = _personaRepository.Get(personaId); Assert.IsNull(persona); } } } }