public void Update_Names() { var contract = new SongForEditContract(song, ContentLanguagePreference.English); contract.Names.First().Value = "Replaced name"; contract.UpdateNotes = "Updated song"; contract = queries.UpdateBasicProperties(contract); var songFromRepo = repository.Load(contract.Id); Assert.AreEqual("Replaced name", songFromRepo.DefaultName); Assert.AreEqual(1, songFromRepo.Version, "Version"); Assert.AreEqual(2, songFromRepo.AllArtists.Count, "Number of artists"); Assert.AreEqual(0, songFromRepo.AllAlbums.Count, "No albums"); var archivedVersion = repository.List <ArchivedSongVersion>().FirstOrDefault(); Assert.IsNotNull(archivedVersion, "Archived version was created"); Assert.AreEqual(song, archivedVersion.Song, "Archived version song"); Assert.AreEqual(SongArchiveReason.PropertiesUpdated, archivedVersion.Reason, "Archived version reason"); Assert.AreEqual(SongEditableFields.Names, archivedVersion.Diff.ChangedFields.Value, "Changed fields"); var activityEntry = repository.List <ActivityEntry>().FirstOrDefault(); Assert.IsNotNull(activityEntry, "Activity entry was created"); Assert.AreEqual(song, activityEntry.EntryBase, "Activity entry's entry"); Assert.AreEqual(EntryEditEvent.Updated, activityEntry.EditEvent, "Activity entry event type"); }
private (bool created, SongReport report) CallCreateReport(SongReportType reportType, int?versionNumber = null, Song song = null, DateTime?created = null) { song ??= _song; var result = _queries.CreateReport(song.Id, reportType, "39.39.39.39", "It's Miku, not Rin", versionNumber); var report = _repository.Load <SongReport>(result.reportId); if (created != null) { report.Created = created.Value; } return(result.created, report); }
public async Task Create_Tags_IgnoreCoverIfSongTypeIsCover() { var coverTag = repository.Save(CreateEntry.Tag("cover", coverTagId)); repository.Save(new TagMapping(coverTag, "cover")); pvParser.ResultFunc = (url, meta) => CreateEntry.VideoUrlParseResultWithTitle(tags: new[] { "cover" }); newSongContract.SongType = SongType.Cover; var id = (await CallCreate()).Id; song = repository.Load(id); Assert.AreEqual(SongType.Cover, song.SongType, "SongType"); Assert.AreEqual(0, song.Tags.Tags.Count(), "No tags added"); }