dor-workflow-client 3.5.0 → 3.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 282db0ca244d39fff241a2a30face5c69f101762aba3355a078da50eccae6e49
4
- data.tar.gz: 34342d7f0f0808aec6ce8bf59de2fde85f9154c656940da008928404b74e0224
3
+ metadata.gz: fa5a23b0984a3d7da51db957e5a2d7c6edce81362f78ff539ecacfc6b84d533c
4
+ data.tar.gz: 39414c933993e60ba993de7de54f4798b0d0afe5db787b4bf3891debc59f6fb9
5
5
  SHA512:
6
- metadata.gz: 0fb6baead7b56ee334ad8c100e541fb45fdef6d0053b98b440ceb2982801fced53280c7a15718d7c5d0983f89adf452f5ba2daa8c7c81b4718cbac1ff4274a3b
7
- data.tar.gz: 7515e44eac0411fac130ca5661237161ce8ee60def8c8384ba4fc7ef35d72013455ed8f77ff54b770df72afe6099cef20eaa55a14791c35bd8b13d17c7d35899
6
+ metadata.gz: 8dd823c38cf34f668096682bf54ec5727572fd3cf34c095dab6e7d88a4ede15a3003fe25248d36b81c72e77457a00f6a2615b4c0b2fbcd20afb5b03a4108ca7a
7
+ data.tar.gz: e6821dc36b1bd5c637b2c6f4aeb010e4f1e8f9e5ba2fce698ccf6a6bd8bd65d7e161e7bf59df57c89903bbaba718821fd51401b818d526ae1d6450a3bd49516a
@@ -3,7 +3,7 @@
3
3
  module Dor
4
4
  module Workflow
5
5
  class Client
6
- VERSION = '3.5.0'
6
+ VERSION = '3.6.0'
7
7
  end
8
8
  end
9
9
  end
@@ -44,7 +44,7 @@ module Dor
44
44
  @attributes[:errorMessage].presence
45
45
  end
46
46
 
47
- delegate :pid, :workflow_name, to: :parent
47
+ delegate :pid, :workflow_name, :repository, to: :parent
48
48
 
49
49
  private
50
50
 
@@ -10,11 +10,15 @@ module Dor
10
10
  end
11
11
 
12
12
  def pid
13
- ng_xml.at_xpath('/workflow/@objectId').text
13
+ workflow['objectId']
14
14
  end
15
15
 
16
16
  def workflow_name
17
- ng_xml.at_xpath('/workflow/@id').text
17
+ workflow['id']
18
+ end
19
+
20
+ def repository
21
+ workflow['repository']
18
22
  end
19
23
 
20
24
  # @param [Integer] version the version we are checking for.
@@ -39,6 +43,10 @@ module Dor
39
43
 
40
44
  private
41
45
 
46
+ def workflow
47
+ ng_xml.at_xpath('workflow')
48
+ end
49
+
42
50
  def process_nodes_for(name:)
43
51
  ng_xml.xpath("/workflow/process[@name = '#{name}']")
44
52
  end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Dor::Workflow::Response::Process do
6
+ let(:parent) { Dor::Workflow::Response::Workflow.new(xml: xml) }
7
+ subject(:instance) { parent.process_for_recent_version(name: 'start-assembly') }
8
+
9
+ describe '#pid' do
10
+ subject { instance.pid }
11
+
12
+ let(:xml) do
13
+ <<~XML
14
+ <workflow repository="dor" objectId="druid:mw971zk1113" id="assemblyWF">
15
+ <process name="start-assembly">
16
+ </workflow>
17
+ XML
18
+ end
19
+ it { is_expected.to eq 'druid:mw971zk1113' }
20
+ end
21
+
22
+ describe '#workflow_name' do
23
+ subject { instance.workflow_name }
24
+
25
+ let(:xml) do
26
+ <<~XML
27
+ <workflow repository="dor" objectId="druid:mw971zk1113" id="assemblyWF">
28
+ <process name="start-assembly">
29
+ </workflow>
30
+ XML
31
+ end
32
+ it { is_expected.to eq 'assemblyWF' }
33
+ end
34
+
35
+ describe '#repository' do
36
+ subject { instance.repository }
37
+
38
+ let(:xml) do
39
+ <<~XML
40
+ <workflow repository="dor" objectId="druid:mw971zk1113" id="assemblyWF">
41
+ <process name="start-assembly">
42
+ </workflow>
43
+ XML
44
+ end
45
+ it { is_expected.to eq 'dor' }
46
+ end
47
+
48
+ describe '#name' do
49
+ subject { instance.name }
50
+
51
+ let(:xml) do
52
+ <<~XML
53
+ <workflow repository="dor" objectId="druid:mw971zk1113" id="assemblyWF">
54
+ <process name="start-assembly">
55
+ </workflow>
56
+ XML
57
+ end
58
+ it { is_expected.to eq 'start-assembly' }
59
+ end
60
+ end
@@ -29,6 +29,18 @@ RSpec.describe Dor::Workflow::Response::Workflow do
29
29
  it { is_expected.to eq 'assemblyWF' }
30
30
  end
31
31
 
32
+ describe '#repository' do
33
+ subject { instance.repository }
34
+
35
+ let(:xml) do
36
+ <<~XML
37
+ <workflow repository="dor" objectId="druid:mw971zk1113" id="assemblyWF">
38
+ </workflow>
39
+ XML
40
+ end
41
+ it { is_expected.to eq 'dor' }
42
+ end
43
+
32
44
  describe '#active?' do
33
45
  subject { instance.active_for?(version: 2) }
34
46
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dor-workflow-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 3.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Willy Mene
@@ -223,6 +223,7 @@ files:
223
223
  - lib/dor/workflow/response/workflow.rb
224
224
  - lib/dor/workflow/response/workflows.rb
225
225
  - lib/dor/workflow_exception.rb
226
+ - spec/models/response/process_spec.rb
226
227
  - spec/models/response/workflow_spec.rb
227
228
  - spec/models/response/workflows_spec.rb
228
229
  - spec/spec_helper.rb
@@ -255,6 +256,7 @@ signing_key:
255
256
  specification_version: 4
256
257
  summary: Provides convenience methods to work with the DOR Workflow Service
257
258
  test_files:
259
+ - spec/models/response/process_spec.rb
258
260
  - spec/models/response/workflow_spec.rb
259
261
  - spec/models/response/workflows_spec.rb
260
262
  - spec/spec_helper.rb