crunchbase-ruby-library 0.1.7 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +66 -0
  3. data/.rubocop_todo.yml +47 -0
  4. data/.travis.yml +12 -0
  5. data/Gemfile +4 -0
  6. data/README.md +44 -54
  7. data/Rakefile +4 -1
  8. data/bin/console +15 -0
  9. data/bin/setup +8 -0
  10. data/crunchbase-ruby-library.gemspec +15 -12
  11. data/lib/crunchbase.rb +12 -3
  12. data/lib/crunchbase/api.rb +110 -102
  13. data/lib/crunchbase/client.rb +50 -0
  14. data/lib/crunchbase/exception.rb +13 -11
  15. data/lib/crunchbase/model.rb +50 -48
  16. data/lib/crunchbase/model/acquired_by.rb +23 -20
  17. data/lib/crunchbase/model/acquiree.rb +2 -1
  18. data/lib/crunchbase/model/acquirer.rb +2 -1
  19. data/lib/crunchbase/model/acquisition.rb +16 -19
  20. data/lib/crunchbase/model/address.rb +4 -6
  21. data/lib/crunchbase/model/advisory_role.rb +2 -2
  22. data/lib/crunchbase/model/board_members_and_advisor.rb +10 -9
  23. data/lib/crunchbase/model/category.rb +6 -7
  24. data/lib/crunchbase/model/competitor.rb +3 -2
  25. data/lib/crunchbase/model/current_team.rb +7 -11
  26. data/lib/crunchbase/model/customer.rb +3 -2
  27. data/lib/crunchbase/model/degree.rb +4 -5
  28. data/lib/crunchbase/model/entity.rb +98 -108
  29. data/lib/crunchbase/model/error.rb +3 -4
  30. data/lib/crunchbase/model/featured_team.rb +19 -0
  31. data/lib/crunchbase/model/founded_company.rb +2 -3
  32. data/lib/crunchbase/model/founder.rb +3 -4
  33. data/lib/crunchbase/model/fund.rb +8 -11
  34. data/lib/crunchbase/model/fund_raise.rb +7 -8
  35. data/lib/crunchbase/model/funding_round.rb +29 -24
  36. data/lib/crunchbase/model/headquarter.rb +2 -1
  37. data/lib/crunchbase/model/image.rb +6 -7
  38. data/lib/crunchbase/model/investment.rb +20 -27
  39. data/lib/crunchbase/model/investor.rb +6 -7
  40. data/lib/crunchbase/model/ipo.rb +12 -12
  41. data/lib/crunchbase/model/job.rb +11 -10
  42. data/lib/crunchbase/model/location.rb +20 -11
  43. data/lib/crunchbase/model/member.rb +3 -4
  44. data/lib/crunchbase/model/membership.rb +7 -8
  45. data/lib/crunchbase/model/new.rb +5 -6
  46. data/lib/crunchbase/model/office.rb +3 -4
  47. data/lib/crunchbase/model/organization.rb +39 -38
  48. data/lib/crunchbase/model/organization_summary.rb +7 -8
  49. data/lib/crunchbase/model/owned_by.rb +4 -5
  50. data/lib/crunchbase/model/parent_location.rb +3 -3
  51. data/lib/crunchbase/model/past_team.rb +7 -11
  52. data/lib/crunchbase/model/person.rb +53 -46
  53. data/lib/crunchbase/model/person_summary.rb +13 -14
  54. data/lib/crunchbase/model/primary_affiliation.rb +6 -6
  55. data/lib/crunchbase/model/primary_image.rb +3 -3
  56. data/lib/crunchbase/model/primary_location.rb +8 -7
  57. data/lib/crunchbase/model/product.rb +14 -13
  58. data/lib/crunchbase/model/product_summary.rb +4 -5
  59. data/lib/crunchbase/model/school.rb +3 -2
  60. data/lib/crunchbase/model/search.rb +39 -40
  61. data/lib/crunchbase/model/search_result.rb +7 -6
  62. data/lib/crunchbase/model/simple_organization.rb +9 -10
  63. data/lib/crunchbase/model/sub_organization.rb +3 -4
  64. data/lib/crunchbase/model/video.rb +4 -5
  65. data/lib/crunchbase/model/website.rb +7 -11
  66. data/lib/crunchbase/request.rb +8 -0
  67. data/lib/crunchbase/request/client.rb +69 -0
  68. data/lib/crunchbase/version.rb +2 -1
  69. data/spec/crunchbase.yml.example +2 -2
  70. data/spec/crunchbase/client_spec.rb +25 -0
  71. data/spec/crunchbase/data/board_members_and_advisors/facebook.json +462 -0
  72. data/spec/crunchbase/data/categories/facebook.json +67 -0
  73. data/spec/crunchbase/data/current_team/facebook.json +4335 -0
  74. data/spec/crunchbase/data/featured_team/facebook.json +286 -0
  75. data/spec/crunchbase/data/funding_rounds/37bd05f961af726ba3c1b279da842805.json +484 -0
  76. data/spec/crunchbase/data/funding_rounds/facebook.json +2049 -0
  77. data/spec/crunchbase/data/headquarters/facebook.json +50 -0
  78. data/spec/crunchbase/data/investors/facebook.json +776 -0
  79. data/spec/crunchbase/data/news/facebook.json +1426 -0
  80. data/spec/crunchbase/data/news/facebook_2.json +1426 -0
  81. data/spec/crunchbase/data/offices/facebook.json +50 -0
  82. data/spec/crunchbase/data/organizations/crunchbase.json +2845 -0
  83. data/spec/crunchbase/data/organizations/ekohe.json +654 -0
  84. data/spec/crunchbase/data/organizations/facebook-without-relationships.json +45 -0
  85. data/spec/crunchbase/data/organizations/facebook.json +6723 -0
  86. data/spec/crunchbase/data/organizations/mx-media-llc.json +7 -0
  87. data/spec/crunchbase/data/past_team/facebook.json +4336 -0
  88. data/spec/crunchbase/data/people/facebook_founders.json +148 -0
  89. data/spec/crunchbase/data/people/mark-zuckerberg.json +2602 -0
  90. data/spec/crunchbase/data/websites/facebook.json +74 -0
  91. data/spec/crunchbase/model/board_members_and_advisor_spec.rb +39 -11
  92. data/spec/crunchbase/model/category_spec.rb +47 -0
  93. data/spec/crunchbase/model/current_team_spec.rb +50 -0
  94. data/spec/crunchbase/model/featured_team_spec.rb +40 -0
  95. data/spec/crunchbase/model/founders_spec.rb +49 -0
  96. data/spec/crunchbase/model/fund_raise_spec.rb +4 -24
  97. data/spec/crunchbase/model/funding_round_spec.rb +75 -32
  98. data/spec/crunchbase/model/headquarter_spec.rb +37 -0
  99. data/spec/crunchbase/model/investment_spec.rb +4 -15
  100. data/spec/crunchbase/model/investor_spec.rb +37 -0
  101. data/spec/crunchbase/model/new_spec.rb +86 -0
  102. data/spec/crunchbase/model/office_spec.rb +29 -9
  103. data/spec/crunchbase/model/organization_spec.rb +160 -34
  104. data/spec/crunchbase/model/past_team_spec.rb +36 -14
  105. data/spec/crunchbase/model/person_spec.rb +21 -19
  106. data/spec/crunchbase/model/product_spec.rb +4 -31
  107. data/spec/crunchbase/model/search_spec.rb +25 -49
  108. data/spec/crunchbase/model/website_spec.rb +36 -9
  109. data/spec/crunchbase/support/api_helper.rb +19 -0
  110. data/spec/spec_helper.rb +14 -4
  111. metadata +103 -6
