dor-workflow-client 3.5.0 → 3.6.0

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