public async Task ReturnsNullIfNotFound()
            {
                var userId  = -1;
                var shelves = await ShelvesEndpoint.GetListOfUserShelves(userId);

                Assert.Null(shelves);
            }
            public async Task AddBooksToShelves()
            {
                var shelves = new[] { "to-read", "leo" };
                var bookIds = new long[] { 15823480, 656 };
                var result  = await ShelvesEndpoint.AddBooksToShelves(shelves, bookIds);

                Assert.True(result);
            }
            public async Task RemoveNotExistingBookFromShelf()
            {
                var shelf  = "read";
                var bookId = 1;
                var result = await ShelvesEndpoint.AddBookToShelf(shelf, bookId, "remove");

                Assert.False(result);
            }
            public async Task AddBookToShelf()
            {
                var shelf  = "to-read";
                var bookId = 7235533;
                var result = await ShelvesEndpoint.AddBookToShelf(shelf, bookId);

                Assert.True(result);
            }
            public async Task ReturnsShelves()
            {
                var userId  = 7284465;
                var shelves = await ShelvesEndpoint.GetListOfUserShelves(userId);

                Assert.NotNull(shelves);
                Assert.NotEmpty(shelves.List);
                Assert.True(shelves.Pagination.TotalItems > 0);
            }
 public UnauthorizedGoodreadsClient(string apiKey, string apiSecret, string accessToken, string accessSecret)
     : base(apiKey, apiSecret, accessToken, accessSecret)
 {
     Authors      = new AuthorsEnpoint(_connection);
     Books        = new BooksEndpoint(_connection);
     Shelves      = new ShelvesEndpoint(_connection);
     Users        = new UsersEndpoint(_connection);
     Reviews      = new ReviewsEndpoint(_connection);
     Series       = new SeriesEndpoint(_connection);
     Events       = new EventsEndpoint(_connection);
     Groups       = new GroupsEndpoint(_connection);
     UserStatuses = new UserStatusesEndpoint(_connection);
     ReadStatuses = new ReadStatusesEndpoint(_connection);
     Comments     = new CommentsEndpoint(_connection);
     Topics       = new TopicsEndpoint(_connection);
 }
 public OAuthGoodreadsClient(string apiKey, string apiSecret, string accessToken, string accessSecret)
     : base(apiKey, apiSecret, accessToken, accessSecret)
 {
     Authors          = new AuthorsEnpoint(_connection);
     AuthorsFollowing = new AuthorsFollowingEndpoint(_connection);
     Books            = new BooksEndpoint(_connection);
     Comments         = new CommentsEndpoint(_connection);
     Events           = new EventsEndpoint(_connection);
     Followers        = new FollowersEndpoint(_connection);
     Friends          = new FriendsEndpoint(_connection);
     Groups           = new GroupsEndpoint(_connection);
     Notifications    = new NotificationsEndpoint(_connection);
     OwnedBooks       = new OwnedBooksEndpoint(_connection);
     Quotes           = new QuotesEndpoint(_connection);
     ReadStatuses     = new ReadStatusesEndpoint(_connection);
     Recommendations  = new RecommendationsEndpoint(_connection);
     Reviews          = new ReviewsEndpoint(_connection);
     Series           = new SeriesEndpoint(_connection);
     Shelves          = new ShelvesEndpoint(_connection);
     Topics           = new TopicsEndpoint(_connection);
     Updates          = new UpdatesEndpoint(_connection);
     Users            = new UsersEndpoint(_connection);
     UserStatuses     = new UserStatusesEndpoint(_connection);
 }
            public void AddExistingShelf()
            {
                const string name = "to-read";

                Assert.ThrowsAsync <ApiException>(() => ShelvesEndpoint.AddShelf(name));
            }