fix some failing tests

This commit is contained in:
Reinier Balt 2009-04-19 00:18:12 +02:00
parent b990f8a015
commit 2f8b454ac0
4 changed files with 25 additions and 15 deletions

View file

@ -269,7 +269,7 @@ class TodosController < ApplicationController
if (@project_changed && !@original_item_project_id.nil?) then
@todo.update_state_from_project
@todo.save!
@remaining_undone_in_project = current_user.projects.find(@original_item_project_id).not_done_todo_count
@remaining_undone_in_project = current_user.projects.find(@original_item_project_id).not_done_todos.count
end
determine_down_count
determine_deferred_tag_count(params['_tag_name']) if @source_view == 'tag'
@ -699,11 +699,11 @@ class TodosController < ApplicationController
@completed_count = Todo.count_by_sql(['SELECT COUNT(*) FROM todos, contexts WHERE todos.context_id = contexts.id and todos.user_id = ? and todos.state = ? and contexts.hide = ?', current_user.id, 'completed', false])
end
from.context do
@completed_count = current_user.contexts.find(@todo.context_id).done_todo_count
@completed_count = current_user.contexts.find(@todo.context_id).done_todos.count
end
from.project do
unless @todo.project_id == nil
@completed_count = current_user.projects.find(@todo.project_id).done_todo_count
@completed_count = current_user.projects.find(@todo.project_id).done_todos.count
end
end
end

View file

@ -1,10 +1,20 @@
class Project < ActiveRecord::Base
has_many :todos, :dependent => :delete_all, :include => [:context,:tags]
has_many :not_done_todos,
:include => [:context,:tags,:project],
:class_name => 'Todo',
:order => "todos.due IS NULL, todos.due ASC, todos.created_at ASC",
:conditions => ["todos.state = ?", 'active']
has_many :not_done_todos_including_hidden,
:include => [:context,:tags,:project],
:class_name => 'Todo',
:order => "todos.due IS NULL, todos.due ASC, todos.created_at ASC",
:conditions => ["(todos.state = ? OR todos.state = ?)", 'active', 'project_hidden']
has_many :done_todos,
:include => [:context,:tags,:project],
:class_name => 'Todo',
:order => "todos.due IS NULL, todos.due ASC, todos.created_at ASC",
:conditions => ["todos.state = ?", 'completed']
has_many :deferred_todos,
:include => [:context,:tags,:project],
:class_name => 'Todo',
@ -127,4 +137,4 @@ class NullProject
nil
end
end
end

View file

@ -1,5 +1,5 @@
<% @contexts.each do |c| -%>
<% current_user.contexts.each do |c| -%>
<%= c.name.upcase %>
<%= count_undone_todos_phrase_text(c)%>. Context is <%= c.hidden? ? "Hidden" : "Active" %>.
<% end -%>
<% end -%>

View file

@ -157,24 +157,24 @@ class ProjectTest < Test::Rails::TestCase
end
def test_deferred_todo_count
assert_equal 1, @timemachine.deferred_todo_count
assert_equal 0, @moremoney.deferred_todo_count
assert_equal 1, @timemachine.deferred_todos.count
assert_equal 0, @moremoney.deferred_todos.count
@moremoney.todos[0].show_from = next_week
assert_equal 1, @moremoney.deferred_todo_count
assert_equal 1, @moremoney.deferred_todos.count
end
def test_done_todo_count
assert_equal 0, @timemachine.done_todo_count
assert_equal 0, @moremoney.done_todo_count
assert_equal 0, @timemachine.done_todos.count
assert_equal 0, @moremoney.done_todos.count
@moremoney.todos[0].complete!
assert_equal 1, @moremoney.done_todo_count
assert_equal 1, @moremoney.done_todos.count
end
def test_not_done_todo_count
assert_equal 2, @timemachine.not_done_todo_count
assert_equal 4, @moremoney.not_done_todo_count
assert_equal 2, @timemachine.not_done_todos.count
assert_equal 4, @moremoney.not_done_todos.count
@moremoney.todos[0].complete!
assert_equal 3, @moremoney.not_done_todo_count
assert_equal 3, @moremoney.not_done_todos.count
end
def test_default_context_name