Ejemplo n.º 1
0
        public void UpdateSongRating_Create()
        {
            var song = _repository.Save(CreateEntry.Song());

            _service.UpdateSongRating(_user.Id, song.Id, SongVoteRating.Favorite);

            _user.FavoriteSongs.Any(s => s.Song == song).Should().BeTrue("Song was added to user");
            _user.FavoriteSongs.Count.Should().Be(1, "Number of favorite songs for user");
            _repository.List <FavoriteSongForUser>().Count.Should().Be(1, "Number of links in repo");
        }
Ejemplo n.º 2
0
        public void UpdateSongRating_Create()
        {
            var song = repository.Save(CreateEntry.Song());

            service.UpdateSongRating(user.Id, song.Id, SongVoteRating.Favorite);

            Assert.IsTrue(user.FavoriteSongs.Any(s => s.Song == song), "Song was added to user");
            Assert.AreEqual(1, user.FavoriteSongs.Count, "Number of favorite songs for user");
            Assert.AreEqual(1, repository.List <FavoriteSongForUser>().Count, "Number of links in repo");
        }
        public void File_can_be_shared_and_allows_for_modifications_by_authorized_user()
        {
            // Arrange
            FakeFileRepository fileRepository = new FakeFileRepository();
            FakeUserRepository userRepository = new FakeUserRepository();
            FakeEventPublisher eventPublisher = new FakeEventPublisher();
            FakeCurrentUser    currentUser    = new FakeCurrentUser();

            File file      = new ExampleFileFactory().CreateFile();
            User shareWith = new User("shareWithUserId", "username");

            fileRepository.Save(file);
            userRepository.Save(shareWith);
            currentUser.Id = file.Owner.Id;

            var commandHandler = new ShareFileCommandHandler(
                currentUser, fileRepository, userRepository, eventPublisher);

            var command = new ShareFileCommand("fileId", shareWith.Id);

            // Act
            commandHandler.Handle(command);

            // Assert
            Assert.IsTrue(file.CanBeModifiedBy(shareWith));
            FileSharesChangedMessage publishedEvent = eventPublisher.VerifyPublishedOnce <FileSharesChangedMessage>();

            Assert.AreEqual(file, publishedEvent.File);
        }
Ejemplo n.º 4
0
        public void ClearRatings()
        {
            userWithEmail.AdditionalPermissions.Add(PermissionToken.DisableUsers);
            RefreshLoggedUser();
            var album = CreateEntry.Album();
            var song  = CreateEntry.Song();

            repository.Save(album);
            repository.Save(song);
            repository.Save(userWithoutEmail.AddAlbum(album, PurchaseStatus.Nothing, MediaType.DigitalDownload, 5));
            repository.Save(userWithoutEmail.AddSongToFavorites(song, SongVoteRating.Favorite));

            data.ClearRatings(userWithoutEmail.Id);

            Assert.AreEqual(0, userWithoutEmail.AllAlbums.Count, "No albums for user");
            Assert.AreEqual(0, userWithoutEmail.FavoriteSongs.Count, "No songs for user");
            Assert.AreEqual(0, album.UserCollections.Count, "Number of users for the album");
            Assert.AreEqual(0, song.UserFavorites.Count, "Number of users for the song");
            Assert.AreEqual(0, album.RatingTotal, "Album RatingTotal");
            Assert.AreEqual(0, song.RatingScore, "Song RatingScore");
        }
Ejemplo n.º 5
0
 public ArtistRelationsQueryTests()
 {
     artist    = repository.Save(CreateEntry.Artist(ArtistType.Producer));
     voicebank = repository.Save(CreateEntry.Artist(ArtistType.Vocaloid));
     song      = repository.Save(CreateEntry.Song());
     song2     = repository.Save(CreateEntry.Song());
     repository.Save(song.AddArtist(artist));
     repository.Save(song.AddArtist(voicebank));
     repository.Save(song2.AddArtist(artist));
     query = new ArtistRelationsQuery(repository.CreateContext(), Model.Domain.Globalization.ContentLanguagePreference.English, new FakeObjectCache());
 }
        public void File_cannot_be_shared_with_owner()
        {
            // Arrange
            FakeFileRepository fileRepository = new FakeFileRepository();
            FakeUserRepository userRepository = new FakeUserRepository();
            FakeEventPublisher eventPublisher = new FakeEventPublisher();
            FakeCurrentUser    currentUser    = new FakeCurrentUser();

            File file = new ExampleFileFactory().CreateFile();

            fileRepository.Save(file);
            userRepository.Save(file.Owner);
            currentUser.Id = file.Owner.Id;

            var commandHandler = new ShareFileCommandHandler(
                currentUser, fileRepository, userRepository, eventPublisher);

            var command = new ShareFileCommand("fileId", file.Owner.Id);

            // Act & Assert
            Assert.Throws <PermissionException>(() => commandHandler.Handle(command));
        }
        public void File_cannot_be_shared_by_user_which_has_access_but_is_not_owner()
        {
            // Arrange
            FakeFileRepository fileRepository = new FakeFileRepository();
            FakeUserRepository userRepository = new FakeUserRepository();
            FakeEventPublisher eventPublisher = new FakeEventPublisher();
            FakeCurrentUser    currentUser    = new FakeCurrentUser();

            File file      = new ExampleFileFactory().CreateFile();
            User shareWith = new User("shareWithUserId", "username");

            fileRepository.Save(file);
            userRepository.Save(shareWith);
            file.ShareWith(shareWith);
            currentUser.Id = shareWith.Id;

            var commandHandler = new ShareFileCommandHandler(
                currentUser, fileRepository, userRepository, eventPublisher);

            var command = new ShareFileCommand("fileId", shareWith.Id);

            // Act & Assert
            Assert.Throws <PermissionException>(() => commandHandler.Handle(command));
        }
Ejemplo n.º 8
0
 public void SetUp()
 {
     user    = repository.Save(CreateEntry.User(group: UserGroupId.Trusted));
     queries = new TagUsageQueries(new FakePermissionContext(user));
     entry   = repository.Save(CreateEntry.Song(name: "Puppet"));
     repository.Save(CreateEntry.Tag("techno"));
 }