public void SetUp()
        {
            repository        = new FakeSongListRepository();
            userWithSongList  = new User("User with songlist", "123", "*****@*****.**", PasswordHashAlgorithms.Default);
            permissionContext = new FakePermissionContext(new UserWithPermissionsContract(userWithSongList, ContentLanguagePreference.Default));

            imagePersister = new InMemoryImagePersister();
            queries        = new SongListQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, imagePersister, new FakeUserIconFactory());

            song1 = new Song(TranslatedString.Create("Project Diva desu."))
            {
                Id = 1
            };
            song2 = new Song(TranslatedString.Create("World is Mine"))
            {
                Id = 2
            };

            repository.Add(userWithSongList);
            repository.Add(song1, song2);

            songListContract = new SongListForEditContract {
                Name        = "Mikunopolis Setlist",
                Description = "MIKUNOPOLIS in LOS ANGELES - Hatsune Miku US debut concert held at Nokia Theatre for Anime Expo 2011 on 2nd July 2011.",
                SongLinks   = SongInListEditContracts(song1, song2)
            };
        }
示例#2
0
        public void SetUp()
        {
            _repository = new FakeTagRepository();

            _tag  = CreateAndSaveTag("Appearance Miku");
            _tag2 = CreateAndSaveTag("MMD");

            _user = new User("User", "123", "*****@*****.**", PasswordHashAlgorithms.Default)
            {
                GroupId = UserGroupId.Moderator
            };
            _repository.Add(_user);

            _permissionContext = new FakePermissionContext(new ServerOnlyUserWithPermissionsContract(_user, ContentLanguagePreference.Default));

            _imagePersister = new InMemoryImagePersister();
            _queries        = new TagQueries(
                _repository,
                _permissionContext,
                new FakeEntryLinkFactory(),
                _imagePersister,
                _imagePersister,
                new FakeUserIconFactory(),
                new EnumTranslations(),
                new FakeObjectCache(),
                new FakeDiscordWebhookNotifier());
        }
示例#3
0
        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)
            };
        }
示例#4
0
        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)
            };
        }
示例#5
0
        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());
        }
示例#6
0
        public void SetUp()
        {
            tag        = CreateEntry.Tag("Appearance_Miku");
            tag2       = CreateEntry.Tag("MMD");
            repository = new FakeTagRepository(tag, tag2);

            user = new User("User", "123", "*****@*****.**", 123);
            repository.Add(user);

            permissionContext = new FakePermissionContext(new UserWithPermissionsContract(user, ContentLanguagePreference.Default));

            imagePersister = new InMemoryImagePersister();
            queries        = new TagQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister);
        }
示例#7
0
        public void SetUp()
        {
            repository = new FakeTagRepository();

            tag  = CreateAndSaveTag("Appearance Miku");
            tag2 = CreateAndSaveTag("MMD");

            user = new User("User", "123", "*****@*****.**", PasswordHashAlgorithms.Default)
            {
                GroupId = UserGroupId.Moderator
            };
            repository.Add(user);

            permissionContext = new FakePermissionContext(new UserWithPermissionsContract(user, ContentLanguagePreference.Default));

            imagePersister = new InMemoryImagePersister();
            queries        = new TagQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, imagePersister, new FakeUserIconFactory(), new EnumTranslations(), new FakeObjectCache());
        }
示例#8
0
        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());
        }
示例#9
0
        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);
        }
示例#10
0
        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)
            };
        }
示例#11
0
        public void SetUp()
        {
            series        = CreateEntry.EventSeries("M3");
            existingEvent = CreateEntry.SeriesEvent(series, 2013, "Spring");
            series.AllEvents.Add(existingEvent);

            repository = new FakeEventRepository();
            repository.Save(series);
            repository.Save(existingEvent);
            repository.SaveNames(series);
            repository.SaveNames(existingEvent);

            album = CreateEntry.Album(name: "Day's Footsteps");
            album.OriginalReleaseEvent = existingEvent;
            repository.Save(album);

            user = CreateEntry.User(group: UserGroupId.Trusted);
            repository.Save(user);
            permissionContext = new FakePermissionContext(user);
            var imageStore = new InMemoryImagePersister();

            queries = new EventQueries(repository, new FakeEntryLinkFactory(), permissionContext, imageStore, new FakeUserIconFactory(), new EnumTranslations(), mailer,
                                       new FollowedArtistNotifier(new FakeEntryLinkFactory(), new FakeUserMessageMailer(), new EnumTranslations(), new EntrySubTypeNameFactory()), imageStore);
        }
示例#12
0
 public void SetUp()
 {
     persister = new InMemoryImagePersister();
     target    = new ImageThumbGenerator(persister);
 }