diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-11-11 16:58:06 +0400 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-11-11 16:58:06 +0400 |
commit | c77d957b365bd023b1dc73b5f5111b4fe262bfbe (patch) | |
tree | 3e954af02803d595ac496656d711542592d7d7b3 /spec | |
parent | 75303241b1ce6a9cb38e40f48ae1bd2ad11808b3 (diff) |
API: Edit file in repository
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'spec')
-rw-r--r-- | spec/requests/api/files_spec.rb | 47 |
1 files changed, 41 insertions, 6 deletions
diff --git a/spec/requests/api/files_spec.rb b/spec/requests/api/files_spec.rb index 637680672da..345f2bae65a 100644 --- a/spec/requests/api/files_spec.rb +++ b/spec/requests/api/files_spec.rb @@ -10,6 +10,15 @@ describe API::API do before { project.team << [user, :developer] } describe "POST /projects/:id/repository/files" do + let(:valid_params) { + { + file_name: 'newfile.rb', + branch_name: 'master', + content: 'puts 8', + commit_message: 'Added newfile' + } + } + it "should create a new file in project repo" do Gitlab::Satellite::NewFileAction.any_instance.stub( commit!: true, @@ -35,12 +44,38 @@ describe API::API do end end - def valid_params - { - file_name: 'newfile.rb', - branch_name: 'master', - content: 'puts 8', - commit_message: 'Added newfile' + describe "PUT /projects/:id/repository/files" do + let(:valid_params) { + { + file_path: 'spec/spec_helper.rb', + branch_name: 'master', + content: 'puts 8', + commit_message: 'Changed file' + } } + + it "should update existing file in project repo" do + Gitlab::Satellite::EditFileAction.any_instance.stub( + commit!: true, + ) + + put api("/projects/#{project.id}/repository/files", user), valid_params + response.status.should == 200 + json_response['file_path'].should == 'spec/spec_helper.rb' + end + + it "should return a 400 bad request if no params given" do + put api("/projects/#{project.id}/repository/files", user) + response.status.should == 400 + end + + it "should return a 400 if satellite fails to create file" do + Gitlab::Satellite::EditFileAction.any_instance.stub( + commit!: false, + ) + + put api("/projects/#{project.id}/repository/files", user), valid_params + response.status.should == 400 + end end end |