puree 1.9.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -12
  3. data/Gemfile +1 -1
  4. data/README.md +106 -75
  5. data/lib/puree/extractor/conference_paper.rb +6 -14
  6. data/lib/puree/extractor/dataset.rb +5 -41
  7. data/lib/puree/extractor/doctoral_thesis.rb +5 -6
  8. data/lib/puree/extractor/event.rb +6 -14
  9. data/lib/puree/extractor/external_organisation.rb +5 -8
  10. data/lib/puree/extractor/extractor.rb +19 -0
  11. data/lib/puree/extractor/journal.rb +5 -9
  12. data/lib/puree/extractor/journal_article.rb +6 -15
  13. data/lib/puree/extractor/masters_thesis.rb +5 -6
  14. data/lib/puree/extractor/organisational_unit.rb +25 -0
  15. data/lib/puree/extractor/paper.rb +6 -11
  16. data/lib/puree/extractor/person.rb +4 -53
  17. data/lib/puree/extractor/project.rb +5 -28
  18. data/lib/puree/extractor/publisher.rb +5 -12
  19. data/lib/puree/extractor/research_output.rb +20 -0
  20. data/lib/puree/extractor/resource.rb +22 -58
  21. data/lib/puree/extractor/thesis.rb +6 -17
  22. data/lib/puree/model/conference_paper.rb +1 -1
  23. data/lib/puree/model/dataset.rb +8 -25
  24. data/lib/puree/model/event.rb +0 -9
  25. data/lib/puree/model/external_organisation.rb +1 -1
  26. data/lib/puree/model/external_organisation_header.rb +2 -19
  27. data/lib/puree/model/identifier.rb +26 -0
  28. data/lib/puree/model/journal.rb +1 -1
  29. data/lib/puree/model/journal_article.rb +1 -4
  30. data/lib/puree/model/model.rb +43 -0
  31. data/lib/puree/model/{organisation_header.rb → organisation_header_base.rb} +2 -2
  32. data/lib/puree/model/{organisation.rb → organisational_unit.rb} +3 -6
  33. data/lib/puree/model/organisational_unit_header.rb +9 -0
  34. data/lib/puree/model/paper.rb +10 -1
  35. data/lib/puree/model/person.rb +3 -9
  36. data/lib/puree/model/project.rb +7 -14
  37. data/lib/puree/model/publication_status.rb +1 -1
  38. data/lib/puree/model/publisher.rb +3 -0
  39. data/lib/puree/model/publisher_header.rb +9 -0
  40. data/lib/puree/model/{publication.rb → research_output.rb} +18 -20
  41. data/lib/puree/model/research_output_scopus_metric.rb +26 -0
  42. data/lib/puree/model/resource.rb +19 -11
  43. data/lib/puree/model/thesis.rb +6 -3
  44. data/lib/puree/rest/activity.rb +24 -0
  45. data/lib/puree/rest/application.rb +24 -0
  46. data/lib/puree/rest/base.rb +131 -0
  47. data/lib/puree/rest/classification_scheme.rb +24 -0
  48. data/lib/puree/rest/client.rb +105 -0
  49. data/lib/puree/rest/curricula_vitae.rb +24 -0
  50. data/lib/puree/rest/dataset.rb +24 -0
  51. data/lib/puree/rest/equipment.rb +24 -0
  52. data/lib/puree/rest/event.rb +24 -0
  53. data/lib/puree/rest/external_organisation.rb +24 -0
  54. data/lib/puree/rest/external_person.rb +24 -0
  55. data/lib/puree/rest/impact.rb +24 -0
  56. data/lib/puree/rest/journal.rb +24 -0
  57. data/lib/puree/rest/mixins/active_mixin.rb +14 -0
  58. data/lib/puree/rest/mixins/activity_mixin.rb +14 -0
  59. data/lib/puree/rest/mixins/application_mixin.rb +15 -0
  60. data/lib/puree/rest/mixins/award_mixin.rb +15 -0
  61. data/lib/puree/rest/mixins/dataset_mixin.rb +15 -0
  62. data/lib/puree/rest/mixins/former_mixin.rb +14 -0
  63. data/lib/puree/rest/mixins/impact_mixin.rb +15 -0
  64. data/lib/puree/rest/mixins/person_mixin.rb +15 -0
  65. data/lib/puree/rest/mixins/press_media_mixin.rb +15 -0
  66. data/lib/puree/rest/mixins/prize_mixin.rb +15 -0
  67. data/lib/puree/rest/mixins/project_mixin.rb +15 -0
  68. data/lib/puree/rest/mixins/research_output_mixin.rb +15 -0
  69. data/lib/puree/rest/mixins/student_thesis_mixin.rb +15 -0
  70. data/lib/puree/rest/organisational_unit.rb +51 -0
  71. data/lib/puree/rest/person.rb +58 -0
  72. data/lib/puree/rest/press_media.rb +24 -0
  73. data/lib/puree/rest/prize.rb +24 -0
  74. data/lib/puree/rest/project.rb +27 -0
  75. data/lib/puree/rest/publisher.rb +31 -0
  76. data/lib/puree/rest/research_output.rb +24 -0
  77. data/lib/puree/rest/rest.rb +30 -0
  78. data/lib/puree/util/util.rb +3 -0
  79. data/lib/puree/version.rb +1 -1
  80. data/lib/puree/xml_extractor/base.rb +6 -6
  81. data/lib/puree/xml_extractor/collection.rb +112 -19
  82. data/lib/puree/xml_extractor/conference_paper.rb +9 -2
  83. data/lib/puree/xml_extractor/dataset.rb +56 -166
  84. data/lib/puree/xml_extractor/doctoral_thesis.rb +1 -1
  85. data/lib/puree/xml_extractor/event.rb +16 -19
  86. data/lib/puree/xml_extractor/external_organisation.rb +14 -5
  87. data/lib/puree/xml_extractor/journal.rb +18 -8
  88. data/lib/puree/xml_extractor/journal_article.rb +24 -11
  89. data/lib/puree/xml_extractor/masters_thesis.rb +1 -1
  90. data/lib/puree/xml_extractor/mixins/abstract_mixin.rb +17 -0
  91. data/lib/puree/xml_extractor/mixins/description_mixin.rb +17 -0
  92. data/lib/puree/xml_extractor/mixins/{external_organisations_mixin.rb → external_organisation_mixin.rb} +2 -2
  93. data/lib/puree/xml_extractor/mixins/identifier_mixin.rb +25 -0
  94. data/lib/puree/xml_extractor/mixins/keyword_mixin.rb +21 -0
  95. data/lib/puree/xml_extractor/mixins/organisational_unit_mixin.rb +18 -0
  96. data/lib/puree/xml_extractor/mixins/owner_mixin.rb +18 -0
  97. data/lib/puree/xml_extractor/mixins/peer_reviewed_mixin.rb +1 -1
  98. data/lib/puree/xml_extractor/mixins/person_mixin.rb +45 -0
  99. data/lib/puree/xml_extractor/mixins/publisher_mixin.rb +22 -0
  100. data/lib/puree/xml_extractor/mixins/{associated_mixin.rb → research_output_mixin.rb} +7 -7
  101. data/lib/puree/xml_extractor/mixins/title_mixin.rb +17 -0
  102. data/lib/puree/xml_extractor/mixins/type_mixin.rb +17 -0
  103. data/lib/puree/xml_extractor/mixins/workflow_mixin.rb +17 -0
  104. data/lib/puree/xml_extractor/organisational_unit.rb +82 -0
  105. data/lib/puree/xml_extractor/paper.rb +17 -3
  106. data/lib/puree/xml_extractor/person.rb +30 -35
  107. data/lib/puree/xml_extractor/project.rb +39 -75
  108. data/lib/puree/xml_extractor/publisher.rb +15 -6
  109. data/lib/puree/xml_extractor/research_output.rb +189 -0
  110. data/lib/puree/xml_extractor/resource.rb +28 -36
  111. data/lib/puree/xml_extractor/shared.rb +12 -9
  112. data/lib/puree/xml_extractor/thesis.rb +29 -15
  113. data/lib/puree/xml_extractor/xml_extractor.rb +43 -0
  114. data/lib/puree.rb +5 -114
  115. data/puree.gemspec +1 -1
  116. data/test/extractor/resource_test.rb +103 -0
  117. data/test/rest/base_test.rb +45 -0
  118. data/test/rest/common_test.rb +44 -0
  119. data/test/test_extractor_helper.rb +1 -0
  120. data/test/test_helper.rb +17 -0
  121. data/test/test_rest_helper.rb +82 -0
  122. data/test/test_xml_extractor_helper.rb +17 -0
  123. data/test/xml_extractor/xml_extractor_collection_test.rb +120 -0
  124. data/test/xml_extractor/xml_extractor_conference_paper_test.rb +69 -0
  125. data/test/xml_extractor/xml_extractor_dataset_test.rb +156 -0
  126. data/test/xml_extractor/xml_extractor_event_test.rb +58 -0
  127. data/test/xml_extractor/xml_extractor_external_organisation_test.rb +49 -0
  128. data/test/xml_extractor/xml_extractor_journal_article_test.rb +66 -0
  129. data/test/xml_extractor/xml_extractor_journal_test.rb +53 -0
  130. data/test/xml_extractor/xml_extractor_organisation_test.rb +80 -0
  131. data/test/xml_extractor/xml_extractor_person_test.rb +88 -0
  132. data/test/xml_extractor/xml_extractor_project_test.rb +136 -0
  133. data/test/xml_extractor/xml_extractor_publisher_test.rb +49 -0
  134. data/test/xml_extractor/xml_extractor_research_output_test.rb +214 -0
  135. data/test/xml_extractor/xml_extractor_thesis_test.rb +80 -0
  136. metadata +105 -68
  137. data/lib/puree/api/api.rb +0 -9
  138. data/lib/puree/api/authentication.rb +0 -33
  139. data/lib/puree/api/configuration.rb +0 -43
  140. data/lib/puree/api/map.rb +0 -80
  141. data/lib/puree/api/person_request.rb +0 -64
  142. data/lib/puree/api/request.rb +0 -119
  143. data/lib/puree/extractor/collection.rb +0 -131
  144. data/lib/puree/extractor/download.rb +0 -71
  145. data/lib/puree/extractor/organisation.rb +0 -34
  146. data/lib/puree/extractor/paper_base.rb +0 -28
  147. data/lib/puree/extractor/publication.rb +0 -53
  148. data/lib/puree/extractor/server.rb +0 -56
  149. data/lib/puree/model/download_header.rb +0 -21
  150. data/lib/puree/model/paper_base.rb +0 -19
  151. data/lib/puree/model/server.rb +0 -13
  152. data/lib/puree/query/funding.rb +0 -54
  153. data/lib/puree/query/person.rb +0 -121
  154. data/lib/puree/query/query.rb +0 -6
  155. data/lib/puree/xml_extractor/download.rb +0 -42
  156. data/lib/puree/xml_extractor/mixins/workflow_state_mixin.rb +0 -18
  157. data/lib/puree/xml_extractor/organisation.rb +0 -75
  158. data/lib/puree/xml_extractor/paper_base.rb +0 -17
  159. data/lib/puree/xml_extractor/publication.rb +0 -257
  160. data/lib/puree/xml_extractor/server.rb +0 -32
  161. data/spec/download_http_spec.rb +0 -31
  162. data/spec/open_api_dataset_http_spec.rb +0 -15
  163. data/spec/query/funding_http_spec.rb +0 -29
  164. data/spec/query/person_http_spec.rb +0 -52
  165. data/spec/resource/collection_all_http_spec.rb +0 -77
  166. data/spec/resource/collection_http_spec.rb +0 -65
  167. data/spec/resource/dataset_http_spec.rb +0 -112
  168. data/spec/resource/event_http_spec.rb +0 -52
  169. data/spec/resource/journal_http_spec.rb +0 -36
  170. data/spec/resource/organisation_http_spec.rb +0 -52
  171. data/spec/resource/person_http_spec.rb +0 -60
  172. data/spec/resource/project_http_spec.rb +0 -89
  173. data/spec/resource/publication_http_spec.rb +0 -126
  174. data/spec/resource/publisher_http_spec.rb +0 -26
  175. data/spec/server_http_spec.rb +0 -26
  176. data/spec/spec_helper.rb +0 -159