@@ -0,0 +1,74 @@
1
+ {
2
+ "metadata":
3
+ {
4
+ "version": 31,
5
+ "www_path_prefix": "https://www.crunchbase.com",
6
+ "api_path_prefix": "https://api.crunchbase.com",
7
+ "image_path_prefix": "http://public.crunchbase.com/t_api_images/"
8
+ },
9
+ "data":
10
+ {
11
+ "paging":
12
+ {
13
+ "total_items": 4,
14
+ "number_of_pages": 1,
15
+ "current_page": 1,
16
+ "sort_order": "created_at DESC",
17
+ "items_per_page": 100,
18
+ "next_page_url": null,
19
+ "prev_page_url": null,
20
+ "key_set_url": null,
21
+ "collection_url": "https://api.crunchbase.com/v3.1/organizations/facebook/websites",
22
+ "updated_since": null
23
+ },
24
+ "items": [
25
+ {
26
+ "type": "Website",
27
+ "uuid": "df6628127f970b439d3e12f64f504fbb",
28
+ "properties":
29
+ {
30
+ "website_type": "homepage",
31
+ "website_name": "homepage",
32
+ "url": "http://www.facebook.com",
33
+ "created_at": 1180153335,
34
+ "updated_at": 1509356721
35
+ }
36
+ },
37
+ {
38
+ "type": "Website",
39
+ "uuid": "df6628127f970b439d3e12f64f504fbb",
40
+ "properties":
41
+ {
42
+ "website_type": "facebook",
43
+ "website_name": "facebook",
44
+ "url": "https://www.facebook.com/facebook/",
45
+ "created_at": 1180153335,
46
+ "updated_at": 1509356721
47
+ }
48
+ },
49
+ {
50
+ "type": "Website",
51
+ "uuid": "df6628127f970b439d3e12f64f504fbb",
52
+ "properties":
53
+ {
54
+ "website_type": "twitter",
55
+ "website_name": "twitter",
56
+ "url": "https://twitter.com/facebook",
57
+ "created_at": 1180153335,
58
+ "updated_at": 1509356721
59
+ }
60
+ },
61
+ {
62
+ "type": "Website",
63
+ "uuid": "df6628127f970b439d3e12f64f504fbb",
64
+ "properties":
65
+ {
66
+ "website_type": "linkedin",
67
+ "website_name": "linkedin",
68
+ "url": "http://www.linkedin.com/company/facebook",
69
+ "created_at": 1180153335,
70
+ "updated_at": 1509356721
71
+ }
72
+ }]
73
+ }
74
+ }
@@ -1,20 +1,48 @@
1
- require File.join(File.dirname(__FILE__), "../..", "spec_helper.rb")
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Crunchbase
4
4
  module Model
