diff --git a/spec/acceptance/learning_objects_spec.rb b/spec/acceptance/learning_objects_spec.rb index 1b80c64a7390a1191d397fd408124be1b36025cd..2340ea37d63b99039b98e2719a0f0767c2f47ad1 100644 --- a/spec/acceptance/learning_objects_spec.rb +++ b/spec/acceptance/learning_objects_spec.rb @@ -1,8 +1,7 @@ require 'acceptance_helpers' +require 'shared/contexts' resource 'Learning Objects' do - header 'Accept', 'application/json' - header 'Content-Type', 'application/json' before { 12.times { create(:learning_object) } } @@ -34,14 +33,16 @@ resource 'Learning Objects' do end post '/v1/learning_objects/:id/like' do - let(:id) { learning_objects.first.id } + include_context "authenticate_user" + let(:id) { learning_objects.first.id } + example 'Liking a learning object' do - likes = learning_objects.first.likes + likes = learning_objects.first.likes.count do_request expect(path).to eq("/v1/learning_objects/#{id}/like") - expect(JSON.parse(response_body)).to eq(likes + 1) - expect(status).to eq(200) + expect(JSON.parse(response_body)['count']).to eq(likes + 1) + expect(status).to eq(201) end end diff --git a/spec/shared/contexts.rb b/spec/shared/contexts.rb index 040826c3abe66b8dbc97ae4db6de688cb78ec612..3241f4358722ac21d478527d823fe422e7fd4473 100644 --- a/spec/shared/contexts.rb +++ b/spec/shared/contexts.rb @@ -3,12 +3,13 @@ require 'rspec_api_documentation' require 'rspec_api_documentation/dsl' require 'spec_helper' -RSpec.shared_context "authentication", shared_context: :metadata do +RSpec.shared_context "authenticate_user", shared_context: :metadata do let(:auth_client) { @auth_headers['client'] } let(:uid) { @auth_headers['uid'] } let(:access_token) { @auth_headers['access-token'] } - def authenticate(user) - @auth_headers = user.create_new_auth_token + before do + @auth_headers = create(:user).create_new_auth_token end + end