All specs and features currently passing with FactoryGirl
This commit is contained in:
parent
4805c64f2a
commit
c9c1f76e00
8 changed files with 262 additions and 31 deletions
60
spec/support/stubbed_repository.rb
Normal file
60
spec/support/stubbed_repository.rb
Normal file
|
@ -0,0 +1,60 @@
|
|||
# Stubs out all Git repository access done by models so that specs can run
|
||||
# against fake repositories without Grit complaining that they don't exist.
|
||||
module StubbedRepository
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
# If a class defines the method we want to stub directly, rather than
|
||||
# inheriting it from a module (as is the case in UsersProject), that method
|
||||
# will overwrite our stub, so use alias_method to ensure it's our stub
|
||||
# getting called.
|
||||
|
||||
alias_method :update_repository, :fake_update_repository
|
||||
alias_method :destroy_repository, :fake_destroy_repository
|
||||
alias_method :repository_delete_key, :fake_repository_delete_key
|
||||
alias_method :path_to_repo, :fake_path_to_repo
|
||||
alias_method :satellite, :fake_satellite
|
||||
end
|
||||
|
||||
def fake_update_repository
|
||||
true
|
||||
end
|
||||
|
||||
def fake_destroy_repository
|
||||
true
|
||||
end
|
||||
|
||||
def fake_repository_delete_key
|
||||
true
|
||||
end
|
||||
|
||||
def fake_path_to_repo
|
||||
if new_record?
|
||||
# There are a couple Project specs that expect the Project's path to be
|
||||
# in the returned path, so let's patronize them.
|
||||
File.join(Rails.root, 'tmp', 'tests', path)
|
||||
else
|
||||
# For everything else, just give it the path to one of our real seeded
|
||||
# repos.
|
||||
File.join(Rails.root, 'tmp', 'tests', 'gitlabhq_1')
|
||||
end
|
||||
end
|
||||
|
||||
def fake_satellite
|
||||
FakeSatellite.new
|
||||
end
|
||||
|
||||
class FakeSatellite
|
||||
def exists?
|
||||
true
|
||||
end
|
||||
|
||||
def create
|
||||
true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
[Project, Key, ProtectedBranch, UsersProject].each do |c|
|
||||
c.send(:include, StubbedRepository)
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue