This commit is contained in:
Dmitriy Zaporozhets 2011-10-13 04:00:00 +03:00
parent 0f43e98ef8
commit d378468794
317 changed files with 11347 additions and 0 deletions

6
spec/support/js_patch.rb Normal file
View file

@ -0,0 +1,6 @@
module JsPatch
def confirm_js_popup
page.evaluate_script("window.alert = function(msg) { return true; }")
page.evaluate_script("window.confirm = function(msg) { return true; }")
end
end

29
spec/support/login.rb Normal file
View file

@ -0,0 +1,29 @@
module LoginMacros
def login_as role
@user = User.create(:email => "user#{User.count}@mail.com",
:name => "John Smith",
:password => "123456",
:password_confirmation => "123456")
if role == :admin
@user.admin = true
@user.save!
end
visit new_user_session_path
fill_in "Email", :with => @user.email
fill_in "Password", :with => "123456"
click_button "Sign in"
end
def login_with(user)
visit new_user_session_path
fill_in "Email", :with => user.email
fill_in "Password", :with => "123456"
click_button "Sign in"
end
def logout
click_link "Logout" rescue nil
end
end

46
spec/support/matchers.rb Normal file
View file

@ -0,0 +1,46 @@
RSpec::Matchers.define :be_valid_commit do
match do |actual|
actual != nil
actual.id == ValidCommit::ID
actual.message == ValidCommit::MESSAGE
actual.author.name == ValidCommit::AUTHOR_FULL_NAME
end
end
RSpec::Matchers.define :be_allowed_for do |user|
match do |url|
include UrlAccess
url_allowed?(user, url)
end
end
RSpec::Matchers.define :be_denied_for do |user|
match do |url|
include UrlAccess
url_denied?(user, url)
end
end
module UrlAccess
def url_allowed?(user, url)
emulate_user(user)
visit url
result = (current_path == url)
end
def url_denied?(user, url)
emulate_user(user)
visit url
result = (current_path != url)
end
def emulate_user(user)
user = case user
when :user then Factory(:user)
when :visitor then nil
when :admin then Factory(:admin)
else user
end
login_with(user) if user
end
end

0
spec/support/security.rb Normal file
View file

View file

@ -0,0 +1,18 @@
shared_examples_for :project_side_pane do
subject { page }
it { should have_content((@project || project).name) }
it { should have_content("Commits") }
it { should have_content("Team") }
it { should have_content("Tree") }
end
shared_examples_for :tree_view do
subject { page }
it "should have Tree View of project" do
should have_content("app")
should have_content("history")
should have_content("Gemfile")
end
end

View file

@ -0,0 +1,25 @@
module ValidCommit
ID = "eaffbe556ec3a8dc84ef15892a9f12d84dde7e1d"
MESSAGE = "style"
AUTHOR_FULL_NAME = "Dmitriy Zaporozhets"
FILES = [".gitignore", ".rspec", ".rvmrc", "Gemfile", "Gemfile.lock", "LICENSE", "README.rdoc", "Rakefile", "app", "config.ru", "config", "db", "doc", "lib", "log", "public", "script", "spec", "vendor"]
FILES_COUNT = 19
C_FILE_PATH = "app/models"
C_FILES = [".gitkeep", "project.rb", "user.rb"]
BLOB_FILE = <<-blob
<div class="span-14 colborder">
<h2>Tree / <%= link_to "Commits", project_commits_path(@project) %></h2>
<%= render :partial => "tree", :locals => {:repo => @repo, :commit => @commit, :tree => @commit.tree} %>
</div>
<div class="span-8 right">
<%= render "side_panel" %>
</div>
blob
BLOB_FILE_PATH = "app/views/projects/show.html.erb"
end