diff --git a/CHANGELOG.md b/CHANGELOG.md index 384c42e..6bedf34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## [Unreleased] +- Add `unfavorite` operation. ([#87](https://github.com/turadg/pocket-ruby/pull/87)) - Add `favorite` operation. ([#86](https://github.com/turadg/pocket-ruby/pull/86)) ## [0.4.0] - 2021-04-18 diff --git a/lib/pocket/client.rb b/lib/pocket/client.rb index c3930e3..02db083 100644 --- a/lib/pocket/client.rb +++ b/lib/pocket/client.rb @@ -25,5 +25,9 @@ def retrieve params = {} def favorite(item_id) modify([action: "favorite", item_id: item_id]) end + + def unfavorite(item_id) + modify([action: "unfavorite", item_id: item_id]) + end end end diff --git a/test/pocket/client_test.rb b/test/pocket/client_test.rb index 0710c2e..c2444ef 100644 --- a/test/pocket/client_test.rb +++ b/test/pocket/client_test.rb @@ -37,4 +37,23 @@ class ClientTest < Test::Unit::TestCase assert_equal success_response, result end + + test "unfavorite" do + success_response = '{"action_results":[true],"status":1}' + + stub_request(:post, "https://getpocket.com/v3/send") + .with( + body: "{\"actions\":[{\"action\":\"unfavorite\",\"item_id\":\"123456\"}],\"consumer_key\":null,\"access_token\":\"access_token\"}", + headers: { + "Content-Type" => "application/json", + "User-Agent" => "Pocket Ruby Gem #{Pocket::VERSION}" + } + ) + .to_return(status: 200, body: success_response, headers: {}) + client = Pocket.client(access_token: "access_token") + + result = client.unfavorite("123456") + + assert_equal success_response, result + end end