public void DeleteComment_Deleted_NotFail_Test()
        {
            bool called = false;
            var expectedcomment = new Comment() { CommentId = 1, SessionId = 10 };
            int organizerId = 10;

            ISessionRepository sessionRepository = new StubISessionRepository();
            ICommentRepository commentRepository = new StubICommentRepository()
            {
                DeleteInt32 = commentId =>
                {
                    Assert.AreEqual(expectedcomment.CommentId, commentId);
                    called = true;
                },
                GetOrganizerIdInt32 = commentId =>
                {
                    return organizerId;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return organizerId; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new CommentsController(commentRepository, sessionRepository);

                target.Delete(expectedcomment.CommentId);

                Assert.IsTrue(called);
            }
        }
예제 #2
0
        /// <summary>
        /// Add new comment
        /// </summary>
        /// <param name="comment">Comment information</param>
        /// <returns>CommentId</returns>
        public int Post(Comment comment)
        {
            if (comment == null)
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest));

            return _commentRepository.Add(comment);
        }
예제 #3
0
 /// <summary>
 /// <see cref="MyEvents.Data.ICommentRepository"/>
 /// </summary>
 /// <param name="comment"><see cref="MyEvents.Data.ICommentRepository"/></param>
 /// <returns><see cref="MyEvents.Data.ICommentRepository"/></returns>
 public int Add(Comment comment)
 {
     using (var context = new MyEventsContext())
     {
         comment.AddedDateTime = DateTime.UtcNow;
         context.Comments.Add(comment);
         context.SaveChanges();
         return comment.CommentId;
     }
 }
예제 #4
0
        public void AddComment_Added_NotFail_Test()
        {
            var context = new MyEventsContext();
            int sessionId = context.Sessions.FirstOrDefault().SessionId;
            int registeredUserId = context.RegisteredUsers.FirstOrDefault().RegisteredUserId;
            int expected = context.Comments.Count() + 1;

            ICommentRepository target = new CommentRepository();
            Comment comment = new Comment();
            comment.SessionId = sessionId;
            comment.AddedDateTime = DateTime.UtcNow;
            comment.RegisteredUserId = registeredUserId;
            comment.Text = "sample comment";
            target.Add(comment);

            int actual = context.Comments.Count();

            Assert.AreEqual(expected, actual);
        }
        public void DeleteComment_UnauthorizedException_Test()
        {
            var expectedcomment = new Comment() { CommentId = 1, SessionId = 10 };
            int organizerId = 10;

            ISessionRepository sessionRepository = new StubISessionRepository()
            {
                GetOrganizerIdInt32 = (sessionId) =>
                {
                    return organizerId;
                }
            };

            ICommentRepository commentRepository = new StubICommentRepository()
            {
                GetInt32 = commentId =>
                {
                    return expectedcomment;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 1000; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new CommentsController(commentRepository, sessionRepository);

                target.Delete(expectedcomment.CommentId);
            }
        }
        public void PostComment_NotFail_Test()
        {
            bool called = false;
            var expectedcomment = new Comment() { CommentId = 1 };

            ISessionRepository sessionRepository = new StubISessionRepository();
            ICommentRepository commentRepository = new StubICommentRepository()
            {
                AddComment = comment =>
                {
                    Assert.AreEqual(expectedcomment.CommentId, comment.CommentId);
                    called = true;
                    return expectedcomment.CommentId;
                }
            };

            using (ShimsContext.Create())
            {
                var target = new CommentsController(commentRepository, sessionRepository);
                var actual = target.Post(expectedcomment);

                Assert.IsTrue(called);
                Assert.AreEqual(expectedcomment.CommentId, actual);
            }
        }