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"); }
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"); }
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 })); }
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; })); }