Project Snippets now part of project
This commit is contained in:
parent
6172390007
commit
7d2fbe6bd8
|
@ -1,3 +1,4 @@
|
||||||
class Projects::ApplicationController < ApplicationController
|
class Projects::ApplicationController < ApplicationController
|
||||||
|
before_filter :project
|
||||||
|
before_filter :repository
|
||||||
end
|
end
|
||||||
|
|
|
@ -14,6 +14,8 @@ class Projects::SnippetsController < Projects::ApplicationController
|
||||||
# Allow destroy snippet
|
# Allow destroy snippet
|
||||||
before_filter :authorize_admin_snippet!, only: [:destroy]
|
before_filter :authorize_admin_snippet!, only: [:destroy]
|
||||||
|
|
||||||
|
layout 'project_resource'
|
||||||
|
|
||||||
respond_to :html
|
respond_to :html
|
||||||
|
|
||||||
def index
|
def index
|
||||||
|
|
|
@ -73,7 +73,7 @@ module TabHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def project_tab_class
|
def project_tab_class
|
||||||
return "active" if current_page?(controller: "projects", action: :edit, id: @project)
|
return "active" if current_page?(controller: "/projects", action: :edit, id: @project)
|
||||||
|
|
||||||
if ['services', 'hooks', 'deploy_keys', 'team_members'].include? controller.controller_name
|
if ['services', 'hooks', 'deploy_keys', 'team_members'].include? controller.controller_name
|
||||||
"active"
|
"active"
|
||||||
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe "Project::Snippets" do
|
||||||
|
let(:project) { create(:project) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
login_as :user
|
||||||
|
project.team << [@user, :developer]
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "GET /:project/snippets" do
|
||||||
|
before do
|
||||||
|
@snippet = create(:snippet,
|
||||||
|
author: @user,
|
||||||
|
project: project)
|
||||||
|
|
||||||
|
visit project_snippets_path(project)
|
||||||
|
p project_snippets_path(project)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
subject { page }
|
||||||
|
|
||||||
|
it { should have_content(@snippet.title[0..10]) }
|
||||||
|
it { should have_content(@snippet.project.name) }
|
||||||
|
|
||||||
|
describe "Destroy" do
|
||||||
|
before do
|
||||||
|
# admin access to remove snippet
|
||||||
|
@user.users_projects.destroy_all
|
||||||
|
project.team << [@user, :master]
|
||||||
|
visit edit_project_snippet_path(project, @snippet)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should remove entry" do
|
||||||
|
expect {
|
||||||
|
click_link "destroy_snippet_#{@snippet.id}"
|
||||||
|
}.to change { Snippet.count }.by(-1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "New project snippet" do
|
||||||
|
before do
|
||||||
|
visit project_snippets_path(project)
|
||||||
|
click_link "New Snippet"
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should open new snippet popup" do
|
||||||
|
page.current_path.should == new_project_snippet_path(project)
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "fill in", js: true do
|
||||||
|
before do
|
||||||
|
fill_in "snippet_title", with: "login function"
|
||||||
|
fill_in "snippet_file_name", with: "test.rb"
|
||||||
|
page.execute_script("editor.insert('def login; end');")
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect { click_button "Save" }.to change {Snippet.count}.by(1) }
|
||||||
|
|
||||||
|
it "should add new snippet to table" do
|
||||||
|
click_button "Save"
|
||||||
|
page.current_path.should == project_snippet_path(project, Snippet.last)
|
||||||
|
page.should have_content "login function"
|
||||||
|
page.should have_content "test.rb"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "Edit project snippet" do
|
||||||
|
before do
|
||||||
|
@snippet = create(:snippet,
|
||||||
|
author: @user,
|
||||||
|
project: project)
|
||||||
|
visit project_snippet_path(project, @snippet)
|
||||||
|
click_link "Edit Snippet"
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should open edit page" do
|
||||||
|
page.current_path.should == edit_project_snippet_path(project, @snippet)
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "fill in" do
|
||||||
|
before do
|
||||||
|
fill_in "snippet_title", with: "login function"
|
||||||
|
fill_in "snippet_file_name", with: "test.rb"
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect { click_button "Save" }.to_not change {Snippet.count} }
|
||||||
|
|
||||||
|
it "should update snippet fields" do
|
||||||
|
click_button "Save"
|
||||||
|
|
||||||
|
page.current_path.should == project_snippet_path(project, @snippet)
|
||||||
|
page.should have_content "login function"
|
||||||
|
page.should have_content "test.rb"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue