Esempio n. 1
0
        public void Update_Description()
        {
            var updated = new TagContract(tag);

            updated.Description = "mikumikudance.wikia.com/wiki/Miku_Hatsune_Appearance_(Mamama)";

            queries.Update(updated, null);

            Assert.AreEqual(updated.Description, tag.Description, "Description was updated");

            var archivedVersion = repository.List <ArchivedTagVersion>().FirstOrDefault(a => a.Tag.Id == tag.Id);

            Assert.IsNotNull(archivedVersion, "Archived version was created");
            Assert.AreEqual(TagEditableFields.Description, archivedVersion.Diff.ChangedFields, "Changed fields");
        }
Esempio n. 2
0
        public ActionResult Edit(TagEditViewModel model)
        {
            var coverPicUpload = Request.Files["thumbPicUpload"];
            UploadedFileContract uploadedPicture = null;

            if (coverPicUpload != null && coverPicUpload.ContentLength > 0)
            {
                CheckUploadedPicture(coverPicUpload, "thumbPicUpload");
                uploadedPicture = new UploadedFileContract {
                    Mime = coverPicUpload.ContentType, Stream = coverPicUpload.InputStream
                };
            }

            try {
                model.CheckModel();
            } catch (InvalidFormException x) {
                AddFormSubmissionError(x.Message);
            }

            if (!ModelState.IsValid)
            {
                return(RenderEdit(model));
            }

            TagBaseContract result;

            try {
                result = queries.Update(model.ToContract(), uploadedPicture);
            } catch (DuplicateTagNameException x) {
                ModelState.AddModelError("Names", x.Message);
                return(RenderEdit(model));
            }

            return(RedirectToAction("DetailsById", new { id = result.Id, slug = result.UrlSlug }));
        }
Esempio n. 3
0
        public void Update_Description()
        {
            var updated = new TagForEditContract(tag, false, permissionContext);

            updated.Description = new EnglishTranslatedStringContract {
                Original = "mikumikudance.wikia.com/wiki/Miku_Hatsune_Appearance_(Mamama)", English = string.Empty
            };

            queries.Update(updated, null);

            Assert.AreEqual(updated.Description.Original, tag.Description.Original, "Description was updated");

            var archivedVersion = repository.List <ArchivedTagVersion>().FirstOrDefault(a => a.Tag.Id == tag.Id);

            Assert.IsNotNull(archivedVersion, "Archived version was created");
            Assert.AreEqual(TagEditableFields.Description, archivedVersion.Diff.ChangedFields.Value, "Changed fields");
        }
Esempio n. 4
0
        private TagForEditContract Update(TagForEditContract contract)
        {
            var permissionContext = new FakePermissionContext(new UserWithPermissionsContract(Db.UserWithEditPermissions, ContentLanguagePreference.Default));

            return(context.RunTest(repository => {
                var queries = new TagQueries(repository, permissionContext, new FakeEntryLinkFactory(), new InMemoryImagePersister(), new InMemoryImagePersister(),
                                             new FakeUserIconFactory(), new EnumTranslations());

                var updated = queries.Update(contract, null);

                return queries.GetTagForEdit(updated.Id);
            }));
        }
Esempio n. 5
0
        public ActionResult Edit(TagEdit model)
        {
            var coverPicUpload = Request.Files["thumbPicUpload"];
            UploadedFileContract uploadedPicture = null;

            if (coverPicUpload != null && coverPicUpload.ContentLength > 0)
            {
                CheckUploadedPicture(coverPicUpload, "thumbPicUpload");
                uploadedPicture = new UploadedFileContract {
                    Mime = coverPicUpload.ContentType, Stream = coverPicUpload.InputStream
                };
            }

            if (!ModelState.IsValid)
            {
                var contract = queries.GetTagForEdit(model.Name);
                model.CopyNonEditableProperties(contract);
                return(View(model));
            }

            queries.Update(model.ToContract(), uploadedPicture);

            return(RedirectToAction("Details", new { id = model.Name }));
        }