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); }
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); }
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} | ", 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> {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); }