diff --git a/spec/acceptance/collections_spec.rb b/spec/acceptance/collections_spec.rb index 2e73b1e43b964f0896b289b3c4819253bef7c9d4..d5518e06385b6027b41f37ae9cb402ee6ee11ede 100644 --- a/spec/acceptance/collections_spec.rb +++ b/spec/acceptance/collections_spec.rb @@ -1,4 +1,5 @@ require 'acceptance_helpers' +require 'shared/contexts' resource 'Collections' do header 'Accept', 'application/json' @@ -32,4 +33,39 @@ resource 'Collections' do end end + post '/v1/collections/:id/like' do + include_context "authenticate_user" + + let(:id) { collections.first.id } + + example 'Liking a collection' do + likes = collections.first.likes.count + do_request + expect(path).to eq("/v1/collections/#{id}/like") + expect(JSON.parse(response_body)['count']).to eq(likes + 1) + expect(status).to eq(201) + end + end + + delete '/v1/collections/:id/like' do + include_context "authenticate_user" + + let(:id) { collections.first.id } + + before do + create(:like, user: @user, likeable: collections.first) + end + + example 'Unliking a collection' do + likes = collections.first.likes.count + do_request + expect(path).to eq("/v1/collections/#{id}/like") + expect(JSON.parse(response_body)['count']).to eq(likes - 1) + expect(status).to eq(200) + end + end + + + + end