Example #1
0
        public async void CreateComment_WithTokenThatIsAuthorized_Created()
        {
            // Arrange
            var client      = _server.Instance.CreateClient();
            var accessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI4OGZjOGYyMC05ZDdkLTQ2NjUtODM3MC1mNzgyZGFkNzQ3ZDYiLCJpYXQiOiI5LzI1LzIwMjAgMTE6MTg6MDMiLCJzdWIiOiJhZG1pbkBsZXZpOS5jb20iLCJ1c2VybmFtZSI6IkFkbWluIiwiZXhwIjoxNjA4ODEyMjgzLCJpc3MiOiJMZXZpOSBCYWNrZW5kIiwiYXVkIjoibGV2aTlVc2VycyIsInJvbGVzIjpbIkFkbWluIl19.M9hwz43m5rLjNOJ3QZg4iAozOKByOkHfW7AbjxlDGCY";

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
            var comment = new CommentRequestDTO
            {
                Content  = "Another beautiful day.",
                ThreadId = 1,
            };
            var content = new StringContent(JsonConvert.SerializeObject(comment), Encoding.UTF8, "application/json");


            // Act
            var response = await client.PostAsync("api/comments", content);


            // Assert
            var stream = await response.Content.ReadAsStreamAsync();

            CommentResponseDTO data = null;

            using (var reader = new StreamReader(stream, Encoding.UTF8))
            {
                data = JsonConvert.DeserializeObject <CommentResponseDTO>(await reader.ReadToEndAsync());
            }

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.NotNull(data);
        }
Example #2
0
        public async void UpdateComment_WithTokenThatIsAuthorized_OK()
        {
            // Arrange
            var client      = _server.Instance.CreateClient();
            var accessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyOWZjMDc2OC00NzkzLTRhZDctYWFmZi01MzQ3OTg3MWI2NTgiLCJpYXQiOiI5LzI1LzIwMjAgOTo1MTozNiIsInN1YiI6InVzZXJAbGV2aTkuY29tIiwidXNlcm5hbWUiOiJVc2VyIiwiZXhwIjoxNjA4ODA3MDk2LCJpc3MiOiJMZXZpOSBCYWNrZW5kIiwiYXVkIjoibGV2aTlVc2VycyIsInJvbGVzIjpbIlVzZXIiXX0.4X-q8ZOSGdAOH9LMZf-2iUDRiSPW5tfONnqNCPf9rFM";

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
            var comment = new CommentRequestDTO
            {
                Id       = 2,
                Content  = "Sunny",
                ThreadId = 1
            };
            var content = new StringContent(JsonConvert.SerializeObject(comment), Encoding.UTF8, "application/json");


            // Act
            var response = await client.PutAsync("api/comments/2", content);


            // Assert
            var stream = await response.Content.ReadAsStreamAsync();

            CommentResponseDTO data = null;

            using (var reader = new StreamReader(stream, Encoding.UTF8))
            {
                data = JsonConvert.DeserializeObject <CommentResponseDTO>(await reader.ReadToEndAsync());
            }

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.NotNull(data);
        }
        public void DtoToEntityTest()
        {
            // Arrange
            var dto = new CommentResponseDTO
            {
                Id      = 1,
                Content = "Sunny day."
            };

            // Act
            var model = _commentMapper.ToEntity(dto);

            // Assert
            Assert.Equal(dto.Id, model.Id);
            Assert.Equal(dto.Content, model.Content);
        }
Example #4
0
        public async void GetCommentById_OK()
        {
            var client = _server.Instance.CreateClient();

            var response = await client.GetAsync("api/comments/1");

            var stream = await response.Content.ReadAsStreamAsync();

            CommentResponseDTO data = null;

            using (var reader = new StreamReader(stream, Encoding.UTF8))
            {
                data = JsonConvert.DeserializeObject <CommentResponseDTO>(await reader.ReadToEndAsync());
            }

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.NotNull(data);
            Assert.Equal(1, data.Id);
        }
        private void RenderCommentsHtml(List <CommentDTO> comments, int pageCount, int currentPage)
        {
            //StringBuilder html = new StringBuilder();
            //foreach (CommentDTO c in comments)
            //{
            //    StringBuilder attachmentHtml = new StringBuilder();
            //    if (c.Attachments.Count > 0)
            //    {
            //        foreach (CommentAttachment ca in c.Attachments)
            //        {
            //            attachmentHtml.AppendFormat(
            //                "<a class=\"btn btn-info btn-xs\" onclick=\"downloadattachment('{0}');\">{1}</a><b>|</b>",
            //                ca.VirtualPath.Replace(@"\",@"\\"),
            //                ca.FileName);
            //        }
            //        attachmentHtml.Remove(attachmentHtml.Length - 8, 8);
            //    }

            //    string commentText = c.Comment;
            //commentText = string.Format(@"{0}&nbsp;|&nbsp;", commentText, c.CommentID);

//                <div class="panel panel-default">
//  <div class="panel-body">
//    Panel content
//  </div>
//  <div class="panel-footer">Panel footer</div>
//</div>

            //    html.AppendFormat(
            //        "<div class=\"panel panel-default\">" +
            //        "<div class=\"panel-body\">" +
            //            "<div class='truncate clearfix'>{0}</div>" +
            //                "<div class='viewfullcomment'>"+
            //                        "<input id='viewfullbutton' type='button' onclick='viewfullcomment({1});' value='View Full' />" +
            //                "</div>" +
            //                "<div id='attachments'><b>Attachments:</b>&nbsp;{2}</div>" +
            //                "<br/>by: <b>{3}</b> on <i>{4}</i>" +
            //                 "</div>" +
            //        "</div>",
            //        commentText, c.CommentID, attachmentHtml.ToString(), c.Username, c.CommentDate);
            //}

            //html.Append("<div id='comment-pager'>");

            //for (int i = 0; i < pageCount; i++)
            //{
            //    string selectedPageCss = string.Empty;
            //    if (currentPage == i)
            //    {
            //        selectedPageCss = "pager-selected";
            //    }
            //    html.AppendFormat(
            //        "<a class='page-item {0}' onclick='getallcomments({1});'>{2}</a>",
            //        selectedPageCss, i, i + 1);
            //}

            //html.Append("</div>");

            CommentResponseDTO response = new CommentResponseDTO();

            response.Comments    = comments;
            response.CurrentPage = currentPage;
            response.PageCount   = pageCount;
            this.view.RenderComments(response);
        }