Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-11-11 16:58:06 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-11-11 16:58:06 +0400
commitc77d957b365bd023b1dc73b5f5111b4fe262bfbe (patch)
tree3e954af02803d595ac496656d711542592d7d7b3 /spec
parent75303241b1ce6a9cb38e40f48ae1bd2ad11808b3 (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.rb47
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