Fixed some tests and snippet colorize

This commit is contained in:
Dmitriy Zaporozhets 2012-11-23 22:31:09 +03:00
parent 470aa7675e
commit 9304d049de
13 changed files with 64 additions and 68 deletions

View 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

View 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

View 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

View File

@ -15,8 +15,12 @@
%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

View 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

View 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

View 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,

View 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

View 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

View 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

View 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

View 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

View File

@ -28,4 +28,10 @@ module StubbedRepository
end
end
class Namespace
def ensure_dir_exist
true
end
end
Project.send(:include, StubbedRepository)