mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-18 00:00:12 +01:00
Removed superfluous 'tracks' directory at the root of the repository.
Testing commits to github.
This commit is contained in:
parent
6a42901514
commit
4cbf5a34d3
2269 changed files with 0 additions and 0 deletions
81
test/functional/backend_controller_test.rb
Normal file
81
test/functional/backend_controller_test.rb
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
require File.dirname(__FILE__) + '/../test_helper'
|
||||
require 'backend_controller'
|
||||
|
||||
# Re-raise errors caught by the controller.
|
||||
class BackendController; def rescue_action(e) raise e end; end
|
||||
|
||||
class BackendControllerTest < Test::Rails::TestCase
|
||||
fixtures :users, :projects, :contexts, :todos, :notes
|
||||
|
||||
def setup
|
||||
@controller = BackendController.new
|
||||
request, response = ActionController::TestRequest.new, ActionController::TestResponse.new
|
||||
assert_equal "change-me", Tracks::Config.salt
|
||||
end
|
||||
|
||||
def test_new_todo_fails_with_incorrect_token
|
||||
assert_raises_invalid_token { @controller.new_todo('admin', 'notthecorrecttoken', contexts('agenda').id, 'test', 'test') }
|
||||
end
|
||||
|
||||
def test_new_todo_fails_with_context_that_does_not_belong_to_user
|
||||
assert_raise(CannotAccessContext, "Cannot access a context that does not belong to this user.") { @controller.new_todo(users('other_user').login, users('other_user').token, contexts('agenda').id, 'test', 'test') }
|
||||
end
|
||||
|
||||
def test_new_rich_todo_fails_with_incorrect_token
|
||||
assert_raises_invalid_token { @controller.new_rich_todo('admin', 'notthecorrecttoken', contexts('agenda').id, 'test', 'test') }
|
||||
end
|
||||
|
||||
#"Call mfox @call > Build a working time machine" should create the "Call mfox" todo in the 'call' context and the 'Build a working time machine' project.
|
||||
def test_new_rich_todo_creates_todo_with_exact_match
|
||||
assert_new_rich_todo_creates_mfox_todo("Call mfox @call > Build a working time machine")
|
||||
end
|
||||
|
||||
#"Call mfox @cal > Build" should create the "Call mfox" todo in the 'call' context and the 'Build a working time machine' project.
|
||||
def test_new_rich_todo_creates_todo_with_starts_with_match
|
||||
assert_new_rich_todo_creates_mfox_todo("Call mfox @cal > Build")
|
||||
end
|
||||
|
||||
#"Call mfox @call > new:Run for president" should create the 'Run for president' project, create the "Call mfox" todo in the 'call' context and the new project.
|
||||
def test_new_rich_todo_creates_todo_with_new_project
|
||||
max_todo_id = Todo.maximum('id')
|
||||
max_project_id = Project.maximum('id')
|
||||
@controller.new_rich_todo(users(:admin_user).login, users(:admin_user).token, contexts(:agenda).id, 'Call mfox @call > new:Run for president', 'test')
|
||||
todo = Todo.find(:first, :conditions => ["id > ?", max_todo_id])
|
||||
new_project = Project.find(:first, :conditions => ["id > ?", max_project_id])
|
||||
assert_equal(users(:admin_user).id, todo.user_id)
|
||||
assert_equal(contexts(:call).id, todo.context_id)
|
||||
assert_equal(new_project.id, todo.project_id)
|
||||
assert_equal("Call mfox", todo.description)
|
||||
assert_equal("test", todo.notes)
|
||||
end
|
||||
|
||||
def assert_new_rich_todo_creates_mfox_todo(description_input)
|
||||
max_id = Todo.maximum('id')
|
||||
@controller.new_rich_todo(users(:admin_user).login, users(:admin_user).token, contexts(:agenda).id, 'Call mfox @cal > Build', 'test')
|
||||
todo = Todo.find(:first, :conditions => ["id > ?", max_id])
|
||||
assert_equal(users(:admin_user).id, todo.user_id)
|
||||
assert_equal(contexts(:call).id, todo.context_id)
|
||||
assert_equal(projects(:timemachine).id, todo.project_id)
|
||||
assert_equal('test', todo.notes)
|
||||
assert_equal("Call mfox", todo.description)
|
||||
end
|
||||
|
||||
def test_new_rich_todo_fails_with_context_that_does_not_belong_to_user
|
||||
assert_raise(CannotAccessContext, "Cannot access a context that does not belong to this user.") { @controller.new_rich_todo(users('other_user').login, users('other_user').token, contexts('agenda').id, 'test', 'test') }
|
||||
end
|
||||
|
||||
def test_list_projects_fails_with_incorrect_token
|
||||
assert_raises_invalid_token { @controller.list_projects('admin', 'notthecorrecttoken') }
|
||||
end
|
||||
|
||||
def test_list_contexts_fails_with_incorrect_token
|
||||
assert_raises_invalid_token { @controller.list_contexts('admin', 'notthecorrecttoken') }
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def assert_raises_invalid_token
|
||||
assert_raise(InvalidToken, "Sorry, you don't have permission to perform this action.") { yield }
|
||||
end
|
||||
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue