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"))
|
obj.key = File.read(File.join(Rails.root, "db", "pkey.example"))
|
||||||
end
|
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|
|
Factory.add(:web_hook, WebHook) do |obj|
|
||||||
obj.url = Faker::Internet.url
|
obj.url = Faker::Internet.url
|
||||||
end
|
end
|
||||||
|
|
|
@ -10,11 +10,7 @@ describe DeployKey do
|
||||||
it { should validate_presence_of(:key) }
|
it { should validate_presence_of(:key) }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "Methods" do
|
it { Factory.create(:deploy_key,
|
||||||
it { should respond_to :projects }
|
|
||||||
end
|
|
||||||
|
|
||||||
it { Factory.create(:key,
|
|
||||||
:project => Factory(:project)).should be_valid }
|
:project => Factory(:project)).should be_valid }
|
||||||
end
|
end
|
||||||
# == Schema Information
|
# == 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 }
|
it { edit_project_path(@project).should be_denied_for :visitor }
|
||||||
end
|
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
|
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 @u1 }
|
||||||
it { project_issues_path(@project).should be_allowed_for @u3 }
|
it { project_issues_path(@project).should be_allowed_for @u3 }
|
||||||
|
|
Loading…
Reference in a new issue