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:
Diffstat (limited to 'features/steps/project/wiki.rb')
-rw-r--r--features/steps/project/wiki.rb92
1 files changed, 92 insertions, 0 deletions
diff --git a/features/steps/project/wiki.rb b/features/steps/project/wiki.rb
new file mode 100644
index 00000000000..6146599cc4a
--- /dev/null
+++ b/features/steps/project/wiki.rb
@@ -0,0 +1,92 @@
+class ProjectWiki < Spinach::FeatureSteps
+ include SharedAuthentication
+ include SharedProject
+ include SharedNote
+ include SharedPaths
+
+ Given 'I click on the Cancel button' do
+ within(:css, ".form-actions") do
+ click_on "Cancel"
+ end
+ end
+
+ Then 'I should be redirected back to the Edit Home Wiki page' do
+ url = URI.parse(current_url)
+ url.path.should == project_wiki_path(project, :home)
+ end
+
+ Given 'I create the Wiki Home page' do
+ fill_in "Content", with: '[link test](test)'
+ click_on "Create page"
+ end
+
+ 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"
+ 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 changes"
+ end
+
+ Then 'I should see the updated content' do
+ page.should have_content "Updated Wiki Content"
+ end
+
+ Then 'I should be redirected back to that Wiki page' do
+ url = URI.parse(current_url)
+ url.path.should == project_wiki_path(project, @page)
+ 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