Пример #1
0
        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();
        }
Пример #2
0
        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);
        }
Пример #3
0
        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())));
        }