Recreate tmp/tests on each test run
This commit is contained in:
parent
ee4643c732
commit
b238b1544c
|
@ -47,7 +47,7 @@ Spinach.hooks.after_scenario do
|
|||
end
|
||||
|
||||
Spinach.hooks.before_run do
|
||||
TestEnv.init(mailer: false, init_repos: true, repos: false)
|
||||
TestEnv.init(mailer: false)
|
||||
RSpec::Mocks::setup self
|
||||
|
||||
include FactoryGirl::Syntax::Methods
|
||||
|
|
|
@ -1,33 +1,14 @@
|
|||
require "spec_helper"
|
||||
|
||||
describe ProjectWiki do
|
||||
|
||||
def remove_temp_repo(path)
|
||||
FileUtils.rm_rf path
|
||||
end
|
||||
|
||||
def commit_details
|
||||
commit = {name: user.name, email: user.email, message: "test commit"}
|
||||
end
|
||||
|
||||
def create_page(name, content)
|
||||
subject.wiki.write_page(name, :markdown, content, commit_details)
|
||||
end
|
||||
|
||||
def destroy_page(page)
|
||||
subject.wiki.delete_page(page, commit_details)
|
||||
end
|
||||
|
||||
let(:project) { create(:project) }
|
||||
let(:project) { create(:empty_project) }
|
||||
let(:repository) { project.repository }
|
||||
let(:user) { project.owner }
|
||||
let(:gitlab_shell) { Gitlab::Shell.new }
|
||||
let(:project_wiki) { ProjectWiki.new(project, user) }
|
||||
|
||||
subject { ProjectWiki.new(project, user) }
|
||||
|
||||
before do
|
||||
create_temp_repo(subject.send(:path_to_repo))
|
||||
end
|
||||
subject { project_wiki }
|
||||
before { project_wiki.wiki }
|
||||
|
||||
describe "#path_with_namespace" do
|
||||
it "returns the project path with namespace with the .wiki extension" do
|
||||
|
@ -242,4 +223,26 @@ describe ProjectWiki do
|
|||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def create_temp_repo(path)
|
||||
FileUtils.mkdir_p path
|
||||
system(*%W(git init --quiet --bare -- #{path}))
|
||||
end
|
||||
|
||||
def remove_temp_repo(path)
|
||||
FileUtils.rm_rf path
|
||||
end
|
||||
|
||||
def commit_details
|
||||
commit = {name: user.name, email: user.email, message: "test commit"}
|
||||
end
|
||||
|
||||
def create_page(name, content)
|
||||
subject.wiki.write_page(name, :markdown, content, commit_details)
|
||||
end
|
||||
|
||||
def destroy_page(page)
|
||||
subject.wiki.delete_page(page, commit_details)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,35 +1,12 @@
|
|||
require "spec_helper"
|
||||
|
||||
describe WikiPage do
|
||||
|
||||
def remove_temp_repo(path)
|
||||
FileUtils.rm_rf path
|
||||
end
|
||||
|
||||
def commit_details
|
||||
commit = {name: user.name, email: user.email, message: "test commit"}
|
||||
end
|
||||
|
||||
def create_page(name, content)
|
||||
wiki.wiki.write_page(name, :markdown, content, commit_details)
|
||||
end
|
||||
|
||||
def destroy_page(title)
|
||||
page = wiki.wiki.paged(title)
|
||||
wiki.wiki.delete_page(page, commit_details)
|
||||
end
|
||||
|
||||
let(:project) { create(:project) }
|
||||
let(:repository) { project.repository }
|
||||
let(:project) { create(:empty_project) }
|
||||
let(:user) { project.owner }
|
||||
let(:wiki) { ProjectWiki.new(project, user) }
|
||||
|
||||
subject { WikiPage.new(wiki) }
|
||||
|
||||
before do
|
||||
create_temp_repo(wiki.send(:path_to_repo))
|
||||
end
|
||||
|
||||
describe "#initialize" do
|
||||
context "when initialized with an existing gollum page" do
|
||||
before do
|
||||
|
@ -171,4 +148,22 @@ describe WikiPage do
|
|||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def remove_temp_repo(path)
|
||||
FileUtils.rm_rf path
|
||||
end
|
||||
|
||||
def commit_details
|
||||
commit = {name: user.name, email: user.email, message: "test commit"}
|
||||
end
|
||||
|
||||
def create_page(name, content)
|
||||
wiki.wiki.write_page(name, :markdown, content, commit_details)
|
||||
end
|
||||
|
||||
def destroy_page(title)
|
||||
page = wiki.wiki.paged(title)
|
||||
wiki.wiki.delete_page(page, commit_details)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -38,14 +38,7 @@ RSpec.configure do |config|
|
|||
|
||||
config.include TestEnv
|
||||
|
||||
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
||||
# examples within a transaction, remove the following line or assign false
|
||||
# instead of true.
|
||||
|
||||
config.before(:suite) do
|
||||
TestEnv.init(init_repos: true, repos: false)
|
||||
end
|
||||
config.before(:each) do
|
||||
TestEnv.setup_stubs
|
||||
TestEnv.init
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,6 +16,11 @@ module TestEnv
|
|||
# Setup GitLab shell for test instance
|
||||
setup_gitlab_shell
|
||||
|
||||
# Clean /tmp/tests
|
||||
tmp_test_path = Rails.root.join('tmp', 'tests')
|
||||
FileUtils.rm_r(tmp_test_path)
|
||||
FileUtils.mkdir(tmp_test_path)
|
||||
|
||||
# Create repository for FactoryGirl.create(:project)
|
||||
setup_factory_repo
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue