public async void AcceptFriendRequestRoute_Test()
        {
            // Arrange
            var user   = CreatePerson();
            var friend = CreatePerson();

            var acceptedFriends = new List <Person>();

            _personRepository
            .Setup(x => x.Single(p => p.Name == user.Name))
            .ReturnsAsync(user);
            _personRepository
            .Setup(x => x.Single(p => p.Name == friend.Name))
            .ReturnsAsync(friend);

            _personRepository
            .Setup(x =>
                   x.Relate <Person, FriendsWith>(
                       It.IsAny <Expression <Func <Person, bool> > >(),
                       It.IsAny <Expression <Func <Person, bool> > >(),
                       It.IsAny <FriendsWith>()))
            .ReturnsAsync(true)
            .Callback <Expression <Func <Person, bool> >, Expression <Func <Person, bool> >, FriendsWith>(
                (exp1, exp2, requestedFriends) => { acceptedFriends.Add(friend); }
                );

            var personController = new PersonController(_personRepository.Object, _mapper, _emailHelper.Object, _tokenClass.Object);
            var friendController = new FriendController(_personRepository.Object, _friendRepository.Object, _mapper);

            // Act
            var result = await friendController.ConfirmFriendRequest(user.Name, friend.Name);

            var okResult = result as OkObjectResult;

            // Assert
            Assert.True(okResult != null);
            Assert.Equal(200, okResult.StatusCode);
        }