Commit 7d2fbe6b authored by Andrew8xx8's avatar Andrew8xx8

Project Snippets now part of project

parent 61723900
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 ...@@ -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 ...@@ -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"
......
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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment