diff --git a/app/models/project.rb b/app/models/project.rb index e5e6205e..3ddd7f52 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -130,7 +130,7 @@ class Project < ActiveRecord::Base def stalled? # Stalled projects are active projects with no active next actions return false if self.completed? || self.hidden? - return self.todos.deferred_or_blocked.empty? && self.todos.not_deferred_or_blocked.empty? + return self.todos.deferred_or_blocked.empty? && self.todos.active.empty? end def shortened_name(length=40) diff --git a/test/functional/preferences_controller_test.rb b/test/functional/preferences_controller_test.rb index bcb55a51..695a9ee9 100644 --- a/test/functional/preferences_controller_test.rb +++ b/test/functional/preferences_controller_test.rb @@ -66,18 +66,4 @@ class PreferencesControllerTest < ActionController::TestCase assert_equal old_password_hash, updated_admin_user.password end - test "should be able to change authentication type" do - assert Tracks::Config.auth_schemes.include?("open_id"), "open_id should be a valid authentication scheme" - - login_as :admin_user - - post :update, { - :id => users(:admin_user).id, - :user => { :first_name => 'Jane', :last_name => 'Doe', :auth_type => "open_id", :open_id_url => "http://test"}, - :prefs => { :date_format => "%m-%d-%Y", :week_starts => "0", :show_number_completed => "10", :show_completed_projects_in_sidebar => "false", :show_hidden_contexts_in_sidebar => "false", :staleness_starts => "14", :due_style => "1" }} - - updated_admin_user = users(:admin_user).reload - assert_equal "open_id", updated_admin_user.auth_type - end - end diff --git a/test/unit/project_test.rb b/test/unit/project_test.rb index ae0967f3..e4738921 100644 --- a/test/unit/project_test.rb +++ b/test/unit/project_test.rb @@ -219,11 +219,17 @@ class ProjectTest < ActiveSupport::TestCase def test_project_stalled p = users(:admin_user).projects.first + p.hide! + assert !p.stalled?, "hidden projects are not stalled" + + p.complete! + assert !p.stalled?, "completed projects are not stalled" + + p.activate! p.todos.each{|t| t.complete!} - - assert p.todos.active.count == 0, "project should not have active todos" - - assert p.stalled?, "project should be stalled" + assert p.todos.active.empty?, "project should not have active todos" + assert p.todos.deferred_or_blocked.empty?, "there should not be deferred or blocked todos" + assert p.reload.stalled?, "project should be stalled" end end