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.Save(_tag, new Tag("vocaloud")); _releaseEvent = _repository.Save(CreateEntry.ReleaseEvent("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) }, }, PVUrls = new[] { "http://test.vocadb.net/" } }; _pvParser = new FakePVParser(); _pvParser.ResultFunc = (url, getMeta) => VideoUrlParseResult.CreateOk(url, PVService.NicoNicoDouga, "sm393939", getMeta ? VideoTitleParseResult.CreateSuccess("Resistance", "Tripshots", null, "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(), new EntrySubTypeNameFactory(), new FollowedArtistNotifier(new FakeEntryLinkFactory(), _mailer, new EnumTranslations(), new EntrySubTypeNameFactory())); }
public SongControllerTests() { permissionContext.SetLoggedUser(repository.Save(CreateEntry.User())); var queries = new SongQueries(repository, permissionContext, new FakeEntryLinkFactory(), new FakePVParser(), new FakeUserMessageMailer(), new FakeLanguageDetector(), new FakeUserIconFactory(), new EnumTranslations(), new InMemoryImagePersister(), new FakeObjectCache(), new VdbConfigManager(), new EntrySubTypeNameFactory(), new FakeFollowedArtistNotifier()); controller = new SongController(null, queries, null, null); }
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 SetUp() { var repo = new FakeSongRepository(); songSearch = new Model.Service.Search.SongSearch.SongSearch(repo.CreateContext(), Model.Domain.Globalization.ContentLanguagePreference.Default, new EntryUrlParser("http://test.vocadb.net", "http://test.vocadb.net")); repo.Save( CreateEntry.Song(name: "Nebula"), CreateEntry.Song(name: "Anger"), CreateEntry.Song(name: "Anger [EXTEND RMX]") ); }
private T Save <T>(T entry) { return(repository.Save(entry)); }
private T Save <T>(T entry) where T : class, IDatabaseObject { return(_repository.Save(entry)); }