Specs for deploy_keys
This commit is contained in:
parent
b85ae02856
commit
65601ade2b
4 changed files with 83 additions and 5 deletions
|
@ -56,6 +56,11 @@ Factory.add(:key, Key) do |obj|
|
|||
obj.key = File.read(File.join(Rails.root, "db", "pkey.example"))
|
||||
end
|
||||
|
||||
Factory.add(:deploy_key, DeployKey) do |obj|
|
||||
obj.title = "Example key"
|
||||
obj.key = File.read(File.join(Rails.root, "db", "pkey.example"))
|
||||
end
|
||||
|
||||
Factory.add(:web_hook, WebHook) do |obj|
|
||||
obj.url = Faker::Internet.url
|
||||
end
|
||||
|
|
|
@ -10,11 +10,7 @@ describe DeployKey do
|
|||
it { should validate_presence_of(:key) }
|
||||
end
|
||||
|
||||
describe "Methods" do
|
||||
it { should respond_to :projects }
|
||||
end
|
||||
|
||||
it { Factory.create(:key,
|
||||
it { Factory.create(:deploy_key,
|
||||
:project => Factory(:project)).should be_valid }
|
||||
end
|
||||
# == Schema Information
|
||||
|
|
68
spec/requests/projects_deploy_keys_spec.rb
Normal file
68
spec/requests/projects_deploy_keys_spec.rb
Normal file
|
@ -0,0 +1,68 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe "DeployKeys" do
|
||||
let(:project) { Factory :project }
|
||||
|
||||
before do
|
||||
login_as :user
|
||||
project.add_access(@user, :read, :write, :admin)
|
||||
end
|
||||
|
||||
describe "GET /keys" do
|
||||
before do
|
||||
@key = Factory :deploy_key, :project => project
|
||||
visit project_deploy_keys_path(project)
|
||||
end
|
||||
|
||||
subject { page }
|
||||
|
||||
it { should have_content(@key.title) }
|
||||
|
||||
describe "Destroy" do
|
||||
before { visit project_deploy_key_path(project, @key) }
|
||||
|
||||
it "should remove entry" do
|
||||
expect {
|
||||
click_link "Remove"
|
||||
}.to change { project.deploy_keys.count }.by(-1)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "New key", :js => true do
|
||||
before do
|
||||
visit project_deploy_keys_path(project)
|
||||
click_link "Add new"
|
||||
end
|
||||
|
||||
it "should open new key popup" do
|
||||
page.should have_content("Add new public key")
|
||||
end
|
||||
|
||||
describe "fill in" do
|
||||
before do
|
||||
fill_in "deploy_key_title", :with => "laptop"
|
||||
fill_in "deploy_key_key", :with => "publickey234="
|
||||
end
|
||||
|
||||
it { expect { click_button "Save" }.to change {Key.count}.by(1) }
|
||||
|
||||
it "should add new key to table" do
|
||||
click_button "Save"
|
||||
|
||||
page.should_not have_content("Add new public key")
|
||||
page.should have_content "laptop"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "Show page" do
|
||||
before do
|
||||
@key = Factory :deploy_key, :project => project
|
||||
visit project_deploy_key_path(project, @key)
|
||||
end
|
||||
|
||||
it { page.should have_content @key.title }
|
||||
it { page.should have_content @key.key[0..10] }
|
||||
end
|
||||
end
|
|
@ -105,6 +105,15 @@ describe "Projects" do
|
|||
it { edit_project_path(@project).should be_denied_for :visitor }
|
||||
end
|
||||
|
||||
describe "GET /project_code/deploy_keys" do
|
||||
it { project_deploy_keys_path(@project).should be_allowed_for @u1 }
|
||||
it { project_deploy_keys_path(@project).should be_denied_for @u3 }
|
||||
it { project_deploy_keys_path(@project).should be_denied_for :admin }
|
||||
it { project_deploy_keys_path(@project).should be_denied_for @u2 }
|
||||
it { project_deploy_keys_path(@project).should be_denied_for :user }
|
||||
it { project_deploy_keys_path(@project).should be_denied_for :visitor }
|
||||
end
|
||||
|
||||
describe "GET /project_code/issues" do
|
||||
it { project_issues_path(@project).should be_allowed_for @u1 }
|
||||
it { project_issues_path(@project).should be_allowed_for @u3 }
|
||||
|
|
Loading…
Reference in a new issue