public void Handler_ReturnsRemoteMembershipTicket_UsingAuthenticatorMethod()
        {
            var userName = FakeData.String();
            var loginProvider = FakeData.String();
            var providerKey = FakeData.String();
            var principal = new Mock<IPrincipal>(MockBehavior.Strict);
            var remoteMembershipTicket = new RemoteMembershipTicket
            {
                UserName = userName,
                Login = new UserLoginInfo(loginProvider, providerKey),
            };
            var authenticator = new Mock<IAuthenticate>(MockBehavior.Strict);
            authenticator.Setup(x => x.GetRemoteMembershipTicket(principal.Object))
                .Returns(Task.FromResult(remoteMembershipTicket));
            var handler = new HandlePrincipalRemoteMembershipTicketQuery(authenticator.Object);
            var query = new PrincipalRemoteMembershipTicket(principal.Object);

            RemoteMembershipTicket result = handler.Handle(query).Result;

            result.ShouldEqual(remoteMembershipTicket);
            authenticator.Verify(x => x.GetRemoteMembershipTicket(principal.Object), Times.Once);
        }
 public void Query_Ctor_SetsPrincipalsProperty_WhenPrincipalIsNotNull()
 {
     var principal = new Mock<IPrincipal>(MockBehavior.Strict);
     var query = new PrincipalRemoteMembershipTicket(principal.Object);
     query.Principal.ShouldEqual(principal.Object);
 }