diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 2adea3c9..381ba8bf 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -74,7 +74,17 @@ class ProjectsController < ApplicationController def set_reviewed @project.last_reviewed = Time.zone.now @project.save - redirect_to :action => 'show' + + case @source_view + when "project" + redirect_to :action => 'show' + when "project_list" + redirect_to :action => 'index' + when "review" + redirect_to :action => 'review' + else + redirect_to :action => 'index' + end end def projects_and_actions diff --git a/app/views/projects/_project_form.rhtml b/app/views/projects/_project_form.rhtml index 8aa86ee1..b349f9f5 100644 --- a/app/views/projects/_project_form.rhtml +++ b/app/views/projects/_project_form.rhtml @@ -40,7 +40,7 @@ project = project_form <%=image_tag("cancel.png", :alt => "") %> Cancel - + " id="<%= dom_id(project, 'reviewed') %>" class="reviewed"> <%=image_tag("reviewed.png", :alt => "") %> Reviewed diff --git a/features/review.feature b/features/review.feature index 6ba74cd4..c41a4aa6 100644 --- a/features/review.feature +++ b/features/review.feature @@ -34,3 +34,27 @@ Feature: Reviewing projects Given I have an outdated project "dated_project" with 1 todos When I go to the review page And the badge should show 5 ## note that stalled and blocked projects are also up-to-date listed + + @javascript + Scenario: I can mark a project as reviewed from the projects list page + Given I have a project called "review me" + When I go to the projects page + Then I should see "review me" + When I edit project "review me" and mark the project as reviewed + Then I should be on the projects page + And I should see "review me" + + @javascript + Scenario: I can mark a project as reviewed from the project page + Given I have a project called "review me" + When I go to the "review me" project + When I edit project settings and mark the project as reviewed + Then I should be on the "review me" project + + @javascript + Scenario: I can mark a project as reviewed from the review page + Given I have an outdated project "review me" with 1 todos + When I go to the review page + Then I should see "review me" + When I edit project "review me" and mark the project as reviewed + Then I should be on the review page \ No newline at end of file diff --git a/features/step_definitions/project_steps.rb b/features/step_definitions/project_steps.rb index c948343e..812c068f 100644 --- a/features/step_definitions/project_steps.rb +++ b/features/step_definitions/project_steps.rb @@ -164,7 +164,6 @@ When /^I edit the project settings$/ do page.should have_xpath("//div[@id='edit_project_#{@project.id}']/form//button[@id='submit_project_#{@project.id}']") end - When /^I close the project settings$/ do @project.should_not be_nil click_link "Cancel" @@ -181,6 +180,19 @@ When /^I edit the project state of "([^"]*)" to "([^"]*)"$/ do |project_name, st end end +When /^I edit project "([^"]*)" and mark the project as reviewed$/ do |project_name| + project = @current_user.projects.find_by_name(project_name) + project.should_not be_nil + + open_project_edit_form(project) + click_link "reviewed_project_#{project.id}" +end + +When /^I edit project settings and mark the project as reviewed$/ do + open_project_edit_form(@project) + click_link "reviewed_project_#{@project.id}" +end + When /^I add a note "([^"]*)" to the project$/ do |note_body| click_link "Add a note" fill_in "note[body]", :with => note_body