crunchbase-ruby-library 0.1.7 → 0.3.1

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 (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