/test/test_task.rb
Ruby | 116 lines | 77 code | 28 blank | 11 comment | 1 complexity | 706314b02240960cf05d035b20a4e82c MD5 | raw file
Possible License(s): MIT
- require File.dirname(__FILE__) + "/helper"
- module NirvanaHQTests
- TASK_YAML = File.dirname(__FILE__) + "/examples/task.yaml"
- class NirvanaHQAddTrashTaskTest < Test::Unit::TestCase
- def setup
- @task = YAML::load_file(TASK_YAML)
- @nirvana = NirvanaHQ.new $nirvana_config
- end
- def new_task
- task = {
- "id" => UUID.generate,
- "name" => "Test Task #{rand(100)}",
- "_name" => Time.now.to_i
- }
-
- File.open( TASK_YAML, 'w' ) do |out|
- YAML.dump( task, out )
- end
-
- task
- end
- def test_add_task
- task = self.new_task
- puts "Creating #{task['name']}\n"
- # task.add expects a hash
- result = @nirvana.add task
- result = JSON.parse(result)
- assert result.keys.include?('results')
- assert result['results'][0]
- assert result['results'][0].keys.include?('task')
- assert_equal task["id"], result['results'][0]['task']['id']
- end
- def test_trash_task
- result = @nirvana.trash @task['id']
- result = JSON.parse(result)
- assert result.keys.include?('results')
- assert result['results'][0]
- assert result['results'][0].keys.include?('task')
- assert_equal "6", result['results'][0]['task']['state']
- end
- end
- class NirvanaHQDeleteUndeleteTaskTest < Test::Unit::TestCase
-
- def setup
- @task = YAML::load_file(TASK_YAML)
- @nirvana = NirvanaHQ.new $nirvana_config
- end
- # more destructive. No way to recover (afaik) via ui
- # here more as an example than anything else.
- def test_delete_task
- result = @nirvana.delete @task['id']
- result = JSON.parse(result)
- assert result.keys.include?('results')
- assert result['results'][0]
- assert result['results'][0].keys.include?('task')
- assert "0" != result['results'][0]['task']['deleted']
- end
- def test_undelete_task
- result = @nirvana.undelete @task['id']
- result = JSON.parse(result)
- assert result.keys.include?('results')
- assert result['results'][0]
- assert result['results'][0].keys.include?('task')
- assert_equal "0", result['results'][0]['task']['deleted']
-
- # pause for a sec, to make sure delete timestamp is later. clean up
- @nirvana.delete @task['id']
- end
- end
- class NirvanaHQTaskTest < Test::Unit::TestCase
-
- def setup
- @task = YAML::load_file(TASK_YAML)
- @nirvana = NirvanaHQ.new $nirvana_config
- end
- # Will need to rethink this test, or need to get the hang of stubbin,
- # since running against a live account will make it lag eventually as tasks get larger.
- # Maybe speak with E for a new account special just for testing.
- def test_everything
- results = @nirvana.everything
- keys = []
- results.each do | obj |
- keys << obj.keys.to_s
- end
- assert keys.include? "user"
- assert keys.include? "task"
- end
- # def test_get_task
- #
- # assert false
- # end
-
- end
- end