public void DeleteMethodCallsContextRemoveMethod()
        {
            // arrange
            var postId = 5;

            var existingPost = new Post()
            {
                Id = postId, Author = "Author", Content = "Old", Title = "Old"
            };
            var data = new List <Post> {
                existingPost
            }.AsQueryable();
            var mockSet = CreateMockSet(data);

            mockContext.Setup(x => x.Posts).Returns(mockSet.Object);

            mockContext.Setup(x => x.Remove(It.IsAny <Post>()));
            mockContext.Setup(x => x.SaveChanges());

            // act
            repository.Delete(postId);

            // assert
            mockContext.VerifyAll();
        }
Exemple #2
0
        public string DeleteThread(string id, string askingUser)
        {
            if (!hasAccessToThread(id, askingUser))
            {
                throw new Exception("You have no access to this thread!");
            }

            var thread = threadRepository.Find(id);

            foreach (var post in thread.ThreadPosts)
            {
                var postToDelete = postsRepository.Querry(p => p.Id == post).First();
                if (!(postsRepository.Delete(postToDelete.Id)))
                {
                    throw new Exception("Cannot delete nonexistant post!");
                }
            }

            if (threadRepository.Delete(id))
            {
                return(id);
            }
            else
            {
                throw new Exception("Cannot delete nonexistant thread!");
            }
        }
Exemple #3
0
        public bool DeletePost(int postId)
        {
            var deletingPost = _postsRepository.Get(postId);

            if (deletingPost != null)
            {
                return(_postsRepository.Delete(postId));
            }

            return(false);
        }
        public void Delete()
        {
            // Arrange
            var id = 6;

            _repository.Insert(new Post {
                Id = id, Text = id.ToString()
            });

            // Act
            _repository.Delete(id);

            var actual = _repository.Get(id);

            Assert.Null(actual);
        }
Exemple #5
0
        public string DeletePost(string threadId, string postId, string askingUser)
        {
            if (!hasAccessToThread(threadId, askingUser))
            {
                throw new Exception("You have no access to this thread!");
            }

            var thread = threadRepository.Find(threadId);

            thread.ThreadPosts.Remove(postId);
            threadRepository.Update(thread);

            var postToDelete  = postsRepository.Querry(p => p.Id == postId).First();
            var modifiedPosts = postsRepository.Querry(p => p.ConnectedPosts.Contains(postId));

            foreach (var post in modifiedPosts)
            {
                post.ConnectedPosts.Remove(postId);
                post.ConnectedPosts.AddRange(postToDelete.ConnectedPosts);
                postsRepository.Update(post);
            }

            var postsFollowing = postsRepository.Querry(p => p.ThreadIndex > postToDelete.ThreadIndex && p.ThreadId == threadId);

            foreach (var post in postsFollowing)
            {
                post.ThreadIndex -= 1;
                postsRepository.Update(post);
            }

            if (postsRepository.Delete(postToDelete.Id))
            {
                return(threadId);
            }
            else
            {
                throw new Exception("Cannot delete nonexistant post!");
            }
        }
 public ActionResult Delete(Guid id)
 {
     _postsRepository.Delete(id);
     return(Ok());
 }
Exemple #7
0
 public async Task DeletePost(int selectedPostId)
 {
     _postsRepository.Delete(await _postsRepository.GetPost(selectedPostId));
     await _postsRepository.SaveChanges();
 }
Exemple #8
0
 public void Delete(int id)
 {
     _postsRepository.Delete(id);
 }
Exemple #9
0
 public void Delete(int id)
 {
     _postRepository.Delete(id);
     _postRepository.Save();
 }
Exemple #10
0
        public async Task RemovePost(int postId)
        {
            await _postsRepository.Delete(postId);

            await _postsRepository.UnitOfWork.SaveChangesAsync();
        }
Exemple #11
0
 public string Delete(int id)
 {
     _repository.Delete(id);
     return("Deleted");
 }
        public RootMutation(
            IApplicationUsersRepository applicationUserRepository,
            IPostsRepository postRepository)
        {
            Name = "Mutation";

            Field <ApplicationUserType>(
                "SignUp",
                arguments: new QueryArguments(
                    new QueryArgument <StringGraphType> {
                Name = "userName"
            },
                    new QueryArgument <NonNullGraphType <StringGraphType> > {
                Name = "email"
            },
                    new QueryArgument <NonNullGraphType <StringGraphType> > {
                Name = "password"
            }),
                resolve: context =>
            {
                var userName = context.GetArgument <string>("userName");
                var email    = context.GetArgument <string>("email");
                var password = context.GetArgument <string>("password");
                return(applicationUserRepository.Create(userName, email, password));
            }
                );

            Field <ApplicationUserType>(
                "SignIn",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <StringGraphType> > {
                Name = "email"
            },
                    new QueryArgument <NonNullGraphType <StringGraphType> > {
                Name = "password"
            }),
                resolve: context =>
            {
                var email    = context.GetArgument <string>("email");
                var password = context.GetArgument <string>("password");
                return(applicationUserRepository.GetAuthenticatedUser(email, password));
            }
                );

            Field <PostType>(
                "CreatePost",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <PostInputType> > {
                Name = "newPost"
            }),
                resolve: context => postRepository.Create(context.GetArgument <Post>("newPost"))
                );

            Field <PostType>(
                "UpdatePost",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <PostInputType> > {
                Name = "updatedPost"
            }),
                resolve: context => postRepository.Update(context.GetArgument <Post>("updatedPost"))
                );

            Field <PostType>(
                "DeletePost",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <StringGraphType> > {
                Name = "postId"
            }),
                resolve: context => postRepository.Delete(context.GetArgument <string>("postId"))
                );
        }