krikri 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3 @@
1
+ require 'spec_helper'
2
+
3
+ describe Krikri::Harvesters::FileHarvester do
@@ -276,7 +276,7 @@ EOM
276
276
  expect(subject.client).to receive(request_type)
277
277
  .with(:metadata_prefix => args[:oai][:metadata_prefix])
278
278
  .and_return(result)
279
- subject.send(method)
279
+ subject.send(method).first
280
280
  end
281
281
 
282
282
  it 'adds options passed into request' do
@@ -284,7 +284,7 @@ EOM
284
284
  .with(:metadata_prefix => args[:oai][:metadata_prefix],
285
285
  :set => request_opts[:set])
286
286
  .and_return(result)
287
- subject.send(method, request_opts)
287
+ subject.send(method, request_opts).first
288
288
  end
289
289
 
290
290
  context 'with multiple sets' do
@@ -294,7 +294,7 @@ EOM
294
294
  opts.delete(:set)
295
295
  expect(subject.client).to receive(request_type).with(opts)
296
296
  .and_return(result)
297
- subject.send(method, { :skip_set => 'moomin' })
297
+ subject.send(method, { :skip_set => 'moomin' }).first
298
298
  end
299
299
 
300
300
  it 'skips sets from full list when none given' do
@@ -305,7 +305,7 @@ EOM
305
305
  allow(subject).to receive(:sets).and_return(['valid', 'moomin'])
306
306
  expect(subject.client).to receive(request_type).with(opts)
307
307
  .and_return(result)
308
- subject.send(method, { :skip_set => 'moomin' })
308
+ subject.send(method, { :skip_set => 'moomin' }).first
309
309
  end
310
310
  end
311
311
  end
@@ -360,6 +360,24 @@ EOM
360
360
  end
361
361
  end
362
362
 
363
+ describe '#request_with_sets' do
364
+ it 'is lazy' do
365
+ sets = [double('first'), double('second')]
366
+ opts = { :set => sets }
367
+ expect { |b| subject.send(:request_with_sets, opts, &b) }
368
+ .not_to yield_control
369
+ end
370
+
371
+ it 'sends requests' do
372
+ sets = [double('first'), double('second')]
373
+ opts = { :set => sets }
374
+ expect { |b| subject.send(:request_with_sets, opts, &b) }
375
+ .not_to yield_successive_args({ :set => opts[:set][0] },
376
+ { :set => opts[:set][1] })
377
+ end
378
+
379
+ end
380
+
363
381
  describe '#enqueue' do
364
382
  let(:args) do
365
383
  {uri: 'http://example.org/endpoint', oai: {metadata_prefix: 'mods'}}
@@ -400,14 +418,14 @@ EOM
400
418
  describe 'concat_enum' do
401
419
 
402
420
  it 'concatenates enums' do
403
- expect(subject.concat_enum((1..10), (100..110)).to_a)
421
+ expect(subject.concat_enum([(1..10), (100..110)]).to_a)
404
422
  .to eq (1..10).to_a.concat((100..110).to_a)
405
423
  end
406
424
 
407
425
  it 'works with lazy' do
408
426
  enum = double
409
427
  expect(enum).not_to receive :each
410
- subject.concat_enum((1..10), enum).lazy.take(10)
428
+ subject.concat_enum([(1..10), enum]).lazy.take(10)
411
429
  end
412
430
  end
413
431
 
@@ -26,7 +26,7 @@ describe Krikri::Mapper do
26
26
  mapped = Krikri::Mapper.map(:integration, record).first
27
27
 
28
28
  expect(mapped.sourceResource.first.creator.first.providedLabel)
29
- .to eq record.root['dc:creator'].map(&:value)
29
+ .to eq record.root['dc:creator'].to_a.map(&:value)
30
30
 
31
31
  expect(mapped.sourceResource.first.identifier)
32
32
  .to eq Array(record.header.first['xmlns:identifier'].first.value)
@@ -23,9 +23,20 @@ describe Krikri::Parser::ValueArray do
23
23
  end
24
24
 
25
25
  describe '#values' do
26
+ before do
27
+ values.each do |v|
28
+ allow(v).to receive(:respond_to?).with(:value).and_return(true)
29
+ end
30
+ end
31
+
26
32
  it 'gives values for items in array' do
