Loading...
Modified: nimble/trunk/app/models/task.rb 
=================================================================== 
--- nimble/trunk/app/models/task.rb    2006-09-08 11:08:31 UTC (rev 919) 
+++ nimble/trunk/app/models/task.rb    2006-09-08 11:21:01 UTC (rev 920) 
@@ -203,7 +203,7 @@ 
     #Overwritten to set remaining to zero if task is set as completed and deferred. 
     def status=(value) 
         write_attribute(:status, value) 
-        zero_remaining if value == "Completed" or value == "Deferred" 
+        @needs_to_update_remaining = true 
     end 
  
     #Overwritten to update status on estimate changes. 
 
Modified: nimble/trunk/test/unit/task_test.rb 
=================================================================== 
--- nimble/trunk/test/unit/task_test.rb    2006-09-08 11:08:31 UTC (rev 919) 
+++ nimble/trunk/test/unit/task_test.rb    2006-09-08 11:21:01 UTC (rev 920) 
@@ -102,6 +102,29 @@ 
         assert task.owner.username 
     end 
  
+    def test_update_remaining_on_status_change 
+        user = users(:mycorp_user) 
+        task = user.tasks.find(:first) 
+        #this task is not yet started 
+        assert task.time_remaining != 0 
+        #mark it as completed 
+        task.status = "Completed" 
+        task.save 
+        #remaining should be set to 0 
+        assert_equal task.remaining, 0 
+    end 
 private 
  
     def reload(*tasks)