test/unit/tmdb_test.rb in ruby-tmdb-0.1.0 vs test/unit/tmdb_test.rb in ruby-tmdb-0.1.1

- old
+ new

@@ -26,19 +26,10 @@ test "getting nonexistent URL returns response object" do test_response = Tmdb.get_url('http://thisisaurlthatdoesntexist.co.nz') assert_equal 404, test_response.code.to_i end - test "api_call should raise exception if api_key is not set" do - old_api_key = Tmdb.api_key - Tmdb.api_key = "" - assert_raises ArgumentError do - Tmdb.api_call('Movie.search', 'Transformers') - end - Tmdb.api_key = old_api_key - end - test "should perform Movie.search API call and return array of results" do movies = Tmdb.api_call('Movie.search', 'Transformers') assert_kind_of Array, movies assert movies.length > 1 movies.each do |movie| @@ -113,8 +104,46 @@ person = Tmdb.api_call('Person.getInfo', 287)[0] assert_not_nil person[person.keys[0]] person[person.keys[0]] = nil person = Tmdb.api_call('Person.getInfo', 287)[0] assert_not_nil person[person.keys[0]] + end + + test "data_to_object should create object from nested data structures" do + test_data = { + :test1 => [ + 1,2,3,4 + ], + :test2 => 1 + } + test_object = Tmdb.data_to_object(test_data) + assert_nothing_raised do + assert_equal [1,2,3,4], test_object.test1 + assert_equal 1, test_object.test2 + end + end + + test "data_to_object should include raw_data method that returns original data" do + test_data = { + :test1 => [1,2,3] + } + test_object = Tmdb.data_to_object(test_data) + assert_equal test_object.raw_data, test_data + end + + test "data_to_object should convert arrays containing images to nicer format" do + test_data = { + "backdrops" => [ + { + "image" => { + :test => 1 + } + } + ] + } + test_object = Tmdb.data_to_object(test_data) + assert_nothing_raised do + assert_equal 1, test_object.backdrops[0].test + end end end \ No newline at end of file