public void SetUp() { artist = CreateEntry.Producer(name: "Tripshots"); vocalist = CreateEntry.Vocalist(name: "Hatsune Miku"); repository = new FakeArtistRepository(artist, vocalist); var weblink = new ArtistWebLink(artist, "Website", "http://tripshots.net", WebLinkCategory.Official); artist.WebLinks.Add(weblink); repository.Save(weblink); repository.SaveNames(artist, vocalist); user = CreateEntry.User(name: "Miku", group: UserGroupId.Moderator); repository.Save(user); permissionContext = new FakePermissionContext(user); imagePersister = new InMemoryImagePersister(); queries = new ArtistQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, imagePersister, MemoryCache.Default, new FakeUserIconFactory(), new EnumTranslations()); newArtistContract = new CreateArtistContract { ArtistType = ArtistType.Producer, Description = string.Empty, Names = new[] { new LocalizedStringContract("Tripshots", ContentLanguageSelection.English) }, WebLink = new WebLinkContract("http://tripshots.net/", "Website", WebLinkCategory.Official) }; }
public void SetUp() { artist = CreateEntry.Producer(name: "Tripshots"); repository = new FakeArtistRepository(artist); foreach (var name in artist.Names) { repository.Save(name); } user = CreateEntry.User(name: "Miku"); repository.Save(user); permissionContext = new FakePermissionContext(user); imagePersister = new InMemoryImagePersister(); queries = new ArtistQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, imagePersister, MemoryCache.Default); newArtistContract = new CreateArtistContract { ArtistType = ArtistType.Producer, Description = string.Empty, Names = new[] { new LocalizedStringContract("Tripshots", ContentLanguageSelection.English) }, WebLink = new WebLinkContract("http://tripshots.net/", "Website", WebLinkCategory.Official) }; }
public void SetUp() { producer = CreateEntry.Producer(id: 1, name: "Tripshots"); vocalist = CreateEntry.Vocalist(id: 39, name: "Hatsune Miku"); vocalist2 = CreateEntry.Vocalist(id: 40, name: "Kagamine Rin"); song = CreateEntry.Song(id: 1, name: "Nebula"); song.LengthSeconds = 39; repository = new FakeSongRepository(song); Save(song.AddArtist(producer)); Save(song.AddArtist(vocalist)); Save(song.CreatePV(new PVContract { Id = 1, Service = PVService.Youtube, PVId = "hoLu7c2XZYU", Name = "Nebula", PVType = PVType.Original })); repository.SaveNames(song); user = CreateEntry.User(id: 1, name: "Miku"); user.GroupId = UserGroupId.Trusted; user2 = CreateEntry.User(id: 2, name: "Rin", email: "*****@*****.**"); user3 = CreateEntry.User(id: 3, name: "Luka", email: "*****@*****.**"); repository.Add(user, user2); repository.Add(producer, vocalist); tag = new Tag("vocarock"); repository.Add(tag, new Tag("vocaloud")); releaseEvent = repository.Save(new ReleaseEvent { Name = "Comiket 39" }); permissionContext = new FakePermissionContext(user); entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net"); newSongContract = new CreateSongContract { SongType = SongType.Original, Names = new[] { new LocalizedStringContract("Resistance", ContentLanguageSelection.English) }, Artists = new[] { new ArtistForSongContract { Artist = new ArtistContract(producer, ContentLanguagePreference.Default) }, new ArtistForSongContract { Artist = new ArtistContract(vocalist, ContentLanguagePreference.Default) }, }, PVUrl = "http://test.vocadb.net/" }; pvParser = new FakePVParser(); pvParser.ResultFunc = (url, getMeta) => VideoUrlParseResult.CreateOk(url, PVService.NicoNicoDouga, "sm393939", getMeta ? VideoTitleParseResult.CreateSuccess("Resistance", "Tripshots", "testimg.jpg", 39) : VideoTitleParseResult.Empty); mailer = new FakeUserMessageMailer(); queries = new SongQueries(repository, permissionContext, entryLinkFactory, pvParser, mailer, new FakeLanguageDetector(), new FakeUserIconFactory(), new EnumTranslations(), new InMemoryImagePersister(), new FakeObjectCache(), new Model.Utils.Config.VdbConfigManager()); }
public void SetUp() { _producer = CreateEntry.Producer(); _vocalist = CreateEntry.Vocalist(name: "Hatsune Miku"); _vocalist2 = CreateEntry.Vocalist(name: "Rin"); _album = CreateEntry.Album(id: 39, name: "Synthesis"); _repository = new FakeAlbumRepository(_album); foreach (var name in _album.Names) { Save(name); } _user = CreateEntry.User(1, "Miku"); _user.GroupId = UserGroupId.Moderator; _user2 = CreateEntry.User(2, "Luka"); Save(_user, _user2); Save(_producer, _vocalist, _vocalist2); _song = Save(CreateEntry.Song(name: "Nebula")); _song2 = Save(CreateEntry.Song(name: "Anger")); _song3 = Save(CreateEntry.Song(name: "Resistance")); _permissionContext = new FakePermissionContext(_user); var entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net"); _newAlbumContract = new CreateAlbumContract { DiscType = DiscType.Album, Names = new[] { new LocalizedStringContract("Another Dimensions", ContentLanguageSelection.English) }, Artists = new[] { new ArtistContract(_producer, ContentLanguagePreference.Default), new ArtistContract(_vocalist, ContentLanguagePreference.Default), } }; _imagePersister = new InMemoryImagePersister(); _mailer = new FakeUserMessageMailer(); _queries = new AlbumQueries( _repository, _permissionContext, entryLinkFactory, _imagePersister, _imagePersister, _mailer, new FakeUserIconFactory(), new EnumTranslations(), new FakePVParser(), new FollowedArtistNotifier(new FakeEntryLinkFactory(), new FakeUserMessageMailer(), new EnumTranslations(), new EntrySubTypeNameFactory()), new InMemoryImagePersister(), new FakeObjectCache(), new FakeDiscordWebhookNotifier()); }
public void SetUp() { producer = CreateEntry.Producer(id: 1, name: "Tripshots"); vocalist = CreateEntry.Vocalist(id: 39, name: "Hatsune Miku"); vocalist2 = CreateEntry.Vocalist(id: 40, name: "Kagamine Rin"); song = CreateEntry.Song(id: 1, name: "Nebula"); song.LengthSeconds = 39; repository = new FakeSongRepository(song); Save(song.AddArtist(producer)); Save(song.AddArtist(vocalist)); Save(song.CreatePV(new PVContract { Service = PVService.Youtube, PVId = "hoLu7c2XZYU", Name = "Nebula", PVType = PVType.Original })); foreach (var name in song.Names) { repository.Save(name); } user = CreateEntry.User(id: 1, name: "Miku"); user.GroupId = UserGroupId.Trusted; user2 = CreateEntry.User(id: 2, name: "Rin", email: "*****@*****.**"); repository.Add(user, user2); repository.Add(producer, vocalist); repository.Add(new Tag("vocarock"), new Tag("vocaloud")); permissionContext = new FakePermissionContext(user); var entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net"); newSongContract = new CreateSongContract { SongType = SongType.Original, Names = new[] { new LocalizedStringContract("Resistance", ContentLanguageSelection.English) }, Artists = new[] { new ArtistContract(producer, ContentLanguagePreference.Default), new ArtistContract(vocalist, ContentLanguagePreference.Default), }, PVUrl = "http://test.vocadb.net/" }; pvParser = new FakePVParser(); pvParser.ResultFunc = (url, getMeta) => VideoUrlParseResult.CreateOk(url, PVService.NicoNicoDouga, "sm393939", getMeta ? VideoTitleParseResult.CreateSuccess("Resistance", "Tripshots", "testimg.jpg", 39) : VideoTitleParseResult.Empty); mailer = new FakeUserMessageMailer(); queries = new SongQueries(repository, permissionContext, entryLinkFactory, pvParser, mailer, new FakeLanguageDetector()); }
public void List_FilterByCanonizedArtistName() { var artist = CreateEntry.Producer(name: "nightmare-P"); repository.Save(artist); var resultExact = CallGetList(query: "nightmare-P"); var resultVariant = CallGetList(query: "nightmareP"); var resultPartial = CallGetList(query: "nightmare"); AssertHasEntry(resultExact, "nightmare-P", EntryType.Artist); AssertHasEntry(resultVariant, "nightmare-P", EntryType.Artist); AssertHasEntry(resultPartial, "nightmare-P", EntryType.Artist); }
public void SetUp() { producer = CreateEntry.Producer(); vocalist = CreateEntry.Vocalist(name: "Hatsune Miku"); vocalist2 = CreateEntry.Vocalist(name: "Rin"); album = CreateEntry.Album(id: 39, name: "Synthesis"); repository = new FakeAlbumRepository(album); foreach (var name in album.Names) { Save(name); } user = CreateEntry.User(1, "Miku"); user.GroupId = UserGroupId.Moderator; user2 = CreateEntry.User(2, "Luka"); Save(user, user2); Save(producer, vocalist, vocalist2); song = Save(CreateEntry.Song(name: "Nebula")); song2 = Save(CreateEntry.Song(name: "Anger")); song3 = Save(CreateEntry.Song(name: "Resistance")); permissionContext = new FakePermissionContext(user); var entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net"); newAlbumContract = new CreateAlbumContract { DiscType = DiscType.Album, Names = new[] { new LocalizedStringContract("Another Dimensions", ContentLanguageSelection.English) }, Artists = new[] { new ArtistContract(producer, ContentLanguagePreference.Default), new ArtistContract(vocalist, ContentLanguagePreference.Default), } }; imagePersister = new InMemoryImagePersister(); mailer = new FakeUserMessageMailer(); queries = new AlbumQueries(repository, permissionContext, entryLinkFactory, imagePersister, imagePersister, mailer, new FakeUserIconFactory(), new EnumTranslations(), new FakePVParser()); }
public void SetUp() { repository = new FakeAlbumRepository(); var permissionContext = new FakePermissionContext(); var thumbPersister = new InMemoryImagePersister(); queries = new EntryQueries(repository, permissionContext, thumbPersister); var group = CreateEntry.Artist(ArtistType.OtherGroup, name: "1640mP"); var artist = CreateEntry.Producer(name: "40mP"); var tag = new Tag("pop_rock"); artist.Tags.Usages.Add(new ArtistTagUsage(artist, tag)); var artist2 = CreateEntry.Producer(name: "Tripshots"); var album = CreateEntry.Album(name: "40mP Piano Arrange Album"); var song = CreateEntry.Song(name: "Mosaik Role [40mP ver.]"); repository.Save(group, artist, artist2); repository.Save(album); repository.Save(song); repository.Save(tag); }
public void SetUp() { _artist = CreateEntry.Producer(name: "Tripshots"); _vocalist = CreateEntry.Vocalist(name: "Hatsune Miku"); _repository = new FakeArtistRepository(_artist, _vocalist); var weblink = new ArtistWebLink(_artist, "Website", "http://tripshots.net", WebLinkCategory.Official, disabled: false); _artist.WebLinks.Add(weblink); _repository.Save(weblink); _repository.SaveNames(_artist, _vocalist); _user = CreateEntry.User(name: "Miku", group: UserGroupId.Moderator); _user2 = CreateEntry.User(name: "Rin", group: UserGroupId.Regular); _repository.Save(_user); _permissionContext = new FakePermissionContext(_user); _imagePersister = new InMemoryImagePersister(); _queries = new ArtistQueries( _repository, _permissionContext, new FakeEntryLinkFactory(), _imagePersister, _imagePersister, MemoryCache.Default, new FakeUserIconFactory(), new EnumTranslations(), _imagePersister, new FakeDiscordWebhookNotifier()); _newArtistContract = new CreateArtistContract { ArtistType = ArtistType.Producer, Description = string.Empty, Names = new[] { new LocalizedStringContract("Tripshots", ContentLanguageSelection.English) }, WebLink = new WebLinkContract("http://tripshots.net/", "Website", WebLinkCategory.Official, disabled: false) }; }