5
+ RSpec.describe BoardMembersAndAdvisor do
6
+ let(:board_members_and_advisors_data) { parse_json('board_members_and_advisors', 'facebook') }
5
7
 
6
- describe BoardMembersAndAdvisor do
7
- begin
8
- o = BoardMembersAndAdvisor.organization_lists("apple")
9
-
10
- puts o.total_items
8
+ context 'board_members_and_advisors of facebook' do
9
+ let(:board_members_and_advisors) { BoardMembersAndAdvisor.organization_lists('facebook') }
11
10
 
12
- o.results.collect { |p| puts p.person.first_name }
11
+ before :each do
12
+ result = search_results(board_members_and_advisors_data, PastTeam)
13
13
 
14
- rescue Exception => e
15
- puts e.message
14
+ allow(BoardMembersAndAdvisor).to receive(:organization_lists).and_return(result)
15
+ end
16
+
17
+ it 'should return 4 of total count with board_members_and_advisors' do
18
+ expect(board_members_and_advisors.results.size).to eq(10)
19
+ end
20
+
21
+ it 'should paging values from board_members_and_advisors response' do
22
+ expect(board_members_and_advisors.total_items).to eq(10)
23
+ expect(board_members_and_advisors.pages).to eq(1)
24
+ expect(board_members_and_advisors.current_page).to eq(1)
25
+ expect(board_members_and_advisors.per_page).to eq(100)
26
+ end
27
+
28
+ it 'should return first board members and advisor record' do
29
+ first_item = board_members_and_advisors.results.first
30
+
31
+ expect(first_item.type_name).to eq('Job')
32
+ expect(first_item.uuid).to eq('151a676d610d420a887640cf7b922945')
33
+ expect(first_item.title).to eq('Member of the Board of Directors')
34
+ expect(first_item.person.first_name).to eq('Jan')
35
+ end
36
+
37
+ it 'should return last board members and advisor record' do
38
+ last_item = board_members_and_advisors.results.last
39
+
40
+ expect(last_item.type_name).to eq('Job')
41
+ expect(last_item.uuid).to eq('cd41d147b61114099ca309ced2cae6de')
42
+ expect(last_item.title).to eq('Board Observer')
43
+ expect(last_item.person.first_name).to eq('Paul')
44
+ end
16
45
  end
