public void ArticleValidateInputFields() { HomePage homePage = new HomePage(_browser); FaceBookconnectPage faceBookconnectPage = homePage.ClickOnConnectBtn(); HomePage homePageConnected = faceBookconnectPage.Login(_config.ConfigObject.Users.AdminUser); homePageConnected.ValidateUserProfilePic(); EditorPage editorPage = homePageConnected.ClickOnAddArticle(); ArticleBase articleBase = editorPage.ClickOnArticle(); var errors = articleBase.ValidateFildes(); Assert.IsTrue(errors == "", errors); }
/// <summary> /// 데이터 저장, 수정, 답변 공통 메서드 /// </summary> public int SaveOrUpdate(ArticleBase n, BoardWriteFormType formType) { int r = 0; // 파라미터 추가 var p = new DynamicParameters(); //[a] 공통 p.Add("@Name", value: n.Name, dbType: DbType.String); p.Add("@Email", value: n.Email, dbType: DbType.String); p.Add("@Title", value: n.Title, dbType: DbType.String); p.Add("@Content", value: n.Content, dbType: DbType.String); p.Add("@Password", value: n.Password, dbType: DbType.String); p.Add("@Encoding", value: n.Encoding, dbType: DbType.String); p.Add("@Homepage", value: n.Homepage, dbType: DbType.String); p.Add("@FileName", value: n.FileName, dbType: DbType.String); p.Add("@FileSize", value: n.FileSize, dbType: DbType.Int32); p.Add("@Category", value: n.Category, dbType: DbType.String); // 추가 switch (formType) { case BoardWriteFormType.Write: //[b] 글쓰기 전용 p.Add("@PostIp", value: n.PostIp, dbType: DbType.String); r = db.Execute("CongressesWrite", p, commandType: CommandType.StoredProcedure); break; case BoardWriteFormType.Modify: //[b] 수정하기 전용 p.Add("@ModifyIp", value: n.ModifyIp, dbType: DbType.String); p.Add("@Id", value: n.Id, dbType: DbType.Int32); r = db.Execute("CongressesModify", p, commandType: CommandType.StoredProcedure); break; case BoardWriteFormType.Reply: //[b] 답변쓰기 전용 p.Add("@PostIp", value: n.PostIp, dbType: DbType.String); p.Add("@ParentNum", value: n.ParentNum, dbType: DbType.Int32); r = db.Execute("CongressesReply", p, commandType: CommandType.StoredProcedure); break; } return(r); }
private async Task <DataShell> SaveArticleHead(IFormCollection pictureInfo, ArticleBase updateData) { DataShell result = new DataShell(); try{ var oldArticleHeadData = await _blogContext.Articles.FindAsync(updateData.id); if (oldArticleHeadData == null) { result.error = "invalid id article"; return(result); } var articleCategory = await _blogContext.ArticleCategories.FindAsync(updateData.category.id); if (articleCategory == null) { result.error = "invalid id category"; return(result); } if (pictureInfo.Files?.Count > 0) { var newSrc = await _fileOperations.SaveFileAsync(pictureInfo.Files[0], updateData.id.ToString()); if (newSrc.error == null && newSrc.stringData != null) { if (oldArticleHeadData.srcHeadPicture != newSrc.stringData) { _fileOperations.DeleteOldFile(oldArticleHeadData.srcHeadPicture); } updateData.srcHeadPicture = newSrc.stringData; } } updateData.category = articleCategory; oldArticleHeadData.Update(updateData); await _blogContext.SaveChangesAsync(); } catch (Exception ex) { _logger.LogError(ex, "Fail prepeare save datas"); result.error = "Fail prepeare save datas"; } return(result); }
public void ValidateTagsTextBoxSugestionsTags() { string shortTag = _params["ShortTag"].ToString(); string tag = _params["Tag"].ToString(); HomePage homePage = new HomePage(_browser); FaceBookconnectPage faceBookconnectPage = homePage.ClickOnConnectBtn(); HomePage homePageConnected = faceBookconnectPage.Login(_config.ConfigObject.Users.AdminUser); homePageConnected.ValidateUserProfilePic(); EditorPage editorPage = homePageConnected.ClickOnAddArticle(); ArticleBase articleBase = editorPage.ClickOnArticle(); articleBase.WriteShortTags(shortTag); Assert.True(articleBase.ValidateAutoComplete(tag), $"Expected Tag {tag} was not shown on the suggestions."); }
public void ValidateBodyTextfieled() { var bodyExValue = _params["bodyExValue"].ToString(); HomePage homePage = new HomePage(_browser); FaceBookconnectPage faceBookconnectPage = homePage.ClickOnConnectBtn(); HomePage homePageConnected = faceBookconnectPage.Login(_config.ConfigObject.Users.AdminUser); homePageConnected.ValidateUserProfilePic(); EditorPage editorPage = homePageConnected.ClickOnAddArticle(); ArticleBase articleBase = editorPage.ClickOnArticle(); articleBase.WriteDec(bodyExValue); var bodyAcValue = articleBase.GetBodyValue(); Assert.AreEqual(bodyExValue, bodyAcValue); }
public void PreviewButtonCheckEditButton() { HomePage homePage = new HomePage(_browser); FaceBookconnectPage faceBookconnectPage = homePage.ClickOnConnectBtn(); HomePage homePageConnected = faceBookconnectPage.Login(_config.ConfigObject.Users.AdminUser); homePageConnected.ValidateUserProfilePic(); EditorPage editorPage = homePageConnected.ClickOnAddArticle(); ArticleBase articleBase = editorPage.ClickOnArticle(); articleBase.ClickOnMagicStick(2); articleBase.WriteTitle("VIDEO:Title Title Title"); PreviewPage previewPage = articleBase.ClickOnPreviewBtn(); ArticleBase articleBaseEdit = previewPage.ClickOnEditButton(); Assert.IsTrue(articleBaseEdit.ValidateEditMode()); }
public void DragAndDropAcoverImage() { HomePage homePage = new HomePage(_browser); FaceBookconnectPage faceBookconnectPage = homePage.ClickOnConnectBtn(); HomePage homePageConnected = faceBookconnectPage.Login(_config.ConfigObject.Users.AdminUser); homePageConnected.ValidateUserProfilePic(); EditorPage editorPage = homePageConnected.ClickOnAddArticle(); ArticleBase articleBase = editorPage.ClickOnArticle(); CropImagePopUp cropImagePopUp = articleBase.DragImage(0); cropImagePopUp.ClickOnCropImageBtn(); cropImagePopUp.ClickOnEditokBtn(); Assert.IsTrue(articleBase.ValidateContainerImage(), "Container image was not exsists on image fieled after dragging."); Assert.IsTrue(articleBase.ValidateDeleteButtonCoverimage(), "Delete button on cover image was not exsist."); }
public PostPage Create(Type template) { EditorPage editorPage = ClickOnAddArticle(); ArticleBase articleBase = editorPage.ClickOnTemplate(Templates.FindIndex(x => x == template)); articleBase.ClickOnMagicStick(2); articleBase.WriteTitle(Title); PreviewPage previewPage = articleBase.ClickOnPreviewBtn(); PostPage postPage = previewPage.ClickOnPublishBtn(); postPage.ValidatePostCreated(Title); var parsedTitle = new string(Title.ToCharArray().Where(c => char.IsLetter(c) || c == '-').ToArray()).Replace("posts", "").Replace("-", " "); Title = parsedTitle.Trim(); return(new PostPage(_browser)); }
public HttpResponseMessage Get(int id) { try { var article = ArticleBase.Load(id, _articleRepository).GetJSONModel(); if (article == null) { return(Request.CreateResponse(HttpStatusCode.NoContent)); } return(Request.CreateResponse(HttpStatusCode.OK, article)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Delete(int id) { try { if (_articleRepository.Exists(id)) { ArticleBase.Delete(id, _articleRepository); return(Request.CreateResponse(HttpStatusCode.NoContent)); } return(Request.CreateResponse(HttpStatusCode.Gone)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public void PublishButton() { var postTitle = "VIDEO:Test post article"; HomePage homePage = new HomePage(_browser); FaceBookconnectPage faceBookconnectPage = homePage.ClickOnConnectBtn(); HomePage homePageConnected = faceBookconnectPage.Login(_config.ConfigObject.Users.AdminUser); homePageConnected.ValidateUserProfilePic(); EditorPage editorPage = homePageConnected.ClickOnAddArticle(); ArticleBase articleBase = editorPage.ClickOnArticle(); articleBase.ClickOnMagicStick(2); articleBase.WriteTitle(postTitle); PreviewPage previewPage = articleBase.ClickOnPreviewBtn(); PostPage postPage = previewPage.ClickOnPublishBtn(); Assert.IsTrue(postPage.ValidatePostCreated(postTitle)); }
public void ImageSearchValidateMaxSearchResultsAndContent() { int maxResults = _params["MaxResults"].ToInt32(); string search = _params["Search"].ToString(); HomePage homePage = new HomePage(_browser); FaceBookconnectPage faceBookconnectPage = homePage.ClickOnConnectBtn(); HomePage homePageConnected = faceBookconnectPage.Login(_config.ConfigObject.Users.AdminUser); homePageConnected.ValidateUserProfilePic(); EditorPage editorPage = homePageConnected.ClickOnAddArticle(); ArticleBase articleBase = editorPage.ClickOnArticle(); articleBase.SearchImage(search); Assert.AreEqual(articleBase.ValidateImageSearchResults(maxResults), maxResults); Assert.True(articleBase.ValidateImageContenet(search), "Results weren't related to the srearch"); }
public void Editor_Article_ValidateTitleTextfieled() { var titleExValue = _params["titleExValue"].ToString(); _browser.Navigate(_config.Url); HomePage homePage = new HomePage(_browser); FaceBookconnectPage faceBookconnectPage = homePage.ClickOnConnectBtn(); HomePage homePageConnected = faceBookconnectPage.Login(_config.ConfigObject.Users.AdminUser); homePageConnected.ValidateUserProfilePic(); EditorPage editorPage = homePageConnected.ClickOnAddArticle(); ArticleBase articleBase = editorPage.ClickOnArticle(); articleBase.WriteTitle(titleExValue); var titleAcValue = articleBase.GetTitleValue(); Assert.AreEqual(titleExValue, titleAcValue); }
public void EI_Article_FullFlow() { _browser.Navigate(_config.Url + "/management"); Auth0LoginPage loginPage = new Auth0LoginPage(_browser); ManagementPage managementPage = loginPage.LoginEI(_config.ConfigObject.Users.AdminUser); managementPage.ClickOnEditorButton(); EditorPage editorPage = new EditorPage(_browser); editorPage.ClickOnArticle(); ArticleBase articleBase = new ArticleBase(_browser); articleBase.FillArticleTemplate(); PostPage postPage = new PostPage(_browser); postPage.ValidateComponents(new BsonArray { ".logo-img", ".post-cover__media img", ".post-article__post-title__title", ".post-content", ".post-side-content", "transfer-news--container", ".post-side-content__external-widget.external-widget.external-widget--taboola", ".post-metadata", ".reactions__list", ".share-component--post-cover", ".share-component--post-bottom", ".trc_rbox.thumbnails-b.trc-content-sponsored", ".post-after .trc-content-sponsored", ".user-menu__link", ".edition-component.has-dropdown", ".new-article", ".main-sidenav-toggle", "#site-header" }); }
private void DisplayDataForReply() { // 넘겨온 Id 값에 해당하는 레코드 하나 읽어서 모델 클래스에 바인딩 var model = new ArticleBase(); if (AccountHandler.HasGroup("Administrators")) { model = _repository.GetByIdAdmin(Convert.ToInt32(_Id)); } else { model = _repository.GetById(Convert.ToInt32(_Id), _userName); } txtTitle.Text = $"Re : {model.Title}"; //string content = $"<br /><br />On {model.PostDate}, '{model.Name}' wrote:<hr />{model.Content}"; string content = $"\r\n\r\nOn {model.PostDate}, '{model.Name}' wrote:\r\n{model.Content}"; txtContent.Text = content; }
public void ValidateTagsTextBoxInsertSingleTag() { BsonArray tagExValue = _params["Tag"].AsBsonArray; HomePage homePage = new HomePage(_browser); FaceBookconnectPage faceBookconnectPage = homePage.ClickOnConnectBtn(); HomePage homePageConnected = faceBookconnectPage.Login(_config.ConfigObject.Users.AdminUser); homePageConnected.ValidateUserProfilePic(); EditorPage editorPage = homePageConnected.ClickOnAddArticle(); ArticleBase articleBase = editorPage.ClickOnArticle(); articleBase.WriteTags(tagExValue); articleBase.ClickOnMagicStick(2); articleBase.WriteTitle("VIDEO:Title Title Title"); PreviewPage previewPage = articleBase.ClickOnPreviewBtn(); PostPage postPage = previewPage.ClickOnPublishBtn(); string errors = postPage.ValidateTagsOnSourcePage(tagExValue); Assert.IsTrue(string.IsNullOrEmpty(errors), errors); }
public void ValidateUiComponentsExistOnPage() { var postTitle = "VIDEO:Test post article"; BsonArray components = _params["Components"].AsBsonArray; HomePage homePage = new HomePage(_browser); FaceBookconnectPage faceBookconnectPage = homePage.ClickOnConnectBtn(); HomePage homePageConnected = faceBookconnectPage.Login(_config.ConfigObject.Users.AdminUser); homePageConnected.ValidateUserProfilePic(); EditorPage editorPage = homePageConnected.ClickOnAddArticle(); ArticleBase articleBase = editorPage.ClickOnArticle(); articleBase.ClickOnMagicStick(2); articleBase.WriteTitle(postTitle); PreviewPage previewPage = articleBase.ClickOnPreviewBtn(); PostPage postPage = previewPage.ClickOnPublishBtn(); var errors = postPage.ValidateComponents(components); Assert.True(string.IsNullOrEmpty(errors), errors); }
public DataShell Validate(IQueryCollection requestParams, IFormCollection formData) { var result = new DataShell(); if (!requestParams.ContainsKey("type") || (requestParams.ContainsKey("type") && (requestParams["type"].ToString() != "article" && requestParams["type"].ToString() != "section") ) || !formData.ContainsKey("JSON") ) { result.error = "invalid query parametrs"; return(result); } string jsonData = formData.Where(x => x.Key == "JSON")?.Select(x => x.Value.ToString()).FirstOrDefault(); if (jsonData == null) { result.error = "invalid JSON parametrs"; return(result); } switch (requestParams["type"].ToString()) { case ("article"): { try { ArticleBase updateArticleData = JsonConvert.DeserializeObject <ArticleBase>(jsonData); result.error = updateArticleData.Validate().error; result.data = updateArticleData; } catch { result.error = "invalid article data structure"; return(result); } break; } case ("section"): { try { Section preSection = JsonConvert.DeserializeObject <Section>(jsonData); result.error = preSection.Validate().error; result.data = preSection; } catch { result.error = "invalid section data structure"; return(result); } break; } default: { result.error = "invalid query parametrs"; return(result); } } return(result); }
protected void btnWrite_Click(object sender, EventArgs e) { // 보안 문자를 정확히 입력했거나, 로그인이 된 상태라면... if (IsImageTextCorrect()) { UploadProcess(); // 파일 업로드 관련 코드 분리 ArticleBase note = new ArticleBase(); note.Id = Convert.ToInt32(_Id); note.Name = txtName.Text; note.Email = Dul.HtmlUtility.Encode(txtEmail.Text); note.Homepage = txtHomepage.Text; note.Title = Dul.HtmlUtility.Encode(txtTitle.Text); note.Content = txtContent.Text; note.FileName = _FileName; note.FileSize = _FileSize; note.Password = txtPassword.Text; note.PostIp = Request.UserHostAddress; note.Encoding = rdoEncoding.SelectedValue; CongressRepository repository = new CongressRepository(); switch (FormType) { case BoardWriteFormType.Write: repository.Add(note); Response.Redirect("CongressList.aspx"); break; case BoardWriteFormType.Modify: note.ModifyIp = Request.UserHostAddress; note.FileName = ViewState["FileName"].ToString(); note.FileSize = Convert.ToInt32(ViewState["FileSize"]); int r = repository.UpdateNote(note); if (r > 0) // 업데이트 완료 { Response.Redirect($"CongressView.aspx?Id={_Id}"); } else { lblError.Text = "업데이트가 되지 않았습니다. 암호를 확인하세요."; } break; case BoardWriteFormType.Reply: note.ParentNum = Convert.ToInt32(_Id); repository.ReplyNote(note); Response.Redirect("CongressList.aspx"); break; default: repository.Add(note); Response.Redirect("CongressList.aspx"); break; } } else { lblError.Text = "보안코드가 틀립니다. 다시 입력하세요."; } }