themoviedb-api 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +90 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +6 -0
  6. data/Gemfile +4 -0
  7. data/Gemfile.lock +64 -0
  8. data/README.md +6 -0
  9. data/lib/tmdb.rb +62 -0
  10. data/lib/tmdb/account.rb +4 -0
  11. data/lib/tmdb/api.rb +26 -0
  12. data/lib/tmdb/authentication.rb +4 -0
  13. data/lib/tmdb/backdrop.rb +4 -0
  14. data/lib/tmdb/certification.rb +27 -0
  15. data/lib/tmdb/change.rb +44 -0
  16. data/lib/tmdb/change_item.rb +4 -0
  17. data/lib/tmdb/collection.rb +32 -0
  18. data/lib/tmdb/company.rb +21 -0
  19. data/lib/tmdb/configuration.rb +10 -0
  20. data/lib/tmdb/country.rb +4 -0
  21. data/lib/tmdb/credit.rb +26 -0
  22. data/lib/tmdb/discover.rb +27 -0
  23. data/lib/tmdb/error.rb +4 -0
  24. data/lib/tmdb/find.rb +47 -0
  25. data/lib/tmdb/genre.rb +32 -0
  26. data/lib/tmdb/image.rb +25 -0
  27. data/lib/tmdb/job.rb +13 -0
  28. data/lib/tmdb/keyword.rb +21 -0
  29. data/lib/tmdb/language.rb +4 -0
  30. data/lib/tmdb/list.rb +4 -0
  31. data/lib/tmdb/media.rb +4 -0
  32. data/lib/tmdb/movie.rb +173 -0
  33. data/lib/tmdb/multi.rb +4 -0
  34. data/lib/tmdb/network.rb +10 -0
  35. data/lib/tmdb/person.rb +91 -0
  36. data/lib/tmdb/poster.rb +4 -0
  37. data/lib/tmdb/rating.rb +4 -0
  38. data/lib/tmdb/release.rb +4 -0
  39. data/lib/tmdb/resource.rb +30 -0
  40. data/lib/tmdb/review.rb +10 -0
  41. data/lib/tmdb/search.rb +69 -0
  42. data/lib/tmdb/struct.rb +30 -0
  43. data/lib/tmdb/translation.rb +4 -0
  44. data/lib/tmdb/tv.rb +165 -0
  45. data/lib/tmdb/tv/episode.rb +89 -0
  46. data/lib/tmdb/tv/season.rb +91 -0
  47. data/lib/tmdb/utils.rb +50 -0
  48. data/lib/tmdb/version.rb +3 -0
  49. data/lib/tmdb/video.rb +4 -0
  50. data/spec/api_spec.rb +44 -0
  51. data/spec/certification_spec.rb +62 -0
  52. data/spec/change_spec.rb +71 -0
  53. data/spec/collection_spec.rb +69 -0
  54. data/spec/company_spec.rb +50 -0
  55. data/spec/configuration_spec.rb +43 -0
  56. data/spec/credit_spec.rb +49 -0
  57. data/spec/discover_spec.rb +54 -0
  58. data/spec/find_spec.rb +105 -0
  59. data/spec/genre_spec.rb +75 -0
  60. data/spec/job_spec.rb +39 -0
  61. data/spec/keyword_spec.rb +52 -0
  62. data/spec/movie_spec.rb +362 -0
  63. data/spec/network_spec.rb +33 -0
  64. data/spec/person_spec.rb +201 -0
  65. data/spec/resource_spec.rb +47 -0
  66. data/spec/review_spec.rb +33 -0
  67. data/spec/search_spec.rb +161 -0
  68. data/spec/spec_helper.rb +37 -0
  69. data/spec/tv/episode_spec.rb +154 -0
  70. data/spec/tv/season_spec.rb +144 -0
  71. data/spec/tv_spec.rb +352 -0
  72. data/spec/vcr/certification/movie_list.yml +305 -0
  73. data/spec/vcr/certification/tv_list.yml +318 -0
  74. data/spec/vcr/change/movie.yml +58 -0
  75. data/spec/vcr/change/person.yml +58 -0
  76. data/spec/vcr/change/tv.yml +58 -0
  77. data/spec/vcr/collection/backdrops.yml +58 -0
  78. data/spec/vcr/collection/detail.yml +73 -0
  79. data/spec/vcr/collection/posters.yml +58 -0
  80. data/spec/vcr/company/detail.yml +56 -0
  81. data/spec/vcr/company/movies.yml +363 -0
  82. data/spec/vcr/configuration/get.yml +50 -0
  83. data/spec/vcr/credit/detail.yml +61 -0
  84. data/spec/vcr/discover/movie.yml +361 -0
  85. data/spec/vcr/discover/tv.yml +401 -0
  86. data/spec/vcr/find/movie.yml +64 -0
  87. data/spec/vcr/find/people.yml +114 -0
  88. data/spec/vcr/find/tv_episode.yml +66 -0
  89. data/spec/vcr/find/tv_season.yml +66 -0
  90. data/spec/vcr/find/tv_serie.yml +79 -0
  91. data/spec/vcr/genre/movie_list.yml +57 -0
  92. data/spec/vcr/genre/movies.yml +330 -0
  93. data/spec/vcr/genre/tv_list.yml +58 -0
  94. data/spec/vcr/job/list.yml +128 -0
  95. data/spec/vcr/keyword/detail.yml +56 -0
  96. data/spec/vcr/keyword/movies.yml +344 -0
  97. data/spec/vcr/movie/alternative_titles.yml +69 -0
  98. data/spec/vcr/movie/backdrops.yml +58 -0
  99. data/spec/vcr/movie/cast.yml +225 -0
  100. data/spec/vcr/movie/changes.yml +57 -0
  101. data/spec/vcr/movie/crew.yml +225 -0
  102. data/spec/vcr/movie/detail.yml +69 -0
  103. data/spec/vcr/movie/director.yml +225 -0
  104. data/spec/vcr/movie/keywords.yml +57 -0
  105. data/spec/vcr/movie/latest.yml +60 -0
  106. data/spec/vcr/movie/lists.yml +157 -0
  107. data/spec/vcr/movie/now_playing.yml +331 -0
  108. data/spec/vcr/movie/popular.yml +361 -0
  109. data/spec/vcr/movie/posters.yml +58 -0
  110. data/spec/vcr/movie/releases.yml +57 -0
  111. data/spec/vcr/movie/reviews.yml +56 -0
  112. data/spec/vcr/movie/similar.yml +354 -0
  113. data/spec/vcr/movie/top_rated.yml +343 -0
  114. data/spec/vcr/movie/translations.yml +96 -0
  115. data/spec/vcr/movie/upcoming.yml +313 -0
  116. data/spec/vcr/movie/videos.yml +57 -0
  117. data/spec/vcr/network/detail.yml +56 -0
  118. data/spec/vcr/person/changes.yml +61 -0
  119. data/spec/vcr/person/combined_credits.yml +317 -0
  120. data/spec/vcr/person/detail.yml +72 -0
  121. data/spec/vcr/person/external_ids.yml +56 -0
  122. data/spec/vcr/person/images.yml +56 -0
  123. data/spec/vcr/person/latest.yml +61 -0
  124. data/spec/vcr/person/movie_credits.yml +293 -0
  125. data/spec/vcr/person/popular.yml +1116 -0
  126. data/spec/vcr/person/tagged_images.yml +458 -0
  127. data/spec/vcr/person/tv_credits.yml +82 -0
  128. data/spec/vcr/resource/configuration_get.yml +50 -0
  129. data/spec/vcr/review/detail.yml +66 -0
  130. data/spec/vcr/search/collection.yml +58 -0
  131. data/spec/vcr/search/company.yml +70 -0
  132. data/spec/vcr/search/keyword.yml +61 -0
  133. data/spec/vcr/search/list.yml +70 -0
  134. data/spec/vcr/search/movie.yml +335 -0
  135. data/spec/vcr/search/multi.yml +219 -0
  136. data/spec/vcr/search/person.yml +117 -0
  137. data/spec/vcr/search/tv.yml +300 -0
  138. data/spec/vcr/tv/airing_today.yml +503 -0
  139. data/spec/vcr/tv/alternative_titles.yml +59 -0
  140. data/spec/vcr/tv/backdrops.yml +58 -0
  141. data/spec/vcr/tv/cast.yml +86 -0
  142. data/spec/vcr/tv/changes.yml +58 -0
  143. data/spec/vcr/tv/content_ratings.yml +56 -0
  144. data/spec/vcr/tv/crew.yml +86 -0
  145. data/spec/vcr/tv/detail.yml +71 -0
  146. data/spec/vcr/tv/episode/cast.yml +70 -0
  147. data/spec/vcr/tv/episode/changes.yml +66 -0
  148. data/spec/vcr/tv/episode/crew.yml +70 -0
  149. data/spec/vcr/tv/episode/detail.yml +68 -0
  150. data/spec/vcr/tv/episode/external_ids.yml +56 -0
  151. data/spec/vcr/tv/episode/guest_stars.yml +70 -0
  152. data/spec/vcr/tv/episode/posters.yml +58 -0
  153. data/spec/vcr/tv/episode/videos.yml +56 -0
  154. data/spec/vcr/tv/external_ids.yml +56 -0
  155. data/spec/vcr/tv/keywords.yml +59 -0
  156. data/spec/vcr/tv/latest.yml +97 -0
  157. data/spec/vcr/tv/on_the_air.yml +421 -0
  158. data/spec/vcr/tv/popular.yml +401 -0
  159. data/spec/vcr/tv/posters.yml +58 -0
  160. data/spec/vcr/tv/season/cast.yml +69 -0
  161. data/spec/vcr/tv/season/changes.yml +69 -0
  162. data/spec/vcr/tv/season/crew.yml +69 -0
  163. data/spec/vcr/tv/season/detail.yml +649 -0
  164. data/spec/vcr/tv/season/external_ids.yml +56 -0
  165. data/spec/vcr/tv/season/posters.yml +58 -0
  166. data/spec/vcr/tv/season/videos.yml +72 -0
  167. data/spec/vcr/tv/similar.yml +441 -0
  168. data/spec/vcr/tv/top_rated.yml +454 -0
  169. data/spec/vcr/tv/translations.yml +95 -0
  170. data/spec/vcr/tv/videos.yml +57 -0
  171. data/themoviedb-api.gemspec +30 -0
  172. metadata +433 -0