@@ -1,52 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Person' do
4
-
5
- it '#new' do
6
- q = Puree::Query::Person.new config
7
- expect(q).to be_a Puree::Query::Person
8
- end
9
-
10
- before(:all) do
11
- request :person
12
- @person_uuid = @p.uuid
13
- @q = Puree::Query::Person.new config
14
- end
15
-
16
- describe 'data retrieval' do
17
- it '#publication_count' do
18
- publication_count = @q.publication_count uuid: @person_uuid
19
- expect(publication_count).to be_a Fixnum if publication_count
20
- end
21
-
22
- it '#publications' do
23
- publications = @q.publications uuid: @person_uuid,
24
- limit: 3
25
- expect(publications).to all( be_a Puree::Model::Publication )
26
- end
27
-
28
- it '#publications_offset' do
29
- publications = @q.publications uuid: @person_uuid,
30
- limit: 3,
31
- offset: 1
32
- expect(publications).to all( be_a Puree::Model::Publication )
33
- end
34
-
35
- it '#publications_published_start' do
36
- publications = @q.publications uuid: @person_uuid,
37
- limit: 3,
38
- published_start: '2017-01-01'
39
- expect(publications).to all( be_a Puree::Model::Publication )
40
- end
41
-
42
- it '#publications_published_start_published_end' do
43
- publications = @q.publications uuid: @person_uuid,
44
- limit: 3,
45
- published_start: '2017-01-01',
46
- published_end: '2017-12-31'
47
- expect(publications).to all( be_a Puree::Model::Publication )
48
- end
49
-
50
- end
51
-
52
- end
@@ -1,77 +0,0 @@
1
- require 'spec_helper'
2
-
3
- def new
4
- @p = Puree::Extractor::Collection.new resource: @resource_type,
5
- config: config
6
- end
7
-
8
- def go resource_type
9
- @resource_type = resource_type
10
- new
11
- fetch
12
- end
13
-
14
- def fetch
15
- count = @p.count
16
- (0..count-1).each do |i|
17
- resource = @p.find limit: 1,
18
- offset: i
19
- expect(resource[0]).to be_a resource_class
20
- puts "#{i+1} of #{count} #{@resource_type}s"
21
- sleep 1
22
- system 'clear'
23
- end
24
- end
25
-
26
- def resource_class
27
- str = "Puree::Model::#{@resource_type.to_s.capitalize}"
28
- Object.const_get(str)
29
- end
30
-
31
- describe 'dataset' do
32
- it 'get all, one at a time' do
33
- go :dataset
34
- end
35
- end
36
-
37
- describe 'event' do
38
- it 'get all, one at a time' do
39
- go :event
40
- end
41
- end
42
-
43
- describe 'journal' do
44
- it 'get all, one at a time' do
45
- go :journal
46
- end
47
- end
48
-
49
- describe 'organisation' do
50
- it 'get all, one at a time' do
51
- go :organisation
52
- end
53
- end
54
-
55
- describe 'person' do
56
- it 'get all, one at a time' do
57
- go :person
58
- end
59
- end
60
-
61
- describe 'project' do
62
- it 'get all, one at a time' do
63
- go :project
64
- end
65
- end
66
-
67
- describe 'publication' do
68
- it 'get all, one at a time' do
69
- go :publication
70
- end
71
- end
72
-
73
- describe 'publisher' do
74
- it 'get all, one at a time' do
75
- go :publisher
76
- end
77
- end
@@ -1,65 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Collection of datasets' do
4
-
5
- def new
6
- @p = Puree::Extractor::Collection.new resource: :dataset,
7
- config: config
8
- end
9
-
10
- def setup
11
- new
12
- end
13
-
14
- it '#new' do
15
- new
16
- expect(@p).to be_a(Puree::Extractor::Collection)
17
- end
18
-
19
- describe 'data retrieval' do
20
- before(:all) do
21
- setup
22
- @metadata = @p.find limit: 5
23
- end
24
-
25
- it 'collection' do
26
- expect(@metadata).to be_a(Array)
27
- end
28
-
29
- end
30
-
31
- describe 'data retrieval instance' do
32
- before(:all) do
33
- setup
34
- @metadata = @p.find limit: 5
35
- end
36
-
37
- it 'collection' do
38
- expect(@metadata).to be_a(Array)
39
- end
40
-
41
- it 'collection item' do
42
- expect(@metadata).to all( be_a Puree::Model::Dataset )
43
- end
44
-
45
- end
46
-
47
- describe 'data retrieval count' do
48
- before(:all) do
49
- setup
50
- @p.find limit: 0
51
- end
52
-
53
- it '#count' do
54
- expect(@p.count).to be_a(Fixnum)
55
- end
56
-
57
- end
58
-
59
- it '#random_resource' do
60
- setup
61
- metadata = @p.random_resource
62
- expect(metadata).to be_a Puree::Model::Dataset
63
- end
64
-
65
- end
@@ -1,112 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Dataset' do
4
-
5
- it '#new' do
6
- p = Puree::Extractor::Dataset.new config
7
- expect(p).to be_a Puree::Extractor::Dataset
8
- end
9
-
10
- before(:all) do
11
- request :dataset
12
- end
13
-
14
- describe 'data retrieval' do
15
-
16
- resource_header
17
-
18
- it 'data structure' do
19
- expect(@p).to be_a Puree::Model::Dataset
20
- end
21
-
22
- it '#access' do
23
- expect(@p.access).to be_a String if @p.access
24
- end
25
-
26
- it '#associated' do
27
- expect(@p.associated).to all( be_a Puree::Model::RelatedContentHeader )
28
- end
29
-
30
- it '#available' do
31
- expect(@p.available).to be_a Time if @p.available
32
- end
33
-
34
- it '#description' do
35
- expect(@p.description).to be_a String if @p.description
36
- end
37
-
38
- it '#doi' do
39
- expect(@p.doi).to be_a String if @p.doi
40
- end
41
-
42
- it '#files' do
43
- expect(@p.files).to all( be_a Puree::Model::File )
44
- end
45
-
46
- it '#keywords' do
47
- expect(@p.keywords).to all( be_a String )
48
- end
49
-
50
- it '#legal_conditions' do
51
- expect(@p.legal_conditions).to all( be_a Puree::Model::LegalCondition )
52
- end
53
-
54
- it '#links' do
55
- expect(@p.links).to all( be_a Puree::Model::Link )
56
- end
57
-
58
- it '#owner' do
59
- expect(@p.owner).to be_a Puree::Model::OrganisationHeader if @p.owner
60
- end
61
-
62
- it '#persons_internal' do
63
- expect(@p.persons_internal).to all( be_a Puree::Model::EndeavourPerson )
64
- end
65
-
66
- it '#persons_external' do
67
- expect(@p.persons_external).to all( be_a Puree::Model::EndeavourPerson )
68
- end
69
-
70
- it '#persons_other' do
71
- expect(@p.persons_other).to all( be_a Puree::Model::EndeavourPerson )
72
- end
73
-
74
- it '#production' do
75
- expect(@p.production).to be_a Puree::Model::TemporalRange if @p.production
76
- end
77
-
78
- it '#projects' do
79
- expect(@p.projects).to all( be_a Puree::Model::RelatedContentHeader )
80
- end
81
-
82
- it '#publications' do
83
- expect(@p.publications).to all( be_a Puree::Model::RelatedContentHeader )
84
- end
85
-
86
- it '#publisher' do
87
- expect(@p.publisher).to be_a String if @p.publisher
88
- end
89
-
90
- it '#spatial_places' do
91
- expect(@p.spatial_places).to all( be_a String ) if @p.spatial_places
92
- end
93
-
94
- it '#spatial_point' do
95
- expect(@p.spatial_point).to be_a Puree::Model::SpatialPoint if @p.spatial_point
96
- end
97
-
98
- it '#temporal' do
99
- expect(@p.temporal).to be_a Puree::Model::TemporalRange if @p.temporal
100
- end
101
-
102
- it '#title' do
103
- expect(@p.title).to be_a String if @p.title
104
- end
105
-
106
- it '#workflow_state' do
107
- expect(@p.workflow_state).to be_a String if @p.workflow_state
108
- end
109
-
110
- end
111
-
112
- end
@@ -1,52 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Event' do
4
-
5
- it '#new' do
6
- p = Puree::Extractor::Event.new config
7
- expect(p).to be_a Puree::Extractor::Event
8
- end
9
-
10
- before(:all) do
11
- request :event
12
- end
13
-
14
- describe 'data retrieval' do
15
-
16
- resource_header
17
-
18
- it 'data structure' do
19
- expect(@p).to be_a Puree::Model::Event
20
- end
21
-
22
- it '#city' do
23
- expect(@p.city).to be_a String if @p.city
24
- end
25
-
26
- it '#country' do
27
- expect(@p.country).to be_a String if @p.country
28
- end
29
-
30
- it '#date' do
31
- expect(@p.date).to be_a Puree::Model::TemporalRange if @p.date
32
- end
33
-
34
- it '#description' do
35
- expect(@p.description).to be_a String if @p.description
36
- end
37
-
38
- it '#location' do
39
- expect(@p.location).to be_a String if @p.location
40
- end
41
-
42
- it '#title' do
43
- expect(@p.title).to be_a String if @p.title
44
- end
45
-
46
- it '#type' do
47
- expect(@p.type).to be_a String if @p.type
48
- end
49
-
50
- end
51
-
52
- end
@@ -1,36 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Journal' do
4
-
5
- it '#new' do
6
- p = Puree::Extractor::Journal.new config
7
- expect(p).to be_a Puree::Extractor::Journal
8
- end
9
-
10
- before(:all) do
11
- request :journal
12
- end
13
-
14
- describe 'data retrieval' do
15
-
16
- resource_header
17
-
18
- it 'data structure' do
19
- expect(@p).to be_a Puree::Model::Journal
20
- end
21
-
22
- it '#issn' do
23
- expect(@p.issn).to be_a String if @p.issn
24
- end
25
-
26
- it '#publisher' do
27
- expect(@p.publisher).to be_a String if @p.publisher
28
- end
29
-
30
- it '#title' do
31
- expect(@p.title).to be_a String if @p.title
32
- end
33
-
34
- end
35
-
36
- end
@@ -1,52 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Organisation' do
4
-
5
- it '#new' do
6
- p = Puree::Extractor::Organisation.new config
7
- expect(p).to be_a Puree::Extractor::Organisation
8
- end
9
-
10
- before(:all) do
11
- request :organisation
12
- end
13
-
14
- describe 'data retrieval' do
15
-
16
- resource_header
17
-
18
- it 'data structure' do
19
- expect(@p).to be_a Puree::Model::Organisation
20
- end
21
-
22
- it '#address' do
23
- expect(@p.address).to all( be_a Puree::Model::Address )
24
- end
25
-
26
- it '#name' do
27
- expect(@p.name).to be_a String if @p.name
28
- end
29
-
30
- it '#organisations' do
31
- expect(@p.organisations).to all( be_a Puree::Model::OrganisationHeader )
32
- end
33
-
34
- it '#parent' do
35
- expect(@p.parent).to be_a Puree::Model::OrganisationHeader if @p.parent
36
- end
37
-
38
- it '#phone_numbers' do
39
- expect(@p.phone_numbers).to all( be_a String )
40
- end
41
-
42
- it '#type' do
43
- expect(@p.type).to be_a String if @p.type
44
- end
45
-
46
- it '#urls' do
47
- expect(@p.urls).to all( be_a String )
48
- end
49
-
50
- end
51
-
52
- end
@@ -1,60 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Person' do
4
-
5
- it '#new' do
6
- p = Puree::Extractor::Person.new config
7
- expect(p).to be_a Puree::Extractor::Person
8
- end
9
-
10
- before(:all) do
11
- request :person
12
- end
13
-
14
- describe 'data retrieval' do
15
-
16
- resource_header
17
-
18
- it 'data structure' do
19
- expect(@p).to be_a Puree::Model::Person
20
- end
21
-
22
- it '#affiliations' do
23
- expect(@p.affiliations).to all( be_a Puree::Model::OrganisationHeader )
24
- end
25
-
26
- it '#email_addresses' do
27
- expect(@p.email_addresses).to all( be_a String )
28
- end
29
-
30
- it '#employee_id' do
31
- expect(@p.employee_id).to be_a String if @p.employee_id
32
- end
33
-
34
- it '#hesa_id' do
35
- expect(@p.hesa_id).to be_a String if @p.hesa_id
36
- end
37
-
38
- it '#image_urls' do
39
- expect(@p.image_urls).to all( be_a String )
40
- end
41
-
42
- it '#keywords' do
43
- expect(@p.keywords).to all( be_a String )
44
- end
45
-
46
- it '#name' do
47
- expect(@p.name).to be_a Puree::Model::PersonName if @p.name
48
- end
49
-
50
- it '#orcid' do
51
- expect(@p.orcid).to be_a String if @p.orcid
52
- end
53
-
54
- it '#scopus_id' do
55
- expect(@p.scopus_id).to be_a String if @p.scopus_id
56
- end
57
-
58
- end
59
-
60
- end
@@ -1,89 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Project' do
4
-
5
- it '#new' do
6
- p = Puree::Extractor::Project.new config
7
- expect(p).to be_a Puree::Extractor::Project
8
- end
9
-
10
- before(:all) do
11
- request :project
12
- end
13
-
14
- describe 'data retrieval' do
15
-
16
- resource_header
17
-
18
- it 'data structure' do
19
- expect(@p).to be_a Puree::Model::Project
20
- end
21
-
22
- it '#acronym' do
23
- expect(@p.acronym).to be_a String if @p.acronym
24
- end
25
-
26
- # not present in stable API
27
- # it '#associated' do
28
- # expect(@p.associated).to all( be_a Puree::Model::RelatedContentHeader )
29
- # end
30
-
31
- it '#description' do
32
- expect(@p.description).to be_a String if @p.description
33
- end
34
-
35
- it '#external_organisations' do
36
- expect(@p.external_organisations).to all( be_a Puree::Model::ExternalOrganisationHeader )
37
- end
38
-
39
- it '#funded' do
40
- expect(@p.funded).to be(true).or be(false)
41
- end
42
-
43
- it '#organisations' do
44
- expect(@p.organisations).to all( be_a Puree::Model::OrganisationHeader )
45
- end
46
-
47
- it '#owner' do
48
- expect(@p.owner).to be_a Puree::Model::OrganisationHeader if @p.owner
49
- end
50
-
51
- it '#persons_internal' do
52
- expect(@p.persons_internal).to all( be_a Puree::Model::EndeavourPerson )
53
- end
54
-
55
- it '#persons_external' do
56
- expect(@p.persons_external).to all( be_a Puree::Model::EndeavourPerson )
57
- end
58
-
59
- it '#persons_other' do
60
- expect(@p.persons_other).to all( be_a Puree::Model::EndeavourPerson )
61
- end
62
-
63
- it '#status' do
64
- expect(@p.status).to be_a String if @p.status
65
- end
66
-
67
- it '#temporal_actual' do
68
- expect(@p.temporal_actual).to be_a Puree::Model::TemporalRange if @p.temporal_actual
69
- end
70
-
71
- it '#temporal_expected' do
72
- expect(@p.temporal_expected).to be_a Puree::Model::TemporalRange if @p.temporal_expected
73
- end
74
-
75
- it '#title' do
76
- expect(@p.title).to be_a String if @p.title
77
- end
78
-
79
- it '#type' do
80
- expect(@p.type).to be_a String if @p.type
81
- end
82
-
83
- it '#url' do
84
- expect(@p.url).to be_a String if @p.url
85
- end
86
-
87
- end
88
-
89
- end