17
46
  end
18
-
19
47
  end
20
- end
48
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Crunchbase
4
+ module Model
5
+ RSpec.describe Category do
6
+ let(:categories_data) { parse_json('categories', 'facebook') }
7
+
8
+ context 'categories of facebook' do
9
+ let(:categories) { Category.organization_lists('facebook') }
10
+
11
+ before :each do
12
+ result = search_results(categories_data, Category)
13
+
14
+ allow(Category).to receive(:organization_lists).and_return(result)
15
+ end
16
+
17
+ it 'should return 3 of total count with categories' do
18
+ expect(categories.results.size).to eq(3)
19
+ end
20
+
21
+ it 'should paging values from categories response' do
22
+ expect(categories.pages).to eq(1)
23
+ expect(categories.current_page).to eq(1)
24
+ expect(categories.per_page).to eq(100)
25
+ end
26
+
27
+ it 'should return first category record' do
28
+ first_item = categories.results.first
29
+
30
+ expect(first_item.type_name).to eq('Category')
31
+ expect(first_item.uuid).to eq('5349a2f214d89727c32a19ebea5db78c')
32
+ expect(first_item.name).to eq('Social Media')
33
+ expect(first_item.web_path).to eq('category/social-media/5349a2f214d89727c32a19ebea5db78c')
34
+ end
35
+
36
+ it 'should return last category record' do
37
+ first_item = categories.results.last
38
+
39
+ expect(first_item.type_name).to eq('Category')
40
+ expect(first_item.uuid).to eq('80de9bf4789eb80e051cdc079493803f')
41
+ expect(first_item.name).to eq('Social')
42
+ expect(first_item.web_path).to eq('category/social/80de9bf4789eb80e051cdc079493803f')
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Crunchbase
4
+ module Model
5
+ RSpec.describe CurrentTeam do
6
+ let(:current_team_data) { parse_json('current_team', 'facebook') }
7
+
8
+ context 'current_team of facebook' do
9
+ let(:current_team) { CurrentTeam.organization_lists('facebook') }
10
+
11
+ before :each do
12
+ result = search_results(current_team_data, CurrentTeam)
13
+
14
+ allow(CurrentTeam).to receive(:organization_lists).and_return(result)
15
+ end
16
+
17
+ it 'should return 4 of total count with current_team' do
18
+ expect(current_team.results.size).to eq(100)
19
+ end
20
+
21
+ it 'should paging values from current_team response' do
22
+ expect(current_team.total_items).to eq(491)
23
+ expect(current_team.pages).to eq(5)
24
+ expect(current_team.current_page).to eq(1)
25
+ expect(current_team.per_page).to eq(100)
26
+ end
27
+
28
+ it 'should return first past team record' do
29
+ first_item = current_team.results.first
30
+
31
+ expect(first_item.type_name).to eq('Job')
32
+ expect(first_item.uuid).to eq('24ba8e19092e4b6e9a62cf009fd367a0')
33
+ expect(first_item.title).to eq('Product Manager')
34
+ expect(first_item.person.first_name).to eq('Chetan')
35
+ expect(first_item.person.last_name).to eq('Gupta')
36
+ end
37
+
38
+ it 'should return last past team record' do
39
+ last_item = current_team.results.last
40
+
41
+ expect(last_item.type_name).to eq('Job')
42
+ expect(last_item.uuid).to eq('0636f8716c9ca7ec00c6fc8bfab030f0')
43
+ expect(last_item.title).to eq('Production Engineer')
44
+ expect(last_item.person.first_name).to eq('Richard')
45
+ expect(last_item.person.last_name).to eq('Wareing')
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Crunchbase
4
+ module Model
5
+ RSpec.describe FeaturedTeam do
6
+ let(:featured_team_data) { parse_json('featured_team', 'facebook') }
7
+
8
+ context 'featured_team of facebook' do
9
+ let(:featured_team) { FeaturedTeam.organization_lists('facebook') }
10
+
11
+ before :each do
12
+ result = search_results(featured_team_data, FeaturedTeam)
13
+
14
+ allow(FeaturedTeam).to receive(:organization_lists).and_return(result)
15
+ end
16
+
17
+ it 'should return 4 of total count with featured_team' do
18
+ expect(featured_team.results.size).to eq(6)
19
+ end
20
+
21
+ it 'should paging values from featured_team response' do
22
+ expect(featured_team.total_items).to eq(6)
23
+ expect(featured_team.pages).to eq(1)
24
+ expect(featured_team.current_page).to eq(1)
25
+ expect(featured_team.per_page).to eq(100)
26
+ end
27
+
28
+ it 'should return first past team record' do
29
+ first_item = featured_team.results.first
30
+
31
+ expect(first_item.type_name).to eq('Job')
32
+ expect(first_item.uuid).to eq('befc22dec7892096e4d6919935cf4204')
33
+ expect(first_item.title).to eq('Founder & CEO')
34
+ expect(first_item.person.first_name).to eq('Mark')
35
+ expect(first_item.person.last_name).to eq('Zuckerberg')
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Crunchbase
4
+ module Model
5
+ RSpec.describe Founder do
6
+ let(:founders_data) { parse_json('people', 'facebook_founders') }
7
+
8
+ context 'founders of facebook' do
9
+ let(:founders) { Founder.organization_lists('facebook') }
10
+
11
+ before :each do
12
+ result = search_results(founders_data, Founder)
13
+
14
+ allow(Founder).to receive(:organization_lists).and_return(result)
15
+ end
16
+
17
+ it 'should return 5 of total count with founders' do
18
+ expect(founders.results.size).to eq(5)
19
+ end
20
+
21
+ it 'should paging values from founders response' do
22
+ expect(founders.pages).to eq(1)
23
+ expect(founders.current_page).to eq(1)
24
+ expect(founders.per_page).to eq(100)
25
+ end
26
+
27
+ it 'should return first founder record' do
28
+ first_item = founders.results.first
29
+
30
+ expect(first_item.type_name).to eq('Person')
31
+ expect(first_item.uuid).to eq('084aaa0707951fe89c4698bbeb02cd64')
32
+ expect(first_item.first_name).to eq('Dustin')
33
+ expect(first_item.last_name).to eq('Moskovitz')
34
+ expect(first_item.web_path).to eq('person/dustin-moskovitz')
35
+ end
36
+
37
+ it 'should return last founder record' do
38
+ first_item = founders.results.last
39
+
40
+ expect(first_item.type_name).to eq('Person')
41
+ expect(first_item.uuid).to eq('fb5b458c0aaba97771b9ecf78d3ec756')
42
+ expect(first_item.first_name).to eq('Eduardo')
43
+ expect(first_item.last_name).to eq('Saverin')
44
+ expect(first_item.web_path).to eq('person/eduardo-saverin')
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -1,26 +1,6 @@
1
- require File.join(File.dirname(__FILE__), "../..", "spec_helper.rb")
1
+ # frozen_string_literal: true
2
2
 
