dor-workflow-client 3.14.0 → 3.15.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: 5a00ebf82eddf3b2cce94a9e1eb3d4eeb77e78fb7280131b5f8cd475e611ff1c
4
- data.tar.gz: fb8e8d16cebc1436e6747c5e601227c786ed007e54507f154dd3c248694f4fa0
3
+ metadata.gz: 999836d9819299630a505d4f09ec8e8fd9a054fe8a7718b09096a7e3aae3b4cb
4
+ data.tar.gz: 2aabfa8b7212d6b59a63b43c24b07d11d350ab25138b9888241a86d27a21282e
5
5
  SHA512:
6
- metadata.gz: 118a58574b972bd2c235103fcf71edc582a3e841c4641506a658881819a7a005ea356b3fef233d7733363cc83f35a3697a0c3ac783ef5d6d0d5e546a9336b29f
7
- data.tar.gz: a4721adc49f0130683b82cad84cc487a5e33f206a814151381a6c75448661472b6bda149473d382908c7c8093e636ffb44382b44bfa1e66d5d1b7fd0248133bb
6
+ metadata.gz: e79fc455a8757224ebc51ad4fb2c28d59801d0be5c7283cc393011ae374cb21ffb762bc52e21838317c4abb71b17ec79269c028aac0fc0dfcc425ecaaf7a904e
7
+ data.tar.gz: ca91b5a46d08c5a2519d958d18ee55f0d201c13c6856b542a9ff0d5bef58ba80ff82e3c253fc5e323bbc3fac6ba866e99d7945b2392e682b92fb151d68d840d1
@@ -3,7 +3,7 @@
3
3
  module Dor
4
4
  module Workflow
5
5
  class Client
6
- VERSION = '3.14.0'
6
+ VERSION = '3.15.0'
7
7
  end
8
8
  end
9
9
  end
@@ -39,10 +39,19 @@ module Dor
39
39
  ng_xml.xpath('/workflow/process').empty?
40
40
  end
41
41
 
42
+ def complete?
43
+ ng_xml.xpath("/workflow/process[@version=#{version}]/@status").map(&:value).all? { |p| %w[skipped completed].include?(p) }
44
+ end
45
+
42
46
  attr_reader :xml
43
47
 
44
48
  private
45
49
 
50
+ # Return the max version in this workflow document
51
+ def version
52
+ ng_xml.xpath('/workflow/process/@version').map { |attr| attr.value.to_i }.max
53
+ end
54
+
46
55
  def workflow
47
56
  ng_xml.at_xpath('workflow')
48
57
  end
@@ -41,6 +41,33 @@ RSpec.describe Dor::Workflow::Response::Workflow do
41
41
  it { is_expected.to eq 'dor' }
42
42
  end
43
43
 
44
+ describe '#complete?' do
45
+ subject { instance.complete? }
46
+ context 'when all steps are complete' do
47
+ let(:xml) do
48
+ <<~XML
49
+ <workflow repository="dor" objectId="druid:mw971zk1113" id="assemblyWF">
50
+ <process version="1" laneId="default" elapsed="0.0" attempts="1" datetime="2013-02-18T14:40:25-0800" status="completed" name="start-assembly"/>
51
+ <process version="1" laneId="default" elapsed="0.509" attempts="1" datetime="2013-02-18T14:42:24-0800" status="completed" name="jp2-create"/>
52
+ </workflow>
53
+ XML
54
+ end
55
+ it { is_expected.to be true }
56
+ end
57
+
58
+ context 'when some steps are not complete' do
59
+ let(:xml) do
60
+ <<~XML
61
+ <workflow repository="dor" objectId="druid:mw971zk1113" id="assemblyWF">
62
+ <process version="1" laneId="default" elapsed="0.0" attempts="1" datetime="2013-02-18T14:40:25-0800" status="completed" name="start-assembly"/>
63
+ <process version="1" laneId="default" elapsed="0.509" attempts="1" datetime="2013-02-18T14:42:24-0800" status="waiting" name="jp2-create"/>
64
+ </workflow>
65
+ XML
66
+ end
67
+ it { is_expected.to be false }
68
+ end
69
+ end
70
+
44
71
  describe '#active?' do
45
72
  subject { instance.active_for?(version: 2) }
46
73
 
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.14.0
4
+ version: 3.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Willy Mene