From 07f3714b564059ce0ccd6a4dd9601b958afde149 Mon Sep 17 00:00:00 2001 From: Giovanne Marcelo <gms15@inf.ufpr.br> Date: Thu, 16 Feb 2017 18:01:28 -0200 Subject: [PATCH] add like and unlike collection --- spec/acceptance/collections_spec.rb | 36 +++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/spec/acceptance/collections_spec.rb b/spec/acceptance/collections_spec.rb index 2e73b1e4..d5518e06 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 -- GitLab