Example #1
0
        public async void AddMultipleFriendTest()
        {
            var command1 = new AddFriendCommand()
            {
                FriendUserId  = 1,
                CurrentUserId = 2
            };
            var command2 = new AddFriendCommand()
            {
                FriendUserId  = 1,
                CurrentUserId = 3
            };
            var handler    = new AddFriendCommandHandler(Context);
            var getHandler = new GetFriendsQueryHandler(Context, new ImageRepository());

            await handler.Handle(command1, CancellationToken.None);

            await handler.Handle(command2, CancellationToken.None);

            IEnumerable <UserModel> friends1 = await getHandler.Handle(new GetFriendsQuery()
            {
                UserId = 1
            }, CancellationToken.None);

            IEnumerable <UserModel> friends2 = await getHandler.Handle(new GetFriendsQuery()
            {
                UserId = 2
            }, CancellationToken.None);

            IEnumerable <UserModel> friends3 = await getHandler.Handle(new GetFriendsQuery()
            {
                UserId = 3
            }, CancellationToken.None);

            Assert.True(friends1.All(user => user.Id == 2 || user.Id == 3));
            Assert.Single(friends2, user => user.Id == 1);
            Assert.Single(friends3, user => user.Id == 1);
            Assert.Contains(Friendships, friendship => friendship.Friend1Id == 1 && friendship.Friend2Id == 2);
            Assert.Contains(Friendships, friendship => friendship.Friend1Id == 1 && friendship.Friend2Id == 3);
            Assert.NotEmpty(_jon.Friends);
            Assert.NotEmpty(_jon.FriendsOf);
            Assert.NotEmpty(_danny.Friends);
            Assert.NotEmpty(_danny.FriendsOf);
            Assert.NotEmpty(_ghost.Friends);
            Assert.NotEmpty(_ghost.FriendsOf);
        }
Example #2
0
        public async void CheckNoFriendshipsTest()
        {
            var handler = new GetFriendsQueryHandler(Context, new ImageRepository());

            IEnumerable <UserModel> friends1 = await handler.Handle(new GetFriendsQuery()
            {
                UserId = 1
            }, CancellationToken.None);

            IEnumerable <UserModel> friends2 = await handler.Handle(new GetFriendsQuery()
            {
                UserId = 2
            }, CancellationToken.None);

            IEnumerable <UserModel> friends3 = await handler.Handle(new GetFriendsQuery()
            {
                UserId = 3
            }, CancellationToken.None);

            Assert.Empty(friends1);
            Assert.Empty(friends2);
            Assert.Empty(friends3);
        }