27
33
  expect(subject.values).to eq ['value_0', 'value_1', 'value_2']
28
34
  end
35
+
36
+ it 'gives item when item has no value property' do
37
+ values << double('valueless')
38
+ expect(subject.values).to eq ['value_0', 'value_1', 'value_2', values.last]
39
+ end
29
40
  end
30
41
 
31
42
  shared_context 'with fields' do
@@ -183,6 +194,16 @@ describe Krikri::Parser::ValueArray do
183
194
  end
184
195
  end
185
196
 
197
+ describe '#map' do
198
+ it 'calls block on all' do
199
+ expect { |b| subject.map(&b) }.to yield_successive_args(*subject.to_a)
200
+ end
201
+
202
+ it 'returns an instance of its class' do
203
+ expect(subject.map {}).to be_a described_class
204
+ end
205
+ end
206
+
186
207
  describe '#reject' do
187
208
  it 'creates new array not containing rejected values' do
188
209
  expect(subject.reject { |v| v.value == 'value_1'})
@@ -14,6 +14,14 @@ end
14
14
  describe Krikri::Activity, type: :model do
15
15
  subject { create(:krikri_activity) }
16
16
 
17
+ describe '#save' do
18
+ subject { build(:krikri_activity_with_long_opts) }
19
+
20
+ it 'saves long :opts values successfully' do
21
+ expect { subject.save }.not_to raise_error
22
+ end
23
+ end
24
+
17
25
  describe '#rdf_subject' do
18
26
  it 'is a URI' do
19
27
  expect(subject.rdf_subject).to be_a RDF::URI
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: krikri
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Audrey Altman
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-03-06 00:00:00.000000000 Z
14
+ date: 2015-03-10 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -358,6 +358,7 @@ files:
358
358
  - db/migrate/20141113200643_create_krikri_harvest_sources.rb
359
359
  - db/migrate/20141212220924_create_krikri_activities.rb
360
360
  - db/migrate/20150106164218_add_opts_to_krikri_harvest_sources.rb
361
+ - db/migrate/20150309160112_change_opts_in_krikri_activities.rb
361
362
  - lib/aggregation.rb~
362
363
  - lib/blacklight.rb~
363
364
  - lib/generators/krikri/install_generator.rb
@@ -396,6 +397,7 @@ files:
396
397
  - lib/krikri/harvesters/basic_save_behavior.rb
397
398
  - lib/krikri/harvesters/basic_save_behavior.rb~
398
399
  - lib/krikri/harvesters/couchdb_harvester.rb
400
+ - lib/krikri/harvesters/file_harvester.rb~
399
401
  - lib/krikri/harvesters/harvest_behavior.rb
400
402
  - lib/krikri/harvesters/harvest_behavior.rb~
401
403
  - lib/krikri/harvesters/oai_harvester.rb
@@ -699,6 +701,7 @@ files:
699
701
  - spec/lib/krikri/harvesters/basic_save_behavior_spec.rb
700
702
  - spec/lib/krikri/harvesters/basic_save_behavior_spec.rb~
701
703
  - spec/lib/krikri/harvesters/couchdb_harvester_spec.rb
704
+ - spec/lib/krikri/harvesters/file_harvester_spec.rb~
702
705
  - spec/lib/krikri/harvesters/harvest_behavior_spec.rb
703
706
  - spec/lib/krikri/harvesters/harvest_behavior_spec.rb~
704
707
  - spec/lib/krikri/harvesters/oai_harvester_spec.rb
@@ -820,6 +823,7 @@ test_files:
820
823
  - spec/lib/krikri/harvesters/oai_skip_deleted_behavior_spec.rb~
821
824
  - spec/lib/krikri/harvesters/couchdb_harvester_spec.rb
822
825
  - spec/lib/krikri/harvesters/harvest_behavior_spec.rb
826
+ - spec/lib/krikri/harvesters/file_harvester_spec.rb~
823
827
  - spec/lib/krikri/harvesters/harvest_behavior_spec.rb~
824
828
  - spec/lib/krikri/mapping_dsl/property_declaration_spec.rb~
825
829
  - spec/lib/krikri/mapping_dsl/child_declaration_spec.rb