コード例 #1
0
        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");
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: SongQueriesTests.cs プロジェクト: kurono1984/vocadb
        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");
        }