diff --git a/app/views/wikis/_form.html.haml b/app/views/wikis/_form.html.haml index 6fa41db4..7cf08815 100644 --- a/app/views/wikis/_form.html.haml +++ b/app/views/wikis/_form.html.haml @@ -30,4 +30,7 @@ .input= f.text_field :message, class: 'span8' .actions = f.submit 'Save', class: "btn-save btn" - = link_to "Cancel", project_wiki_path(@project, :index), class: "btn btn-cancel" + - if @wiki && @wiki.persisted? + = link_to "Cancel", project_wiki_path(@project, @wiki), class: "btn btn-cancel" + - else + = link_to "Cancel", project_wiki_path(@project, :home), class: "btn btn-cancel" diff --git a/features/project/wiki.feature b/features/project/wiki.feature index 45761f09..90eb2b79 100644 --- a/features/project/wiki.feature +++ b/features/project/wiki.feature @@ -8,6 +8,10 @@ Feature: Project Wiki Given I create the Wiki Home page Then I should see the newly created wiki page + Scenario: Pressing Cancel while editing a brand new Wiki + Given I click on the Cancel button + Then I should be redirected back to the Edit Home Wiki page + Scenario: Edit existing page Given I have an existing Wiki page And I browse to that Wiki page @@ -15,6 +19,13 @@ Feature: Project Wiki And I change the content Then I should see the updated content + Scenario: Pressing Cancel while editing an existing 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 Cancel button + Then I should be redirected back to that Wiki page + Scenario: View page history Given I have an existing wiki page And That page has two revisions diff --git a/features/steps/project/project_wiki.rb b/features/steps/project/project_wiki.rb index 1a811bad..745e9ede 100644 --- a/features/steps/project/project_wiki.rb +++ b/features/steps/project/project_wiki.rb @@ -4,6 +4,17 @@ class ProjectWiki < Spinach::FeatureSteps include SharedNote include SharedPaths + Given 'I click on the Cancel button' do + within(:css, ".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 "Save" @@ -39,6 +50,11 @@ class ProjectWiki < Spinach::FeatureSteps 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