diff options
Diffstat (limited to 'spec/requests/api/files_spec.rb')
-rw-r--r-- | spec/requests/api/files_spec.rb | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/spec/requests/api/files_spec.rb b/spec/requests/api/files_spec.rb index 487ab2d95aa..f68ea0cd84c 100644 --- a/spec/requests/api/files_spec.rb +++ b/spec/requests/api/files_spec.rb @@ -55,6 +55,11 @@ RSpec.describe API::Files, feature_category: :source_code_management do } end + let(:last_commit_for_path) do + Gitlab::Git::Commit + .last_for_path(project.repository, 'master', Addressable::URI.unencode_component(file_path)) + end + shared_context 'with author parameters' do let(:author_email) { 'user@example.org' } let(:author_name) { 'John Doe' } @@ -1202,7 +1207,7 @@ RSpec.describe API::Files, feature_category: :source_code_management do end context 'when updating an existing file with stale last commit id' do - let(:params_with_stale_id) { params.merge(last_commit_id: 'stale') } + let(:params_with_stale_id) { params.merge(last_commit_id: last_commit_for_path.parent_id) } it 'returns a 400 bad request' do put api(route(file_path), user), params: params_with_stale_id @@ -1213,12 +1218,7 @@ RSpec.describe API::Files, feature_category: :source_code_management do end context 'with correct last commit id' do - let(:last_commit) do - Gitlab::Git::Commit - .last_for_path(project.repository, 'master', Addressable::URI.unencode_component(file_path)) - end - - let(:params_with_correct_id) { params.merge(last_commit_id: last_commit.id) } + let(:params_with_correct_id) { params.merge(last_commit_id: last_commit_for_path.id) } it 'updates existing file in project repo' do put api(route(file_path), user), params: params_with_correct_id @@ -1228,12 +1228,7 @@ RSpec.describe API::Files, feature_category: :source_code_management do end context 'when file path is invalid' do - let(:last_commit) do - Gitlab::Git::Commit - .last_for_path(project.repository, 'master', Addressable::URI.unencode_component(file_path)) - end - - let(:params_with_correct_id) { params.merge(last_commit_id: last_commit.id) } + let(:params_with_correct_id) { params.merge(last_commit_id: last_commit_for_path.id) } it 'returns a 400 bad request' do put api(route(invalid_file_path), user), params: params_with_correct_id @@ -1244,12 +1239,7 @@ RSpec.describe API::Files, feature_category: :source_code_management do end it_behaves_like 'when path is absolute' do - let(:last_commit) do - Gitlab::Git::Commit - .last_for_path(project.repository, 'master', Addressable::URI.unencode_component(file_path)) - end - - let(:params_with_correct_id) { params.merge(last_commit_id: last_commit.id) } + let(:params_with_correct_id) { params.merge(last_commit_id: last_commit_for_path.id) } subject { put api(route(absolute_path), user), params: params_with_correct_id } end |