OSDN Git Service

Fixed some tests and snippet colorize
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Fri, 23 Nov 2012 19:31:09 +0000 (22:31 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Fri, 23 Nov 2012 19:31:09 +0000 (22:31 +0300)
13 files changed:
app/controllers/admin/groups_controller.rb
app/controllers/groups_controller.rb
app/models/project.rb
app/views/snippets/show.html.haml
features/steps/admin/admin_groups.rb
features/steps/project/create_project.rb
lib/api/projects.rb
spec/requests/admin/admin_projects_spec.rb
spec/requests/api/issues_spec.rb
spec/requests/api/merge_requests_spec.rb
spec/requests/api/projects_spec.rb
spec/requests/projects_spec.rb
spec/support/stubbed_repository.rb

index 1e52305..4e1329c 100644 (file)
@@ -74,6 +74,6 @@ class Admin::GroupsController < AdminController
   private
 
   def group
-    @group = Group.find_by_code(params[:id])
+    @group = Group.find_by_path(params[:id])
   end
 end
index c98332e..07f6130 100644 (file)
@@ -50,7 +50,7 @@ class GroupsController < ApplicationController
   protected
 
   def group
-    @group ||= Group.find_by_code(params[:id])
+    @group ||= Group.find_by_path(params[:id])
   end
 
   def projects
index 3cd495f..2d12aa8 100644 (file)
@@ -86,7 +86,7 @@ class Project < ActiveRecord::Base
 
     def create_by_user(params, user)
       namespace_id = params.delete(:namespace_id)
-      namespace_id ||= user.namespace_id
+      namespace_id ||= user.namespace.try(:id)
 
       project = Project.new params
 
@@ -222,6 +222,8 @@ class Project < ActiveRecord::Base
     end
   end
 
-  def move_repo
+  # For compatibility with old code
+  def code
+    path
   end
 end
index 1b8701e..f05e73c 100644 (file)
       %span.options
         = link_to "raw", raw_project_snippet_path(@project, @snippet), class: "btn very_small", target: "_blank"
     .file_content.code
-      %div{class: current_user.dark_scheme ? "black" : ""}
-        = raw @snippet.colorize(options: { linenos: 'True'})
+      - unless @snippet.content.empty?
+        %div{class: current_user.dark_scheme ? "black" : "white"}
+          = preserve do
+            = raw Pygments.highlight(@snippet.content, formatter: :gitlab)
+      - else
+        %h4.nothing_here_message Empty file
 
 
 %div
index e175901..dbde191 100644 (file)
@@ -9,7 +9,7 @@ class AdminGroups < Spinach::FeatureSteps
 
   And 'submit form with new group info' do
     fill_in 'group_name', :with => 'gitlab'
-    fill_in 'group_code', :with => 'gitlab'
+    fill_in 'group_path', :with => 'gitlab'
     click_button "Save group"
   end
 
index 6d2ca3f..b9b4534 100644 (file)
@@ -4,8 +4,6 @@ class CreateProject < Spinach::FeatureSteps
 
   And 'fill project form with valid data' do
     fill_in 'project_name', :with => 'NewProject'
-    fill_in 'project_code', :with => 'NPR'
-    fill_in 'project_path', :with => 'newproject'
     click_button "Create project"
   end
 
index ac20bbe..d115632 100644 (file)
@@ -40,8 +40,7 @@ module Gitlab
       post do
         params[:code] ||= params[:name]
         params[:path] ||= params[:name]
-        attrs = attributes_for_keys [:code,
-                                    :path,
+        attrs = attributes_for_keys [:path,
                                     :name,
                                     :description,
                                     :default_branch,
index 43e39d7..ad42f67 100644 (file)
@@ -2,9 +2,7 @@ require 'spec_helper'
 
 describe "Admin::Projects" do
   before do
-    @project = create(:project,
-                      name: "LeGiT",
-                      code: "LGT")
+    @project = create(:project)
     login_as :admin
   end
 
@@ -29,7 +27,7 @@ describe "Admin::Projects" do
     end
 
     it "should have project info" do
-      page.should have_content(@project.code)
+      page.should have_content(@project.path)
       page.should have_content(@project.name)
     end
   end
@@ -48,19 +46,16 @@ describe "Admin::Projects" do
     describe "Update project" do
       before do
         fill_in "project_name", with: "Big Bang"
-        fill_in "project_code", with: "BB1"
         click_button "Save Project"
         @project.reload
       end
 
       it "should show page with  new data" do
-        page.should have_content("BB1")
         page.should have_content("Big Bang")
       end
 
       it "should change project entry" do
         @project.name.should == "Big Bang"
-        @project.code.should == "BB1"
       end
     end
   end
@@ -77,8 +72,6 @@ describe "Admin::Projects" do
 
     it "should have labels for new project" do
       page.should have_content("Project name is")
-      page.should have_content("Git Clone")
-      page.should have_content("URL")
     end
   end
 
@@ -86,8 +79,6 @@ describe "Admin::Projects" do
     before do
       visit new_admin_project_path
       fill_in 'project_name', with: 'NewProject'
-      fill_in 'project_code', with: 'NPR'
-      fill_in 'project_path', with: 'gitlabhq_1'
       expect { click_button "Create project" }.to change { Project.count }.by(1)
       @project = Project.last
     end
index 6ea7e9b..1850ecb 100644 (file)
@@ -28,7 +28,7 @@ describe Gitlab::API do
 
   describe "GET /projects/:id/issues" do
     it "should return project issues" do
-      get api("/projects/#{project.code}/issues", user)
+      get api("/projects/#{project.path}/issues", user)
       response.status.should == 200
       json_response.should be_an Array
       json_response.first['title'].should == issue.title
@@ -37,7 +37,7 @@ describe Gitlab::API do
 
   describe "GET /projects/:id/issues/:issue_id" do
     it "should return a project issue by id" do
-      get api("/projects/#{project.code}/issues/#{issue.id}", user)
+      get api("/projects/#{project.path}/issues/#{issue.id}", user)
       response.status.should == 200
       json_response['title'].should == issue.title
     end
@@ -45,7 +45,7 @@ describe Gitlab::API do
 
   describe "POST /projects/:id/issues" do
     it "should create a new project issue" do
-      post api("/projects/#{project.code}/issues", user),
+      post api("/projects/#{project.path}/issues", user),
         title: 'new issue', labels: 'label, label2'
       response.status.should == 201
       json_response['title'].should == 'new issue'
@@ -56,7 +56,7 @@ describe Gitlab::API do
 
   describe "PUT /projects/:id/issues/:issue_id" do
     it "should update a project issue" do
-      put api("/projects/#{project.code}/issues/#{issue.id}", user),
+      put api("/projects/#{project.path}/issues/#{issue.id}", user),
         title: 'updated title', labels: 'label2', closed: 1
       response.status.should == 200
       json_response['title'].should == 'updated title'
@@ -67,7 +67,7 @@ describe Gitlab::API do
 
   describe "DELETE /projects/:id/issues/:issue_id" do
     it "should delete a project issue" do
-      delete api("/projects/#{project.code}/issues/#{issue.id}", user)
+      delete api("/projects/#{project.path}/issues/#{issue.id}", user)
       response.status.should == 405
     end
   end
index e83f246..43931ae 100644 (file)
@@ -11,14 +11,14 @@ describe Gitlab::API do
   describe "GET /projects/:id/merge_requests" do
     context "when unauthenticated" do
       it "should return authentication error" do
-        get api("/projects/#{project.code}/merge_requests")
+        get api("/projects/#{project.path}/merge_requests")
         response.status.should == 401
       end
     end
 
     context "when authenticated" do
       it "should return an array of merge_requests" do
-        get api("/projects/#{project.code}/merge_requests", user)
+        get api("/projects/#{project.path}/merge_requests", user)
         response.status.should == 200
         json_response.should be_an Array
         json_response.first['title'].should == merge_request.title
@@ -28,7 +28,7 @@ describe Gitlab::API do
 
   describe "GET /projects/:id/merge_request/:merge_request_id" do
     it "should return merge_request" do
-      get api("/projects/#{project.code}/merge_request/#{merge_request.id}", user)
+      get api("/projects/#{project.path}/merge_request/#{merge_request.id}", user)
       response.status.should == 200
       json_response['title'].should == merge_request.title
     end
@@ -36,7 +36,7 @@ describe Gitlab::API do
 
   describe "POST /projects/:id/merge_requests" do
     it "should return merge_request" do
-      post api("/projects/#{project.code}/merge_requests", user),
+      post api("/projects/#{project.path}/merge_requests", user),
         title: 'Test merge_request', source_branch: "stable", target_branch: "master", author: user
       response.status.should == 201
       json_response['title'].should == 'Test merge_request'
@@ -45,7 +45,7 @@ describe Gitlab::API do
 
   describe "PUT /projects/:id/merge_request/:merge_request_id" do
     it "should return merge_request" do
-      put api("/projects/#{project.code}/merge_request/#{merge_request.id}", user), title: "New title"
+      put api("/projects/#{project.path}/merge_request/#{merge_request.id}", user), title: "New title"
       response.status.should == 200
       json_response['title'].should == 'New title'
     end
@@ -53,7 +53,7 @@ describe Gitlab::API do
 
   describe "POST /projects/:id/merge_request/:merge_request_id/comments" do
     it "should return comment" do
-      post api("/projects/#{project.code}/merge_request/#{merge_request.id}/comments", user), note: "My comment"
+      post api("/projects/#{project.path}/merge_request/#{merge_request.id}/comments", user), note: "My comment"
       response.status.should == 201
       json_response['note'].should == 'My comment'
     end
index d24ce43..b0a0236 100644 (file)
@@ -33,7 +33,7 @@ describe Gitlab::API do
   end
 
   describe "POST /projects" do
-    it "should create new project without code and path" do
+    it "should create new project without path" do
       expect { post api("/projects", user), name: 'foo' }.to change {Project.count}.by(1)
     end
 
@@ -53,8 +53,7 @@ describe Gitlab::API do
 
     it "should assign attributes to project" do
       project = attributes_for(:project, {
-        path: 'path',
-        code: 'code',
+        path: project.name.parameterize,
         description: Faker::Lorem.sentence,
         default_branch: 'stable',
         issues_enabled: false,
@@ -79,8 +78,8 @@ describe Gitlab::API do
       json_response['owner']['email'].should == user.email
     end
 
-    it "should return a project by code name" do
-      get api("/projects/#{project.code}", user)
+    it "should return a project by path name" do
+      get api("/projects/#{project.path}", user)
       response.status.should == 200
       json_response['name'].should == project.name
     end
@@ -94,7 +93,7 @@ describe Gitlab::API do
 
   describe "GET /projects/:id/repository/branches" do
     it "should return an array of project branches" do
-      get api("/projects/#{project.code}/repository/branches", user)
+      get api("/projects/#{project.path}/repository/branches", user)
       response.status.should == 200
       json_response.should be_an Array
       json_response.first['name'].should == project.repo.heads.sort_by(&:name).first.name
@@ -103,7 +102,7 @@ describe Gitlab::API do
 
   describe "GET /projects/:id/repository/branches/:branch" do
     it "should return the branch information for a single branch" do
-      get api("/projects/#{project.code}/repository/branches/new_design", user)
+      get api("/projects/#{project.path}/repository/branches/new_design", user)
       response.status.should == 200
 
       json_response['name'].should == 'new_design'
@@ -113,7 +112,7 @@ describe Gitlab::API do
 
   describe "GET /projects/:id/members" do
     it "should return project team members" do
-      get api("/projects/#{project.code}/members", user)
+      get api("/projects/#{project.path}/members", user)
       response.status.should == 200
       json_response.should be_an Array
       json_response.count.should == 2
@@ -123,7 +122,7 @@ describe Gitlab::API do
 
   describe "GET /projects/:id/members/:user_id" do
     it "should return project team member" do
-      get api("/projects/#{project.code}/members/#{user.id}", user)
+      get api("/projects/#{project.path}/members/#{user.id}", user)
       response.status.should == 200
       json_response['email'].should == user.email
       json_response['access_level'].should == UsersProject::MASTER
@@ -133,7 +132,7 @@ describe Gitlab::API do
   describe "POST /projects/:id/members" do
     it "should add user to project team" do
       expect {
-        post api("/projects/#{project.code}/members", user), user_id: user2.id,
+        post api("/projects/#{project.path}/members", user), user_id: user2.id,
           access_level: UsersProject::DEVELOPER
       }.to change { UsersProject.count }.by(1)
 
@@ -145,7 +144,7 @@ describe Gitlab::API do
 
   describe "PUT /projects/:id/members/:user_id" do
     it "should update project team member" do
-      put api("/projects/#{project.code}/members/#{user3.id}", user), access_level: UsersProject::MASTER
+      put api("/projects/#{project.path}/members/#{user3.id}", user), access_level: UsersProject::MASTER
       response.status.should == 200
       json_response['email'].should == user3.email
       json_response['access_level'].should == UsersProject::MASTER
@@ -155,14 +154,14 @@ describe Gitlab::API do
   describe "DELETE /projects/:id/members/:user_id" do
     it "should remove user from project team" do
       expect {
-        delete api("/projects/#{project.code}/members/#{user3.id}", user)
+        delete api("/projects/#{project.path}/members/#{user3.id}", user)
       }.to change { UsersProject.count }.by(-1)
     end
   end
 
   describe "GET /projects/:id/hooks" do
     it "should return project hooks" do
-      get api("/projects/#{project.code}/hooks", user)
+      get api("/projects/#{project.path}/hooks", user)
 
       response.status.should == 200
 
@@ -174,7 +173,7 @@ describe Gitlab::API do
 
   describe "GET /projects/:id/hooks/:hook_id" do
     it "should return a project hook" do
-      get api("/projects/#{project.code}/hooks/#{hook.id}", user)
+      get api("/projects/#{project.path}/hooks/#{hook.id}", user)
       response.status.should == 200
       json_response['url'].should == hook.url
     end
@@ -183,7 +182,7 @@ describe Gitlab::API do
   describe "POST /projects/:id/hooks" do
     it "should add hook to project" do
       expect {
-        post api("/projects/#{project.code}/hooks", user),
+        post api("/projects/#{project.path}/hooks", user),
           "url" => "http://example.com"
       }.to change {project.hooks.count}.by(1)
     end
@@ -191,7 +190,7 @@ describe Gitlab::API do
 
   describe "PUT /projects/:id/hooks/:hook_id" do
     it "should update an existing project hook" do
-      put api("/projects/#{project.code}/hooks/#{hook.id}", user),
+      put api("/projects/#{project.path}/hooks/#{hook.id}", user),
         url: 'http://example.org'
       response.status.should == 200
       json_response['url'].should == 'http://example.org'
@@ -202,7 +201,7 @@ describe Gitlab::API do
   describe "DELETE /projects/:id/hooks" do
     it "should delete hook from project" do
       expect {
-        delete api("/projects/#{project.code}/hooks", user),
+        delete api("/projects/#{project.path}/hooks", user),
           hook_id: hook.id
       }.to change {project.hooks.count}.by(-1)
     end
@@ -210,7 +209,7 @@ describe Gitlab::API do
 
   describe "GET /projects/:id/repository/tags" do
     it "should return an array of project tags" do
-      get api("/projects/#{project.code}/repository/tags", user)
+      get api("/projects/#{project.path}/repository/tags", user)
       response.status.should == 200
       json_response.should be_an Array
       json_response.first['name'].should == project.repo.tags.sort_by(&:name).reverse.first.name
@@ -222,7 +221,7 @@ describe Gitlab::API do
       before { project.add_access(user2, :read) }
 
       it "should return project commits" do
-        get api("/projects/#{project.code}/repository/commits", user)
+        get api("/projects/#{project.path}/repository/commits", user)
         response.status.should == 200
 
         json_response.should be_an Array
@@ -232,7 +231,7 @@ describe Gitlab::API do
 
     context "unauthorized user" do
       it "should not return project commits" do
-        get api("/projects/#{project.code}/repository/commits")
+        get api("/projects/#{project.path}/repository/commits")
         response.status.should == 401
       end
     end
@@ -240,7 +239,7 @@ describe Gitlab::API do
 
   describe "GET /projects/:id/snippets" do
     it "should return an array of project snippets" do
-      get api("/projects/#{project.code}/snippets", user)
+      get api("/projects/#{project.path}/snippets", user)
       response.status.should == 200
       json_response.should be_an Array
       json_response.first['title'].should == snippet.title
@@ -249,7 +248,7 @@ describe Gitlab::API do
 
   describe "GET /projects/:id/snippets/:snippet_id" do
     it "should return a project snippet" do
-      get api("/projects/#{project.code}/snippets/#{snippet.id}", user)
+      get api("/projects/#{project.path}/snippets/#{snippet.id}", user)
       response.status.should == 200
       json_response['title'].should == snippet.title
     end
@@ -257,8 +256,8 @@ describe Gitlab::API do
 
   describe "POST /projects/:id/snippets" do
     it "should create a new project snippet" do
-      post api("/projects/#{project.code}/snippets", user),
-        title: 'api test', file_name: 'sample.rb', code: 'test'
+      post api("/projects/#{project.path}/snippets", user),
+        title: 'api test', file_name: 'sample.rb', path: 'test'
       response.status.should == 201
       json_response['title'].should == 'api test'
     end
@@ -266,42 +265,42 @@ describe Gitlab::API do
 
   describe "PUT /projects/:id/snippets/:shippet_id" do
     it "should update an existing project snippet" do
-      put api("/projects/#{project.code}/snippets/#{snippet.id}", user),
-        code: 'updated code'
+      put api("/projects/#{project.path}/snippets/#{snippet.id}", user),
+        path: 'updated path'
       response.status.should == 200
       json_response['title'].should == 'example'
-      snippet.reload.content.should == 'updated code'
+      snippet.reload.content.should == 'updated path'
     end
   end
 
   describe "DELETE /projects/:id/snippets/:snippet_id" do
     it "should delete existing project snippet" do
       expect {
-        delete api("/projects/#{project.code}/snippets/#{snippet.id}", user)
+        delete api("/projects/#{project.path}/snippets/#{snippet.id}", user)
       }.to change { Snippet.count }.by(-1)
     end
   end
 
   describe "GET /projects/:id/snippets/:snippet_id/raw" do
     it "should get a raw project snippet" do
-      get api("/projects/#{project.code}/snippets/#{snippet.id}/raw", user)
+      get api("/projects/#{project.path}/snippets/#{snippet.id}/raw", user)
       response.status.should == 200
     end
   end
 
   describe "GET /projects/:id/:sha/blob" do
     it "should get the raw file contents" do
-      get api("/projects/#{project.code}/repository/commits/master/blob?filepath=README.md", user)
+      get api("/projects/#{project.path}/repository/commits/master/blob?filepath=README.md", user)
       response.status.should == 200
     end
 
     it "should return 404 for invalid branch_name" do
-      get api("/projects/#{project.code}/repository/commits/invalid_branch_name/blob?filepath=README.md", user)
+      get api("/projects/#{project.path}/repository/commits/invalid_branch_name/blob?filepath=README.md", user)
       response.status.should == 404
     end
 
     it "should return 404 for invalid file" do
-      get api("/projects/#{project.code}/repository/commits/master/blob?filepath=README.invalid", user)
+      get api("/projects/#{project.path}/repository/commits/master/blob?filepath=README.invalid", user)
       response.status.should == 404
     end
   end
index c44bea8..eee3f34 100644 (file)
@@ -8,8 +8,6 @@ describe "Projects" do
       visit new_project_path
 
       fill_in 'project_name', with: 'Awesome'
-      find("#project_path").value.should == 'awesome'
-      find("#project_code").value.should == 'awesome'
     end
   end
 
@@ -53,7 +51,6 @@ describe "Projects" do
       visit edit_project_path(@project)
 
       fill_in 'project_name', with: 'Awesome'
-      fill_in 'project_code', with: 'gitlabhq'
       click_button "Save"
       @project = @project.reload
     end
index 5bf3ea4..871319f 100644 (file)
@@ -28,4 +28,10 @@ module StubbedRepository
   end
 end
 
+class Namespace
+  def ensure_dir_exist
+    true
+  end
+end
+
 Project.send(:include, StubbedRepository)