Esempio n. 1
0
        public void Merge_ToEmpty()
        {
            var target = repository.Save(new Tag());

            queries.Merge(tag.Id, target.Id);

            Assert.AreEqual("Appearance Miku", target.Names.AllValues.FirstOrDefault(), "Name was copied");

            var mergeRecord = repository.List <TagMergeRecord>().FirstOrDefault(m => m.Source == tag.Id);

            Assert.IsNotNull(mergeRecord, "Merge record was created");
            Assert.AreEqual(target, mergeRecord.Target, "Merge record target");
        }
Esempio n. 2
0
        public void Merge_ToEmpty()
        {
            var target = _repository.Save(new Tag());

            _queries.Merge(_tag.Id, target.Id);

            target.Names.AllValues.FirstOrDefault().Should().Be("Appearance Miku", "Name was copied");

            var mergeRecord = _repository.List <TagMergeRecord>().FirstOrDefault(m => m.Source == _tag.Id);

            mergeRecord.Should().NotBeNull("Merge record was created");
            mergeRecord.Target.Should().Be(target, "Merge record target");
        }
Esempio n. 3
0
        public ActionResult Merge(int id, int?targetTagId)
        {
            if (targetTagId == null)
            {
                ModelState.AddModelError("targetTagId", "Tag must be selected");
                return(Merge(id));
            }

            queries.Merge(id, targetTagId.Value);

            return(RedirectToAction("Edit", new { id = targetTagId.Value }));
        }
Esempio n. 4
0
        private TagForApiContract Merge(int sourceId, int targetId)
        {
            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());

                queries.Merge(sourceId, targetId);

                var result = queries.LoadTag(targetId, t => new TagForApiContract(t, ContentLanguagePreference.English, TagOptionalFields.None));

                return result;
            }));
        }