Add next-previous links to project detail pages. Closes #379

git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@470 a4c988fc-2ded-0310-b66e-134b36920a42
This commit is contained in:
lukemelia 2007-03-06 13:18:31 +00:00
parent 49296539ee
commit 85885f9b9b
7 changed files with 79 additions and 3 deletions

View file

@ -18,9 +18,8 @@ class ProjectsControllerTest < TodoContainerControllerTestBase
end
def test_show_exposes_deferred_todos
@request.session['user_id'] = users(:admin_user).id
p = projects(:timemachine)
get :show, :id => p.to_param
show p
assert_not_nil assigns['deferred']
assert_equal 1, assigns['deferred'].size
@ -32,6 +31,16 @@ class ProjectsControllerTest < TodoContainerControllerTestBase
assert_equal 2, assigns['deferred'].size
end
def test_show_exposes_next_project_in_same_state
show projects(:timemachine)
assert_equal(projects(:moremoney), assigns['next_project'])
end
def test_show_exposes_previous_project_in_same_state
show projects(:moremoney)
assert_equal(projects(:timemachine), assigns['previous_project'])
end
def test_create_project_via_ajax_increments_number_of_projects
assert_ajax_create_increments_count 'My New Project'
end
@ -190,5 +199,11 @@ class ProjectsControllerTest < TodoContainerControllerTestBase
get :index, { :format => "txt", :token => users(:admin_user).word }
assert_response :ok
end
private
def show(project)
@request.session['user_id'] = project.user_id
get :show, :id => project.to_param
end
end

View file

@ -1,7 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class UserTest < Test::Unit::TestCase
fixtures :users, :preferences
fixtures :users, :preferences, :projects, :todos
def setup
assert_equal "test", ENV['RAILS_ENV']
@ -150,6 +150,30 @@ class UserTest < Test::Unit::TestCase
assert_nil User.authenticate(@admin_user.login, "abracadabra")
assert_not_nil User.authenticate(@admin_user.login, "foobar")
end
def test_projects_next_project
moremoney = projects(:moremoney)
next_project = @admin_user.projects.next_from(moremoney)
assert_equal projects(:gardenclean), next_project
end
def test_projects_previous_project
moremoney = projects(:moremoney)
previous_project = @admin_user.projects.previous_from(moremoney)
assert_equal projects(:timemachine), previous_project
end
def test_projects_next_project_nil
gardenclean = projects(:gardenclean)
next_project = @admin_user.projects.next_from(gardenclean)
assert_nil next_project
end
def test_projects_previous_project_nil
timemachine = projects(:timemachine)
previous_project = @admin_user.projects.previous_from(timemachine)
assert_nil previous_project
end
end