Пример #1
0
        public async Task CreateUserFollowerShouldDeleteUserFollowerIfExisting()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.UserFollowers.AddAsync(
                new UserFollower
            {
                UserId     = "user1",
                FollowerId = "user2",
            });

            await db.SaveChangesAsync();

            var userFollowerService = new UserFollowersService(db);

            await userFollowerService.CreateUserFollowerAsync("user1", "user2");

            var result = await db.UserFollowers.FirstOrDefaultAsync();

            Assert.True(result.IsDeleted);
            Assert.NotNull(result.DeletedOn);
        }
Пример #2
0
        public async Task CreateUserFollowerShouldAddInDatabaseIfNotExisting(string userId, string followerId)
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);

            var userFollowerService = new UserFollowersService(db);

            await userFollowerService.CreateUserFollowerAsync(userId, followerId);

            Assert.Equal(1, await db.UserFollowers.CountAsync());
        }
Пример #3
0
        public async Task GetFollowingCountShouldNotReturnDeleted()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);

            var user1 = new ApplicationUser {
                Id = "user1", UserName = "******", IsDeleted = false
            };
            var user2 = new ApplicationUser {
                Id = "user2", UserName = "******", IsDeleted = true
            };
            var user3 = new ApplicationUser {
                Id = "user3", UserName = "******", IsDeleted = false
            };

            await db.UserFollowers.AddRangeAsync(
                new UserFollower
            {
                User       = user1,
                FollowerId = "follower1",
            },
                new UserFollower
            {
                User       = user2,
                FollowerId = "follower1",
            },
                new UserFollower
            {
                User       = user3,
                FollowerId = "follower1",
                IsDeleted  = true,
            });

            await db.SaveChangesAsync();

            var userFollowerService = new UserFollowersService(db);

            var result = await userFollowerService.GetFollowingCountByUserIdAsync("follower1");

            Assert.Equal(1, result);
        }
Пример #4
0
        public async Task GetAllFollowingShouldReturnCorrectResultWithTakeAndSkip()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);

            var user1 = new ApplicationUser {
                Id = "user1", UserName = "******", IsDeleted = false
            };
            var user2 = new ApplicationUser {
                Id = "user2", UserName = "******", IsDeleted = false
            };
            var user3 = new ApplicationUser {
                Id = "user3", UserName = "******", IsDeleted = false
            };

            await db.UserFollowers.AddRangeAsync(
                new UserFollower
            {
                User       = user1,
                FollowerId = "follower1",
            },
                new UserFollower
            {
                User       = user2,
                FollowerId = "follower1",
            },
                new UserFollower
            {
                User       = user3,
                FollowerId = "follower1",
            });

            await db.SaveChangesAsync();

            var userFollowerService = new UserFollowersService(db);

            var result = await userFollowerService.GetAllFollowingByUserIdAsync <UserFollowerTestModel>("follower1", 5, 1);

            Assert.Equal(2, result.Count());
        }
Пример #5
0
        public async Task DoesUserFollowUserShouldReturnTrueIfCorrect()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.UserFollowers.AddAsync(
                new UserFollower
            {
                UserId     = "user1",
                FollowerId = "user2",
            });

            await db.SaveChangesAsync();

            var userFollowerService = new UserFollowersService(db);

            var result = await userFollowerService.DoesUserFollowUserAsync("user1", "user2");

            Assert.True(result);
        }
 public void SetUpFixture()
 {
     userFollowersService = new UserFollowersService(UserFollowersRepositoryMock.GetMock().Object);
 }