Commit 65601ade authored by miks's avatar miks

Specs for deploy_keys

parent b85ae028
...@@ -56,6 +56,11 @@ Factory.add(:key, Key) do |obj| ...@@ -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 ...@@ -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
......
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 ...@@ -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 }
......
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