3
- module Crunchbase
4
- module Model
5
-
6
- describe FundRaise do
7
-
8
- before(:all) do
9
- begin
10
- @funds = FundRaise.organization_lists("apple")
11
- rescue Exception => e
12
- @funds = nil
13
- end
14
- end
15
-
16
- it 'show funds results' do
17
- unless @funds.nil?
18
- puts @funds.total_items
19
-
20
- puts @funds.results.collect { |p| [p.name] }.inspect
21
- end
22
- end
23
-
24
- end
3
+ module Crunchbase::Model
4
+ RSpec.describe FundRaise do
25
5
  end
26
- end
6
+ end
@@ -1,45 +1,88 @@
1
- require File.join(File.dirname(__FILE__), "../..", "spec_helper.rb")
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Crunchbase
4
4
  module Model
5
+ RSpec.describe FundingRound do
6
+ let(:funding_rounds_data) { parse_json('funding_rounds', 'facebook') }
7
+ let(:funding_round_data) { parse_json('funding_rounds', '37bd05f961af726ba3c1b279da842805') }
5
8
 
6
- describe FundingRound, "#get" do
7
- round = FundingRound.get('c31e2cc41e8f30c6da0aaf6b395469e5')
8
-
9
- puts round.inspect
10
-
11
- round.investments.map {|e|
12
- e.investors.each do |investor|
13
- puts investor.object.inspect
14
- end unless e.investors.nil?
15
- } unless round.investments.nil?
16
- end
9
+ context 'funding_rounds of facebook' do
10
+ let(:funding_rounds) { FundingRound.organization_lists('facebook') }
11
+
12
+ before :each do
13
+ result = search_results(funding_rounds_data, FundingRound)
14
+
15
+ allow(FundingRound).to receive(:organization_lists).and_return(result)
16
+ end
17
+
18
+ it 'should paging values from funding_rounds response' do
19
+ expect(funding_rounds.pages).to eq(1)
20
+ expect(funding_rounds.current_page).to eq(1)
21
+ expect(funding_rounds.per_page).to eq(100)
22
+ end
23
+
24
+ it 'should return 11 of total count with funding_rounds' do
25
+ expect(funding_rounds.results.size).to eq(11)
26
+ expect(funding_rounds.total_items).to eq(11)
27
+ end
17
28
 