data/lib/tmdb/utils.rb ADDED
@@ -0,0 +1,50 @@
1
+ module Tmdb
2
+ module Utils
3
+ def has_errors?(response)
4
+ # status_code possibilities
5
+ # 6: Invalid id
6
+ # 7: Invalid API key
7
+ # 10: API key suspended, not good
8
+ # 12: The item/record was updated successfully
9
+ # 17: Session denied
10
+ if response.code != 200
11
+ case response.fetch('status_code', -1)
12
+ when is_item_id_invalid?
13
+ return true
14
+ when is_api_key_invalid?
15
+ return true
16
+ when is_api_key_suspended?
17
+ return true
18
+ when is_session_denied?
19
+ return true
20
+ when is_update_successful?
21
+ return false
22
+ else
23
+ return true
24
+ end
25
+ end
26
+
27
+ return false
28
+ end
29
+
30
+ def is_item_id_invalid?
31
+ ->(status_code) { status_code == 6 }
32
+ end
33
+
34
+ def is_api_key_invalid?
35
+ ->(status_code) { status_code == 7 }
36
+ end
37
+
38
+ def is_api_key_suspended?
39
+ ->(status_code) { status_code == 10 }
40
+ end
41
+
42
+ def is_update_successful?
43
+ ->(status_code) { status_code == 12 }
44
+ end
45
+
46
+ def is_session_denied?
47
+ ->(status_code) { status_code == 17 }
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,3 @@
1
+ module Tmdb
2
+ VERSION = '0.7.0'
3
+ end
data/lib/tmdb/video.rb ADDED
@@ -0,0 +1,4 @@
1
+ module Tmdb
2
+ class Video < Struct
3
+ end
4
+ end
data/spec/api_spec.rb ADDED
@@ -0,0 +1,44 @@
1
+ require 'rspec'
2
+ require 'spec_helper'
3
+
4
+ describe Tmdb::Api do
5
+
6
+ after(:all) do
7
+ Tmdb::Api.key(nil)
8
+ Tmdb::Api.language(nil)
9
+ end
10
+
11
+ let!(:api) do
12
+ Tmdb::Api.key(nil)
13
+ Tmdb::Api.language(nil)
14
+
15
+ Tmdb::Api
16
+ end
17
+
18
+ it { expect(Tmdb::Api).to respond_to(:params) }
19
+ it { expect(Tmdb::Api).to respond_to(:key) }
20
+ it { expect(Tmdb::Api).to respond_to(:language) }
21
+
22
+ subject { api }
23
+
24
+ it 'param should be an Hash' do
25
+ expect(subject.params).to be_an_instance_of(Hash)
26
+ end
27
+
28
+ it 'should set the API Key' do
29
+ expect {
30
+ subject.key(TmdbDefaultApiKey)
31
+ }.to change {
32
+ subject.params[:api_key]
33
+ }.from(nil).to(TmdbDefaultApiKey)
34
+ end
35
+
36
+ it 'should set the correct language' do
37
+ expect {
38
+ subject.language(TmdbDefaultLanguage)
39
+ }.to change {
40
+ subject.params[:language]
41
+ }.from(nil).to(TmdbDefaultLanguage)
42
+ end
43
+
44
+ end
@@ -0,0 +1,62 @@
1
+ require 'rspec'
2
+ require 'spec_helper'
3
+ require 'vcr'
4
+
5
+ describe Tmdb::Certification do
6
+
7
+ before(:all) do
8
+ Tmdb::Api.key(TmdbDefaultApiKey)
9
+ Tmdb::Api.language(TmdbDefaultLanguage)
10
+ end
11
+
12
+ after(:all) do
13
+ Tmdb::Api.key(nil)
14
+ Tmdb::Api.language(nil)
15
+ end
16
+
17
+ subject { Tmdb::Certification }
18
+
19
+ it { is_expected.to respond_to(:movie_list) }
20
+ it { is_expected.to respond_to(:tv_list) }
21
+
22
+ context '#movie_list' do
23
+ let(:certification_movie_list) do
24
+ VCR.use_cassette 'certification/movie_list' do
25
+ Tmdb::Certification.movie_list
26
+ end
27
+ end
28
+
29
+ subject { certification_movie_list }
30
+
31
+ it 'should be an Hash' do
32
+ expect(subject).to be_an_instance_of(Hash)
33
+ end
34
+
35
+ it 'should contain an Array of Tmdb::Certification' do
36
+ rand_key = subject.keys.sample
37
+ expect(subject[rand_key]).to be_an_instance_of(Array)
38
+ expect(subject[rand_key].sample).to be_an_instance_of(Tmdb::Certification)
39
+ end
40
+ end
41
+
42
+ context '#tv_list' do
43
+ let(:certification_tv_list) do
44
+ VCR.use_cassette 'certification/tv_list' do
45
+ Tmdb::Certification.tv_list
46
+ end
47
+ end
48
+
49
+ subject { certification_tv_list }
50
+
51
+ it 'should be an Hash' do
52
+ expect(subject).to be_an_instance_of(Hash)
53
+ end
54
+
55
+ it 'should contain an Array of Tmdb::Certification' do
56
+ rand_key = subject.keys.sample
57
+ expect(subject[rand_key]).to be_an_instance_of(Array)
58
+ expect(subject[rand_key].sample).to be_an_instance_of(Tmdb::Certification)
59
+ end
60
+ end
61
+
62
+ end
@@ -0,0 +1,71 @@
1
+ require 'rspec'
2
+ require 'spec_helper'
3
+ require 'vcr'
4
+
5
+ describe Tmdb::Change do
6
+
7
+ before(:all) do
8
+ Tmdb::Api.key(TmdbDefaultApiKey)
9
+ Tmdb::Api.language(TmdbDefaultLanguage)
10
+ end
11
+
12
+ after(:all) do
13
+ Tmdb::Api.key(nil)
14
+ Tmdb::Api.language(nil)
15
+ end
16
+
17
+ subject { Tmdb::Change }
18
+
19
+ it { is_expected.to respond_to(:movie) }
20
+ it { is_expected.to respond_to(:person) }
21
+ it { is_expected.to respond_to(:tv) }
22
+
23
+ context '#movie' do
24
+ let(:movie) do
25
+ VCR.use_cassette 'change/movie' do
26
+ Tmdb::Change.movie
27
+ end
28
+ end
29
+
30
+ subject { movie }
31
+
32
+ it { expect(subject).to be_an_instance_of(Tmdb::Change) }
33
+
34
+ it 'should have results of kind Tmdb::Movie' do
35
+ expect(subject.results.sample).to be_an_instance_of(Tmdb::Movie)
36
+ end
37
+ end
38
+
39
+ context '#person' do
40
+ let(:person) do
41
+ VCR.use_cassette 'change/person' do
42
+ Tmdb::Change.person
43
+ end
44
+ end
45
+
46
+ subject { person }
47
+
48
+ it { expect(subject).to be_an_instance_of(Tmdb::Change) }
49
+
50
+ it 'should have results of kind Tmdb::Person' do
51
+ expect(subject.results.sample).to be_an_instance_of(Tmdb::Person)
52
+ end
53
+ end
54
+
55
+ context '#tv' do
56
+ let(:tv) do
57
+ VCR.use_cassette 'change/tv' do
58
+ Tmdb::Change.tv
59
+ end
60
+ end
61
+
62
+ subject { tv }
63
+
64
+ it { expect(subject).to be_an_instance_of(Tmdb::Change) }
65
+
66
+ it 'should have results of kind Tmdb::TV' do
67
+ expect(subject.results.sample).to be_an_instance_of(Tmdb::TV)
68
+ end
69
+ end
70
+
71
+ end
@@ -0,0 +1,69 @@
1
+ require 'rspec'
2
+ require 'spec_helper'
3
+ require 'vcr'
4
+
5
+ describe Tmdb::Collection do
6
+
7
+ before(:all) do
8
+ Tmdb::Api.key(TmdbDefaultApiKey)
9
+ Tmdb::Api.language(TmdbDefaultLanguage)
10
+ end
11
+
12
+ after(:all) do
13
+ Tmdb::Api.key(nil)
14
+ Tmdb::Api.language(nil)
15
+ end
16
+
17
+ subject { Tmdb::Collection }
18
+
19
+ it { is_expected.to respond_to(:detail) }
20
+ it { is_expected.to respond_to(:backdrops) }
21
+ it { is_expected.to respond_to(:posters) }
22
+
23
+ context '#detail' do
24
+ let(:detail) do
25
+ VCR.use_cassette 'collection/detail' do
26
+ Tmdb::Collection.detail(10)
27
+ end
28
+ end
29
+
30
+ subject { detail }
31
+
32
+ it { expect(subject).to be_an_instance_of(Tmdb::Collection) }
33
+
34
+ it 'should have results of kind Tmdb::Movie' do
35
+ expect(subject.parts.sample).to be_an_instance_of(Tmdb::Movie)
36
+ end
37
+ end
38
+
39
+ context '#backdrops' do
40
+ let(:backdrops) do
41
+ VCR.use_cassette 'collection/backdrops' do
42
+ Tmdb::Collection.backdrops(10)
43
+ end
44
+ end
45
+
46
+ subject { backdrops }
47
+
48
+ it 'should return an array of Tmdb::Backdrop' do
49
+ expect(subject).to be_an_instance_of(Array)
50
+ expect(subject.sample).to be_an_instance_of(Tmdb::Backdrop)
51
+ end
52
+ end
53
+
54
+ context '#posters' do
55
+ let(:posters) do
56
+ VCR.use_cassette 'collection/posters' do
57
+ Tmdb::Collection.posters(10)
58
+ end
59
+ end
60
+
61
+ subject { posters }
62
+
63
+ it 'should return an array of Tmdb::Poster' do
64
+ expect(subject).to be_an_instance_of(Array)
65
+ expect(subject.sample).to be_an_instance_of(Tmdb::Poster)
66
+ end
67
+ end
68
+
69
+ end
@@ -0,0 +1,50 @@
1
+ require 'rspec'
2
+ require 'spec_helper'
3
+ require 'vcr'
4
+
5
+ describe Tmdb::Company do
6
+
7
+ before(:all) do
8
+ Tmdb::Api.key(TmdbDefaultApiKey)
9
+ Tmdb::Api.language(TmdbDefaultLanguage)
10
+ end
11
+
12
+ after(:all) do
13
+ Tmdb::Api.key(nil)
14
+ Tmdb::Api.language(nil)
15
+ end
16
+
17
+ subject { Tmdb::Company }
18
+
19
+ it { is_expected.to respond_to(:detail) }
20
+ it { is_expected.to respond_to(:movies) }
21
+
22
+ context '#detail' do
23
+ let(:detail) do
24
+ VCR.use_cassette 'company/detail' do
25
+ Tmdb::Company.detail(1)
26
+ end
27
+ end
28
+
29
+ subject { detail }
30
+
31
+ it { expect(subject).to be_an_instance_of(Tmdb::Company) }
32
+ end
33
+
34
+ context '#movies' do
35
+ let(:movies) do
36
+ VCR.use_cassette 'company/movies' do
37
+ Tmdb::Company.movies(1)
38
+ end
39
+ end
40
+
41
+ subject { movies }
42
+
43
+ it { expect(subject).to be_an_instance_of(Tmdb::Company) }
44
+
45
+ it 'should have results of kind Tmdb::Movie' do
46
+ expect(subject.results.sample).to be_an_instance_of(Tmdb::Movie)
47
+ end
48
+ end
49
+
50
+ end
@@ -0,0 +1,43 @@
1
+ require 'rspec'
2
+ require 'spec_helper'
3
+ require 'vcr'
4
+
5
+ describe Tmdb::Configuration do
6
+
7
+ before(:all) do
8
+ Tmdb::Api.key(TmdbDefaultApiKey)
9
+ Tmdb::Api.language(TmdbDefaultLanguage)
10
+ end
11
+
12
+ after(:all) do
13
+ Tmdb::Api.key(nil)
14
+ Tmdb::Api.language(nil)
15
+ end
16
+
17
+ subject { Tmdb::Configuration }
18
+
19
+ it { is_expected.to respond_to(:get) }
20
+
21
+ context '#get' do
22
+ let(:configuration_get) do
23
+ VCR.use_cassette 'configuration/get' do
24
+ Tmdb::Configuration.get
25
+ end
26
+ end
27
+
28
+ subject { configuration_get }
29
+
30
+ it 'should be a Tmdb::Configuration' do
31
+ expect(subject).to be_an_instance_of(Tmdb::Configuration)
32
+ end
33
+
34
+ it 'should contain "images" configuration' do
35
+ expect(subject.images).to be_an_instance_of(Tmdb::Configuration)
36
+ end
37
+
38
+ it 'should contain "change_keys" configuration' do
39
+ expect(subject.images).to be_an_instance_of(Tmdb::Configuration)
40
+ end
41
+ end
42
+
43
+ end
@@ -0,0 +1,49 @@
1
+ require 'rspec'
2
+ require 'spec_helper'
3
+ require 'vcr'
4
+
5
+ describe Tmdb::Credit do
6
+
7
+ before(:all) do
8
+ Tmdb::Api.key(TmdbDefaultApiKey)
9
+ Tmdb::Api.language(TmdbDefaultLanguage)
10
+ end
11
+
12
+ after(:all) do
13
+ Tmdb::Api.key(nil)
14
+ Tmdb::Api.language(nil)
15
+ end
16
+
17
+ subject { Tmdb::Credit }
18
+
19
+ it { is_expected.to respond_to(:detail) }
20
+
21
+ context '#detail' do
22
+ let(:detail) do
23
+ VCR.use_cassette 'credit/detail' do
24
+ Tmdb::Credit.detail('525333fb19c295794002c720')
25
+ end
26
+ end
27
+
28
+ subject { detail }
29
+
30
+ it { expect(subject).to be_an_instance_of(Tmdb::Credit) }
31
+
32
+ it 'should have media of kind Tmdb::Media' do
33
+ expect(subject.media).to be_an_instance_of(Tmdb::Media)
34
+ end
35
+
36
+ it 'should have media with episodes of kind Tmdb::Tv::Episode' do
37
+ expect(subject.media.episodes.sample).to be_an_instance_of(Tmdb::Tv::Episode)
38
+ end
39
+
40
+ it 'should have media with seasons of kind Array' do
41
+ expect(subject.media.seasons).to be_an_instance_of(Array)
42
+ end
43
+
44
+ it 'should have a person associated of kind Tmdb::Person' do
45
+ expect(subject.person).to be_an_instance_of(Tmdb::Person)
46
+ end
47
+ end
48
+
49
+ end