public void DeveAdicionarAmigo() { var repositorio = new Mock <IRepositorioDeAmigos>(); var id = Guid.NewGuid(); var amigo = new Usuario { }; repositorio.Setup(x => x.PorId(It.Is <Guid>(y => y == id))) .Returns(amigo); var usuario = new Usuario { Amigos = new List <Amigo>() }; repositorio.Setup(x => x.PorEmail(It.Is <string>(y => y.Equals("*****@*****.**")))) .Returns(usuario); repositorio.Setup(x => x.Adicionar(It.IsAny <Usuario>(), "*****@*****.**")); var identity = new ClaimsIdentity(); identity.AddClaim(new Claim("email", "*****@*****.**")); var principal = new ClaimsPrincipal(identity); var servico = new ServicoDeAmigos(repositorio.Object); servico.Adicionar(id, "*****@*****.**"); repositorio.Verify(x => x.PorId(It.Is <Guid>(y => y == id)), Times.Once()); repositorio.Verify(x => x.PorEmail(It.Is <string>(y => y.Equals("*****@*****.**"))), Times.Once()); repositorio.Verify(x => x.Adicionar(It.IsAny <Usuario>(), "*****@*****.**"), Times.Once()); }
public void DeveListarAmigosNaoAdicionados() { var repositorio = new Mock <IRepositorioDeAmigos> (); var lista = new [] { new Usuario { } }; repositorio.Setup(x => x.NaoAdicionados(It.Is <string> (v => v.Equals("*****@*****.**")))) .Returns(lista); var identity = new ClaimsIdentity(); identity.AddClaim(new Claim("email", "*****@*****.**")); var principal = new ClaimsPrincipal(identity); var servico = new ServicoDeAmigos(repositorio.Object) as IServicoDeAmigos; var resultado = servico.NaoAdicionados("*****@*****.**"); resultado.Should().BeEquivalentTo(lista.Select(x => new DadosDoAmigo { Nome = x.Nome, AmigoId = x.Id })); repositorio.Verify(x => x.NaoAdicionados(It.Is <string>(v => v.Equals("*****@*****.**"))), Times.Once()); }