From db2fb6cadb4de473a9ca9ad54498f7544ff626a3 Mon Sep 17 00:00:00 2001 From: Marcela Ribeiro de Oliveira <mro15@inf.ufpr.br> Date: Thu, 6 Jul 2017 10:05:43 -0300 Subject: [PATCH] rspec tests working --- spec/acceptance/learning_objects_spec.rb | 8 +-- spec/shared/contexts.rb | 65 ++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 4 deletions(-) diff --git a/spec/acceptance/learning_objects_spec.rb b/spec/acceptance/learning_objects_spec.rb index 13a8a4f2..fc2de13f 100644 --- a/spec/acceptance/learning_objects_spec.rb +++ b/spec/acceptance/learning_objects_spec.rb @@ -41,7 +41,7 @@ resource 'Learning Objects' do end post '/v1/learning_objects' do - include_context "authenticate_user" + include_context "authenticate_user_submitter" parameter :author, 'The author of a educational content', scope: :learning_object parameter :name, 'The name of the learning object', scope: :learning_object @@ -79,7 +79,7 @@ resource 'Learning Objects' do end put '/v1/learning_objects/:id' do - include_context "authenticate_user" + include_context "authenticate_user_submitter" parameter :author, 'The author of a educational content' parameter :name, 'The name of the learning object' @@ -159,12 +159,12 @@ resource 'Learning Objects' do end post '/v1/learning_objects/:id/publish' do - include_context "authenticate_user" + include_context "authenticate_user_moderator" let(:id) { @learning_object.id } before do - @learning_object = create(:learning_object, publisher: @user, state: LearningObject.states[:draft]) + @learning_object = create(:learning_object, publisher: @user, state: LearningObject.states[:submitted]) end example 'Publishing a learning object' do diff --git a/spec/shared/contexts.rb b/spec/shared/contexts.rb index 6fe0df56..672320ff 100644 --- a/spec/shared/contexts.rb +++ b/spec/shared/contexts.rb @@ -28,3 +28,68 @@ RSpec.shared_context "authenticate_user_admin", shared_context: :metadata do end end + +RSpec.shared_context "authenticate_user_submitter", shared_context: :metadata do + let(:auth_client) { @auth_headers['client'] } + let(:uid) { @auth_headers['uid'] } + let(:access_token) { @auth_headers['access-token'] } + let(:role) { Role.all } + + before do + @user = create(:user, roles: [role.find_by(name: 'submitter')]) + @auth_headers = @user.create_new_auth_token + end + +end + +RSpec.shared_context "authenticate_user_curator", shared_context: :metadata do + let(:auth_client) { @auth_headers['client'] } + let(:uid) { @auth_headers['uid'] } + let(:access_token) { @auth_headers['access-token'] } + let(:role) { Role.all } + + before do + @user = create(:user, roles: [role.find_by(name: 'curator')]) + @auth_headers = @user.create_new_auth_token + end + +end + +RSpec.shared_context "authenticate_user_moderator", shared_context: :metadata do + let(:auth_client) { @auth_headers['client'] } + let(:uid) { @auth_headers['uid'] } + let(:access_token) { @auth_headers['access-token'] } + let(:role) { Role.all } + + before do + @user = create(:user, roles: [role.find_by(name: 'moderator')]) + @auth_headers = @user.create_new_auth_token + end + +end + +RSpec.shared_context "authenticate_user_editor", shared_context: :metadata do + let(:auth_client) { @auth_headers['client'] } + let(:uid) { @auth_headers['uid'] } + let(:access_token) { @auth_headers['access-token'] } + let(:role) { Role.all } + + before do + @user = create(:user, roles: [role.find_by(name: 'editor')]) + @auth_headers = @user.create_new_auth_token + end + +end + +RSpec.shared_context "authenticate_user_supervisor", shared_context: :metadata do + let(:auth_client) { @auth_headers['client'] } + let(:uid) { @auth_headers['uid'] } + let(:access_token) { @auth_headers['access-token'] } + let(:role) { Role.all } + + before do + @user = create(:user, roles: [role.find_by(name: 'supervisor')]) + @auth_headers = @user.create_new_auth_token + end + +end -- GitLab