Beispiel #1
0
        public async Task BannPost()
        {
            Post post = new Post
            {
                Id                = Guid.NewGuid().ToString(),
                Title             = "Test",
                ApplicationUserId = Guid.NewGuid().ToString(),
            };

            BlockedPost blockedPost = new BlockedPost
            {
                PostId            = post.Id,
                ApplicationUserId = post.ApplicationUserId,
                IsBlocked         = false,
            };

            FavouritePost favouritePost = new FavouritePost
            {
                ApplicationUserId = post.ApplicationUserId,
                IsFavourite       = true,
                PostId            = post.Id,
            };

            UserAction userAction = new UserAction
            {
                Action = UserActionsType.CreatePost,
                PostId = post.Id,
            };

            PostLike postLike = new PostLike
            {
                PostId  = post.Id,
                UserId  = post.ApplicationUserId,
                IsLiked = true,
            };

            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;

            using (var db = new ApplicationDbContext(options))
            {
                IEditorPostService commentService = new EditorPostService(db);
                db.Posts.Add(post);
                db.BlockedPosts.Add(blockedPost);
                db.FavouritePosts.Add(favouritePost);
                db.UserActions.Add(userAction);
                db.PostsLikes.Add(postLike);
                await db.SaveChangesAsync();

                var result = await commentService.BannPost(post.Id);

                Assert.True(result);
                Assert.Equal(1, db.BlockedPosts.Count());
                Assert.Equal(PostStatus.Banned, db.Posts.FirstOrDefault(x => x.Id == post.Id).PostStatus);
                Assert.Equal(0, db.UserActions.Count());
            }
        }
        protected override void Seed(Sahika.DataAccess.Concrete.SahikaContext context)
        {
            List <ApplicationUser> Users = new List <ApplicationUser>();

            for (int i = 4; i < 20; i++)
            {
                ApplicationUser user = new ApplicationUser();
                user.UserName             = FakeData.NameData.GetFullName();
                user.Email                = FakeData.NetworkData.GetEmail();
                user.EmailConfirmed       = true;
                user.PhoneNumber          = FakeData.PhoneNumberData.GetPhoneNumber();
                user.PhoneNumberConfirmed = true;
                Users.Add(user);
                context.Users.Add(user);
            }

            context.SaveChanges();
            List <Post> Posts = new List <Post>();

            for (int i = 0; i < 15; i++)
            {
                Post post = new Post();
                post.Title       = FakeData.TextData.GetSentence();
                post.Body        = FakeData.TextData.GetSentence();
                post.DateCreated = FakeData.DateTimeData.GetDatetime();
                post.UserId      = i + 1;
                Posts.Add(post);
                context.Posts.Add(post);
            }
            context.SaveChanges();

            List <Category> Categories = new List <Category>();

            for (int i = 0; i < 5; i++)
            {
                Category category = new Category();
                category.CategoryName = FakeData.TextData.GetSentence();

                category.DateCreated = FakeData.DateTimeData.GetDatetime();
                Categories.Add(category);
                context.Categories.Add(category);
            }
            context.SaveChanges();


            List <SubCategory> SubCategories = new List <SubCategory>();

            for (int i = 0; i < 5; i++)
            {
                SubCategory subCategory = new SubCategory();
                subCategory.SubCategoryName = FakeData.TextData.GetSentence();
                subCategory.CategoryId      = i + 1;
                SubCategories.Add(subCategory);
                context.SubCategories.Add(subCategory);
            }
            context.SaveChanges();



            List <PostComment> PostComments = new List <PostComment>();

            for (int i = 1; i < 5; i++)
            {
                for (int j = 6; j < 9; j++)
                {
                    PostComment postComment = new PostComment();
                    postComment.PostId  = j;
                    postComment.UserId  = i;
                    postComment.Comment = FakeData.TextData.GetSentence();
                    PostComments.Add(postComment);
                    context.PostComments.Add(postComment);
                }
            }
            context.SaveChanges();

            List <FavouritePost> FavouritePosts = new List <FavouritePost>();

            for (int i = 1; i < 5; i++)
            {
                FavouritePost favouritePost = new FavouritePost();
                favouritePost.UserId = 1;
                favouritePost.PostId = i + 2;
                FavouritePosts.Add(favouritePost);
                context.FavouritePosts.Add(favouritePost);
            }
            context.SaveChanges();


            List <FavouritePost> FavouritePosts2 = new List <FavouritePost>();

            for (int i = 5; i < 10; i++)
            {
                FavouritePost favouritePost = new FavouritePost();
                favouritePost.UserId = 2;
                favouritePost.PostId = i;
                FavouritePosts2.Add(favouritePost);
                context.FavouritePosts.Add(favouritePost);
            }
            context.SaveChanges();

            List <FavouritePost> FavouritePosts3 = new List <FavouritePost>();

            for (int i = 10; i < 15; i++)
            {
                FavouritePost favouritePost = new FavouritePost();
                favouritePost.UserId = 3;
                favouritePost.PostId = i;
                FavouritePosts3.Add(favouritePost);
                context.FavouritePosts.Add(favouritePost);
            }
            context.SaveChanges();
            List <PostStat> PostStats = new List <PostStat>();

            for (int i = 0; i < 10; i++)
            {
                PostStat postStat = new PostStat();
                postStat.PostStatId = i + 1;
                postStat.Views      = i + 25;
                postStat.Claps      = i + 35;
                PostStats.Add(postStat);
                context.PostStats.Add(postStat);
            }
            context.SaveChanges();
        }