public void Edit_Submission_Title_Content() { var user = TestHelper.SetPrincipal("anon"); var x = new CreateSubmissionCommand(new Domain.Models.UserSubmission() { Subverse = SUBVERSES.Anon, Title = "xxxxxxxxxxxx", Content = "xxxxxxxxxxxx" }).SetUserContext(user); var s = x.Execute().Result; Assert.IsNotNull(s, "Response is null"); Assert.IsTrue(s.Success, s.Message); var cmd = new EditSubmissionCommand(s.Response.ID, new Domain.Models.UserSubmission() { Title = "yyyyyyyyyyyy", Content = "yyyyyyyyyyyy" }).SetUserContext(user); var r = cmd.Execute().Result; VoatAssert.IsValid(r, message: "Edit Submission failed to return true: " + r.Message); using (var repo = new Voat.Data.Repository()) { var submission = repo.GetSubmission(s.Response.ID); Assert.IsNotNull(submission, "Can't find submission from repo"); Assert.AreEqual("yyyyyyyyyyyy", submission.Title); Assert.AreEqual("yyyyyyyyyyyy", submission.Content); } //Assert.Inconclusive(); }
public async Task Submission_Length_Validations() { var user = TestHelper.SetPrincipal("TestUser20"); var createCmd = new CreateSubmissionCommand( new Domain.Models.UserSubmission() { Subverse = SUBVERSES.Unit, Title = "Can you hear me now?".RepeatUntil(201), Content = null }).SetUserContext(user); var r = await createCmd.Execute(); VoatAssert.IsValid(r, Status.Invalid); createCmd = new CreateSubmissionCommand( new Domain.Models.UserSubmission() { Subverse = SUBVERSES.Unit, Title = "Can you hear me now?", Content = "Great!".RepeatUntil(10001) }).SetUserContext(user); r = await createCmd.Execute(); VoatAssert.IsValid(r, Status.Invalid); Assert.IsTrue(r.ValidationErrors.Any(x => x.MemberNames.Any(m => m.IsEqual("content")))); createCmd = new CreateSubmissionCommand( new Domain.Models.UserSubmission() { Subverse = SUBVERSES.Unit, Title = "Can you hear me now?", Content = "Great!" }).SetUserContext(user); r = await createCmd.Execute(); VoatAssert.IsValid(r); var editCmd = new EditSubmissionCommand(r.Response.ID, new Domain.Models.UserSubmission() { Subverse = SUBVERSES.Unit, Title = "Can you hear me now?", Content = "Great!".RepeatUntil(10001), }).SetUserContext(user); r = await editCmd.Execute(); VoatAssert.IsValid(r, Status.Invalid); //editCmd = new EditSubmissionCommand(r.Response.ID, new Domain.Models.UserSubmission() //{ // Subverse = SUBVERSES.Unit, // Title = "Can you hear me now?", // Content = "Great!".RepeatUntil(10001), //}).SetUserContext(user); //r = await createCmd.Execute(); //VoatAssert.IsValid(r, Status.Denied); }
public async Task <ActionResult> EditSubmission(EditSubmission model) { var cmd = new EditSubmissionCommand(model.SubmissionId, new Domain.Models.UserSubmission() { Content = model.SubmissionContent }); var response = await cmd.Execute(); if (response.Success) { DataCache.Submission.Remove(model.SubmissionId); CacheHandler.Instance.Remove(CachingKey.Submission(model.SubmissionId)); return(Json(new { response = response.Response.FormattedContent })); } else { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, response.Message)); } }
public async Task <ActionResult> EditSubmission([FromBody] EditSubmission model) { if (ModelState.IsValid) { var cmd = new EditSubmissionCommand(model.SubmissionId, new Domain.Models.UserSubmission() { Content = model.SubmissionContent }).SetUserContext(User); var response = await cmd.Execute(); if (response.Success) { DataCache.Submission.Remove(model.SubmissionId); CacheHandler.Instance.Remove(CachingKey.Submission(model.SubmissionId)); //return Json(new { response = response.Response.FormattedContent }); } return(JsonResult(response)); } return(JsonResult(CommandResponse.FromStatus(Status.Error, ModelState.GetFirstErrorMessage()))); }