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

            var blockPost = new BlockedPost
            {
                PostId            = post.Id,
                ApplicationUserId = post.ApplicationUserId,
                IsBlocked         = 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(blockPost);
                await db.SaveChangesAsync();

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

                Assert.True(result);
                Assert.False(db.BlockedPosts.FirstOrDefault(x => x.PostId == post.Id).IsBlocked);
            }
        }
Beispiel #2
0
        public async Task UnbannNoneExistingPost()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;

            using (var db = new ApplicationDbContext(options))
            {
                IEditorPostService commentService = new EditorPostService(db);
                var result = await commentService.UnbannPost(Guid.NewGuid().ToString());

                Assert.False(result);
            }
        }
        public async Task UnbannNoneExistingPost()
        {
            var user = new ApplicationUser {
                Id = Guid.NewGuid().ToString(), UserName = "******"
            };
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;

            var mockService = new Mock <INotificationService>();

            var mockHub = new Mock <IHubContext <NotificationHub> >();

            using (var db = new ApplicationDbContext(options))
            {
                IEditorPostService commentService = new EditorPostService(db, mockService.Object, mockHub.Object);
                var result = await commentService.UnbannPost(Guid.NewGuid().ToString(), user);

                Assert.False(result);
            }
        }
        public async Task UnbannUnbannedPost()
        {
            var user = new ApplicationUser {
                Id = Guid.NewGuid().ToString(), UserName = "******"
            };
            var post = new Post
            {
                Id = Guid.NewGuid().ToString(),
                ApplicationUserId = Guid.NewGuid().ToString(),
                Title             = "Test",
                PostStatus        = PostStatus.Approved,
            };

            var blockPost = new BlockedPost
            {
                PostId            = post.Id,
                ApplicationUserId = post.ApplicationUserId,
                IsBlocked         = false,
            };
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;

            var mockService = new Mock <INotificationService>();

            var mockHub = new Mock <IHubContext <NotificationHub> >();

            using (var db = new ApplicationDbContext(options))
            {
                IEditorPostService commentService = new EditorPostService(db, mockService.Object, mockHub.Object);
                db.Posts.Add(post);
                db.BlockedPosts.Add(blockPost);
                await db.SaveChangesAsync();

                var result = await commentService.UnbannPost(post.Id, user);

                Assert.False(result);
            }
        }