18
- describe FundingRound, "#organization_lists" do
19
- begin
20
- results = FundingRound.organization_lists("xiaomi").results
21
- results.collect {|e| puts e.funding_type }
29
+ it 'should return first funding_round record' do
30
+ first_item = funding_rounds.results.first
22
31
 
23
- rescue Exception => e
24
- puts e.message
32
+ expect(first_item.uuid).to eq('37bd05f961af726ba3c1b279da842805')
33
+ expect(first_item.type_name).to eq('FundingRound')
34
+ end
25
35
  end
26
- end
27
36
 
28
- describe FundingRound, "get news" do
29
- news = New.funding_rounds_lists('c31e2cc41e8f30c6da0aaf6b395469e5').results
30
- puts news.map {|e| e.title }
31
- end
37
+ context 'funding_round of facebook' do
38
+ let(:funding_round) { FundingRound.get('37bd05f961af726ba3c1b279da842805') }
32
39
 
40
+ before :each do
41
+ result = FundingRound.new(funding_round_data)
33
42
 
34
- describe FundingRound, "get images" do
35
- images = Image.funding_rounds_lists('c31e2cc41e8f30c6da0aaf6b395469e5').results
36
- puts images.map {|e| e.inspect }
37
- end
43
+ allow(FundingRound).to receive(:get).and_return(result)
44
+ end
38
45
 
39
- describe FundingRound, "get investments" do
40
- investments = Investment.funding_rounds_lists('c31e2cc41e8f30c6da0aaf6b395469e5').results
41
- puts investments.map {|e| e.inspect }
42
- end
46
+ it 'should return current founding round record uuid' do
47
+ expect(funding_round.uuid).to eq('37bd05f961af726ba3c1b279da842805')
48
+ end
43
49
 
50
+ it 'should return 2 investments records of founding round' do
51
+ expect(funding_round.investments.size).to eq(2)
52
+ expect(funding_round.investments_total_items).to eq(2)
53
+ end
54
+
55
+ it 'should return the first investment of founding round' do
56
+ first_investment = funding_round.investments[0]
57
+
58
+ expect(first_investment.investors.nil?).to be_falsy
59
+ expect(first_investment.investors.name).to eq("DST Global")
60
+ expect(first_investment.investors.permalink).to eq("digital-sky-technologies-fo")
61
+ end
62
+
63
+ it 'should return 2 investors of founding round' do
64
+ expect(funding_round.investors.size).to eq(2)
65
+ expect(funding_round.investors_total_items).to eq(2)
66
+ end
67
+
68
+ it 'should return funded organization of funding_round' do
69
+ expect(funding_round.funded_organization.nil?).to be_falsy
70
+ expect(funding_round.funded_organization.name).to eq('Facebook')
71
+ expect(funding_round.funded_organization.permalink).to eq('facebook')
72
+ end
73
+
74
+ it 'should return 0 images and 0 videos of funding_round' do
75
+ expect(funding_round.images.size).to eq(0)
76
+ expect(funding_round.images_total_items).to eq(0)
77
+ expect(funding_round.videos.size).to eq(0)
78
+ expect(funding_round.videos_total_items).to eq(0)
79
+ end
80
+
81
+ it 'should return 2 news of funding_round' do
82
+ expect(funding_round.news.size).to eq(2)
83
+ expect(funding_round.news_total_items).to eq(2)
84
+ end
85
+ end
86
+ end
44
87
  end
45
- end
88
+ end