Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-03-15 18:55:07 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-03-15 18:55:07 +0400
commit71ab011a1711db9a1a9ced2c2c92c8427ae6f624 (patch)
tree95e38662d7f022061c2c809f4b6c53067a5df468 /features
parent4f23c30ace844cdcd2c59da1a758c8a6788ca6f3 (diff)
parentd69a37e0b7163f5a03fcc58fdb6ec0ed1eb20862 (diff)
Merge branch 'use_gollum_wikis' of https://github.com/DanKnox/gitlabhq into DanKnox-use_gollum_wikis
Conflicts: app/views/layouts/project_resource.html.haml app/views/wikis/edit.html.haml app/views/wikis/pages.html.haml app/views/wikis/show.html.haml spec/features/gitlab_flavored_markdown_spec.rb
Diffstat (limited to 'features')
-rw-r--r--features/project/wiki.feature31
-rw-r--r--features/steps/project/project_wiki.rb64
-rw-r--r--features/steps/shared/paths.rb4
-rw-r--r--features/support/env.rb9
4 files changed, 100 insertions, 8 deletions
diff --git a/features/project/wiki.feature b/features/project/wiki.feature
index f052e2f244c..45761f09f51 100644
--- a/features/project/wiki.feature
+++ b/features/project/wiki.feature
@@ -5,5 +5,32 @@ Feature: Project Wiki
Given I visit project wiki page
Scenario: Add new page
- Given I create Wiki page
- Then I should see newly created wiki page
+ Given I create the Wiki Home page
+ Then I should see the newly created wiki page
+
+ Scenario: Edit existing page
+ Given I have an existing Wiki page
+ And I browse to that Wiki page
+ And I click on the Edit button
+ And I change the content
+ Then I should see the updated content
+
+ Scenario: View page history
+ Given I have an existing wiki page
+ And That page has two revisions
+ And I browse to that Wiki page
+ And I click the History button
+ Then I should see both revisions
+
+ Scenario: Destroy Wiki page
+ Given I have an existing wiki page
+ And I browse to that Wiki page
+ And I click on the Edit button
+ And I click on the "Delete this page" button
+ Then The page should be deleted
+
+ Scenario: View all pages
+ Given I have an existing wiki page
+ And I browse to that Wiki page
+ And I click on the "Pages" button
+ Then I should see the existing page in the pages list
diff --git a/features/steps/project/project_wiki.rb b/features/steps/project/project_wiki.rb
index 902e9ce158c..1a811bad798 100644
--- a/features/steps/project/project_wiki.rb
+++ b/features/steps/project/project_wiki.rb
@@ -4,17 +4,73 @@ class ProjectWiki < Spinach::FeatureSteps
include SharedNote
include SharedPaths
- Given 'I create Wiki page' do
- fill_in "Title", :with => 'Test title'
+ Given 'I create the Wiki Home page' do
fill_in "Content", :with => '[link test](test)'
click_on "Save"
end
- Then 'I should see newly created wiki page' do
- page.should have_content "Test title"
+ Then 'I should see the newly created wiki page' do
+ page.should have_content "Home"
page.should have_content "link test"
click_link "link test"
page.should have_content "Editing page"
end
+
+ Given 'I have an existing Wiki page' do
+ wiki.create_page("existing", "content", :markdown, "first commit")
+ @page = wiki.find_page("existing")
+ end
+
+ And 'I browse to that Wiki page' do
+ visit project_wiki_path(project, @page)
+ end
+
+ And 'I click on the Edit button' do
+ click_on "Edit"
+ end
+
+ And 'I change the content' do
+ fill_in "Content", :with => 'Updated Wiki Content'
+ click_on "Save"
+ end
+
+ Then 'I should see the updated content' do
+ page.should have_content "Updated Wiki Content"
+ end
+
+ And 'That page has two revisions' do
+ @page.update("new content", :markdown, "second commit")
+ end
+
+ And 'I click the History button' do
+ click_on "History"
+ end
+
+ Then 'I should see both revisions' do
+ page.should have_content current_user.name
+ page.should have_content "first commit"
+ page.should have_content "second commit"
+ end
+
+ And 'I click on the "Delete this page" button' do
+ click_on "Delete this page"
+ end
+
+ Then 'The page should be deleted' do
+ page.should have_content "Page was successfully deleted"
+ end
+
+ And 'I click on the "Pages" button' do
+ click_on "Pages"
+ end
+
+ Then 'I should see the existing page in the pages list' do
+ page.should have_content current_user.name
+ page.should have_content @page.title.titleize
+ end
+
+ def wiki
+ @gollum_wiki = GollumWiki.new(project, current_user)
+ end
end
diff --git a/features/steps/shared/paths.rb b/features/steps/shared/paths.rb
index 2713e20a91e..444e1d0c2fd 100644
--- a/features/steps/shared/paths.rb
+++ b/features/steps/shared/paths.rb
@@ -165,7 +165,7 @@ module SharedPaths
end
Given "I visit my project's wiki page" do
- visit project_wiki_path(@project, :index)
+ visit project_wiki_path(@project, :home)
end
When 'I visit project hooks page' do
@@ -260,7 +260,7 @@ module SharedPaths
end
Given 'I visit project wiki page' do
- visit project_wiki_path(@project, :index)
+ visit project_wiki_path(@project, :home)
end
def root_ref
diff --git a/features/support/env.rb b/features/support/env.rb
index 6f1e4df39fc..f6f88955625 100644
--- a/features/support/env.rb
+++ b/features/support/env.rb
@@ -37,6 +37,9 @@ DatabaseCleaner.strategy = :truncation
Spinach.hooks.before_scenario do
# Use tmp dir for FS manipulations
Gitlab.config.gitlab_shell.stub(repos_path: Rails.root.join('tmp', 'test-git-base-path'))
+ Gitlab::Shell.any_instance.stub(:add_repository) do |path|
+ create_temp_repo("#{Rails.root}/tmp/test-git-base-path/#{path}.git")
+ end
FileUtils.rm_rf Gitlab.config.gitlab_shell.repos_path
FileUtils.mkdir_p Gitlab.config.gitlab_shell.repos_path
DatabaseCleaner.start
@@ -51,3 +54,9 @@ Spinach.hooks.before_run do
include FactoryGirl::Syntax::Methods
end
+
+def create_temp_repo(path)
+ FileUtils.mkdir_p path
+ command = "git init --quiet --bare #{path};"
+ system(command)
+end