bumbleworks 0.0.74 → 0.0.76
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 +7 -0
- data/.rspec +1 -1
- data/.ruby-version +1 -1
- data/bumbleworks.gemspec +2 -2
- data/lib/bumbleworks.rb +1 -0
- data/lib/bumbleworks/expression.rb +12 -1
- data/lib/bumbleworks/process.rb +10 -0
- data/lib/bumbleworks/process/error_record.rb +14 -0
- data/lib/bumbleworks/schedule.rb +58 -0
- data/lib/bumbleworks/task.rb +2 -1
- data/lib/bumbleworks/task/finder.rb +4 -0
- data/lib/bumbleworks/version.rb +1 -1
- data/lib/bumbleworks/workitem.rb +4 -0
- data/spec/fixtures/schedules.rb +40 -0
- data/spec/integration/entity_spec.rb +7 -7
- data/spec/integration/example_configurations_spec.rb +5 -5
- data/spec/integration/history_storage_spec.rb +9 -9
- data/spec/integration/sample_application_spec.rb +15 -15
- data/spec/lib/bumbleworks/configuration_spec.rb +52 -52
- data/spec/lib/bumbleworks/entity_spec.rb +66 -68
- data/spec/lib/bumbleworks/error_handler_spec.rb +1 -1
- data/spec/lib/bumbleworks/error_logger_spec.rb +5 -5
- data/spec/lib/bumbleworks/expression_spec.rb +34 -12
- data/spec/lib/bumbleworks/hash_storage_spec.rb +2 -2
- data/spec/lib/bumbleworks/participant/base_spec.rb +1 -1
- data/spec/lib/bumbleworks/participant/entity_interactor_spec.rb +20 -20
- data/spec/lib/bumbleworks/participant/error_dispatcher_spec.rb +3 -3
- data/spec/lib/bumbleworks/participant/local_participant_spec.rb +1 -1
- data/spec/lib/bumbleworks/participant_registration_spec.rb +4 -4
- data/spec/lib/bumbleworks/process/error_record_spec.rb +13 -0
- data/spec/lib/bumbleworks/process_definition_spec.rb +30 -24
- data/spec/lib/bumbleworks/process_spec.rb +86 -54
- data/spec/lib/bumbleworks/ruote/exp/broadcast_event_expression_spec.rb +2 -2
- data/spec/lib/bumbleworks/ruote/exp/wait_for_event_expression_spec.rb +4 -4
- data/spec/lib/bumbleworks/ruote_spec.rb +73 -71
- data/spec/lib/bumbleworks/schedule_spec.rb +124 -0
- data/spec/lib/bumbleworks/simple_logger_spec.rb +8 -8
- data/spec/lib/bumbleworks/storage_adapter_spec.rb +16 -16
- data/spec/lib/bumbleworks/support_spec.rb +23 -19
- data/spec/lib/bumbleworks/task/finder_spec.rb +46 -46
- data/spec/lib/bumbleworks/task_spec.rb +188 -167
- data/spec/lib/bumbleworks/tracker_spec.rb +41 -42
- data/spec/lib/bumbleworks/tree_builder_spec.rb +9 -7
- data/spec/lib/bumbleworks/user_spec.rb +35 -35
- data/spec/lib/bumbleworks/workitem_entity_storage_spec.rb +5 -5
- data/spec/lib/bumbleworks/workitem_spec.rb +28 -17
- data/spec/lib/bumbleworks_spec.rb +57 -51
- data/spec/spec_helper.rb +0 -1
- data/spec/support/shared_examples.rb +3 -3
- metadata +35 -54
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a72f385d9eb663aa79fbdfac3f6d685ef5252a09
|
4
|
+
data.tar.gz: 9f52631aee6181e1cb998878660d1d4a9a14bffd
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2d830cfb32aaf2c7a3e80356ee9d589b0e31f282dd4ce913f0f765b9d348b1fb2ea50fa608c9b23d751d5c439d5434f7bf15139ce1a34c28aa3d8328315a4fbe
|
7
|
+
data.tar.gz: 704f70271d7235a25911a3bc4fdb6c90a191b2e5fcbb0f80b0dca478d8aef8dad7332f7b87eaf6e9e6cd76c9f6ffd81a771059d23fe0bab20bc785b1953948b5
|
data/.rspec
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
2.1.1
|
data/bumbleworks.gemspec
CHANGED
@@ -22,9 +22,9 @@ Gem::Specification.new do |spec|
|
|
22
22
|
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.3"
|
24
24
|
spec.add_development_dependency "rake"
|
25
|
-
spec.add_development_dependency 'rspec'
|
25
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
26
26
|
spec.add_development_dependency 'watchr'
|
27
|
-
spec.add_development_dependency '
|
27
|
+
spec.add_development_dependency 'pry'
|
28
28
|
spec.add_development_dependency 'sqlite3'
|
29
29
|
spec.add_development_dependency 'simplecov'
|
30
30
|
end
|
data/lib/bumbleworks.rb
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
module Bumbleworks
|
2
2
|
class Expression
|
3
|
-
attr_reader :expid
|
3
|
+
attr_reader :expid, :fei
|
4
|
+
|
5
|
+
class << self
|
6
|
+
def from_fei(fei)
|
7
|
+
fexp = ::Ruote::Exp::FlowExpression.fetch(Bumbleworks.dashboard.context, fei)
|
8
|
+
new(fexp)
|
9
|
+
end
|
10
|
+
end
|
4
11
|
|
5
12
|
def initialize(flow_expression)
|
6
13
|
@flow_expression = flow_expression
|
@@ -8,6 +15,10 @@ module Bumbleworks
|
|
8
15
|
@expid = @fei.expid
|
9
16
|
end
|
10
17
|
|
18
|
+
def ==(other)
|
19
|
+
@fei == other.fei
|
20
|
+
end
|
21
|
+
|
11
22
|
# Returns a Bumbleworks::Process instance for the expression's
|
12
23
|
# wfid; effectively, the process instance this expression is
|
13
24
|
# a part of.
|
data/lib/bumbleworks/process.rb
CHANGED
@@ -40,6 +40,10 @@ module Bumbleworks
|
|
40
40
|
self
|
41
41
|
end
|
42
42
|
|
43
|
+
def running?
|
44
|
+
!process_status.nil?
|
45
|
+
end
|
46
|
+
|
43
47
|
alias_method :wfid, :id
|
44
48
|
|
45
49
|
def <=>(other)
|
@@ -104,6 +108,12 @@ module Bumbleworks
|
|
104
108
|
}
|
105
109
|
end
|
106
110
|
|
111
|
+
def schedules
|
112
|
+
@schedules ||= Bumbleworks.dashboard.schedules(id).map { |schedule_hash|
|
113
|
+
Bumbleworks::Schedule.new(schedule_hash)
|
114
|
+
}
|
115
|
+
end
|
116
|
+
|
107
117
|
def all_subscribed_tags
|
108
118
|
@all_subscribed_tags ||= trackers.inject({ :global => [] }) do |memo, t|
|
109
119
|
if t.global?
|
@@ -1,11 +1,25 @@
|
|
1
1
|
module Bumbleworks
|
2
2
|
class Process
|
3
3
|
class ErrorRecord
|
4
|
+
attr_reader :process_error
|
5
|
+
|
4
6
|
# The initializer takes a Ruote::ProcessError instance.
|
5
7
|
def initialize(process_error)
|
6
8
|
@process_error = process_error
|
7
9
|
end
|
8
10
|
|
11
|
+
# Replays the error's process at the point where the error occurred.
|
12
|
+
# Should only be called when the cause of the error has been fixed,
|
13
|
+
# since otherwise this will just cause the error to show up again.
|
14
|
+
def replay
|
15
|
+
Bumbleworks.dashboard.replay_at_error(@process_error)
|
16
|
+
end
|
17
|
+
|
18
|
+
# Returns the workitem at the position where this error occurred.
|
19
|
+
def workitem
|
20
|
+
@process_error.workitem
|
21
|
+
end
|
22
|
+
|
9
23
|
# Returns the FlowExpressionId of the expression where this error
|
10
24
|
# occurred.
|
11
25
|
def fei
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module Bumbleworks
|
2
|
+
class Schedule
|
3
|
+
attr_reader :id, :original_hash
|
4
|
+
|
5
|
+
class << self
|
6
|
+
def all
|
7
|
+
Bumbleworks.dashboard.schedules.map do |hsh|
|
8
|
+
new(hsh)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def count
|
13
|
+
all.count
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def initialize(schedule_hash)
|
18
|
+
@original_hash = schedule_hash
|
19
|
+
@id = @original_hash['_id']
|
20
|
+
end
|
21
|
+
|
22
|
+
def ==(other)
|
23
|
+
@id == other.id
|
24
|
+
end
|
25
|
+
|
26
|
+
def wfid
|
27
|
+
@original_hash['wfid']
|
28
|
+
end
|
29
|
+
|
30
|
+
def process
|
31
|
+
Bumbleworks::Process.new(wfid)
|
32
|
+
end
|
33
|
+
|
34
|
+
def expression
|
35
|
+
Bumbleworks::Expression.from_fei(@original_hash['owner'])
|
36
|
+
end
|
37
|
+
|
38
|
+
def repeating?
|
39
|
+
['cron', 'every'].include? expression.tree[0]
|
40
|
+
end
|
41
|
+
|
42
|
+
def once?
|
43
|
+
!repeating?
|
44
|
+
end
|
45
|
+
|
46
|
+
def next_at
|
47
|
+
Time.parse(@original_hash['at'])
|
48
|
+
end
|
49
|
+
|
50
|
+
def original_plan
|
51
|
+
@original_hash['original']
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_clause
|
55
|
+
expression.tree[1]['test']
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
data/lib/bumbleworks/task.rb
CHANGED
@@ -12,7 +12,7 @@ module Bumbleworks
|
|
12
12
|
class AvailabilityTimeout < StandardError; end
|
13
13
|
|
14
14
|
extend Forwardable
|
15
|
-
delegate [:sid, :fei, :fields, :params, :participant_name, :wfid, :wf_name] => :@workitem
|
15
|
+
delegate [:sid, :fei, :fields, :dispatched_at, :params, :participant_name, :wfid, :wf_name] => :@workitem
|
16
16
|
attr_reader :nickname, :workitem
|
17
17
|
alias_method :id, :sid
|
18
18
|
|
@@ -209,6 +209,7 @@ module Bumbleworks
|
|
209
209
|
|
210
210
|
def update_workitem
|
211
211
|
storage_participant.update(@workitem)
|
212
|
+
reload
|
212
213
|
end
|
213
214
|
|
214
215
|
def proceed_workitem
|
data/lib/bumbleworks/version.rb
CHANGED
data/lib/bumbleworks/workitem.rb
CHANGED
@@ -0,0 +1,40 @@
|
|
1
|
+
def fake_schedules
|
2
|
+
[
|
3
|
+
{
|
4
|
+
"_id" => "at-0_0!d65a8006da6d9025d48fa916071a6dc1!20140710-1001-dirisoma-rebadihe-20140718000000",
|
5
|
+
"flavour" => "at",
|
6
|
+
"original" => "2014-07-18 04:00:00",
|
7
|
+
"at" => "2014-07-18 04:00:00.000000 UTC",
|
8
|
+
"wfid" => "20140710-1001-dirisoma-rebadihe",
|
9
|
+
"put_at" => "2014-07-10 10:01:48.947039 UTC",
|
10
|
+
"action" => "reply",
|
11
|
+
"type" => nil,
|
12
|
+
"owner" => :a_flow_expression,
|
13
|
+
"target" => :a_flow_expression
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"_id" => "cron-0_0!48ec5a9db7d4c61da0ebaa968bd552c3!20140710-1016-nodemika-kudatsufu-20140710101857",
|
17
|
+
"flavour" => "cron",
|
18
|
+
"original" => "1m",
|
19
|
+
"at" => "2014-07-10 10:18:57.409405 UTC",
|
20
|
+
"wfid" => "20140710-1016-nodemika-kudatsufu",
|
21
|
+
"put_at" => "2014-07-10 10:17:57.409719 UTC",
|
22
|
+
"action" => "reply",
|
23
|
+
"type" => nil,
|
24
|
+
"owner" => :a_flow_expression,
|
25
|
+
"target" => :a_flow_expression
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"_id" => "cron-0_0!9103b81d6b2cc198ec44b1c7c6461d1e!20140710-1023-dobabako-jabufuso-20140713111500",
|
29
|
+
"flavour" => "cron",
|
30
|
+
"original" => "15 4 * * sun",
|
31
|
+
"at" => "2014-07-13 11:15:00.000000 UTC",
|
32
|
+
"wfid" => "20140710-1023-dobabako-jabufuso",
|
33
|
+
"put_at" => "2014-07-10 10:23:24.027149 UTC",
|
34
|
+
"action" => "reply",
|
35
|
+
"type" => nil,
|
36
|
+
"owner" => :a_flow_expression,
|
37
|
+
"target" => :a_flow_expression
|
38
|
+
}
|
39
|
+
]
|
40
|
+
end
|
@@ -14,7 +14,7 @@ describe 'Entity Module' do
|
|
14
14
|
Bumbleworks.entity_classes = [:geese]
|
15
15
|
FirstNewClass = Class.new { include Bumbleworks::Entity }
|
16
16
|
SecondNewClass = Class.new { include Bumbleworks::Entity }
|
17
|
-
Bumbleworks.entity_classes.
|
17
|
+
expect(Bumbleworks.entity_classes).to eq([:geese, FirstNewClass, SecondNewClass])
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
@@ -24,23 +24,23 @@ describe 'Entity Module' do
|
|
24
24
|
process = rainbow_loom.launch_process(:make_honey)
|
25
25
|
Bumbleworks.dashboard.wait_for(:dave)
|
26
26
|
task = Bumbleworks::Task.for_role('dave').first
|
27
|
-
task.entity.
|
28
|
-
process.entity.
|
27
|
+
expect(task.entity).to eq(rainbow_loom)
|
28
|
+
expect(process.entity).to eq(rainbow_loom)
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'launching links processes with identifiers' do
|
32
32
|
rainbow_loom = RainbowLoom.new('12345')
|
33
33
|
process = rainbow_loom.launch_process(:make_honey)
|
34
|
-
rainbow_loom.processes_by_name.
|
34
|
+
expect(rainbow_loom.processes_by_name).to eq({
|
35
35
|
:make_honey => process,
|
36
36
|
:make_molasses => nil
|
37
|
-
}
|
37
|
+
})
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'persists process identifier' do
|
41
41
|
rainbow_loom = RainbowLoom.new('12345')
|
42
42
|
process = rainbow_loom.launch_process(:make_honey)
|
43
|
-
rainbow_loom.make_honey_process_identifier.
|
43
|
+
expect(rainbow_loom.make_honey_process_identifier).to eq(process.wfid)
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
@@ -53,7 +53,7 @@ describe 'Entity Module' do
|
|
53
53
|
rainbow_loom = RainbowLoom.new('12345')
|
54
54
|
process = Bumbleworks.launch!('here_we_go', :entity => rainbow_loom)
|
55
55
|
Bumbleworks.dashboard.wait_for(:critic)
|
56
|
-
process.tasks.first['yum'].
|
56
|
+
expect(process.tasks.first['yum']).to eq("2 and orange")
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
@@ -7,31 +7,31 @@ describe Bumbleworks::Configuration do
|
|
7
7
|
describe '#root' do
|
8
8
|
it 'returns configured root' do
|
9
9
|
load default_initializer
|
10
|
-
Bumbleworks.root.
|
10
|
+
expect(Bumbleworks.root).to eq(default_app_path)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
14
|
describe '#definitions_directory' do
|
15
15
|
it 'returns specified directory when set in configuration' do
|
16
16
|
load specified_initializer
|
17
|
-
Bumbleworks.definitions_directory.
|
17
|
+
expect(Bumbleworks.definitions_directory).to eq(File.join(specified_app_path, 'specific_directory', 'definitions'))
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'returns default directory when not set in configuration' do
|
21
21
|
load default_initializer
|
22
|
-
Bumbleworks.definitions_directory.
|
22
|
+
expect(Bumbleworks.definitions_directory).to eq(File.join(default_app_path, 'process_definitions'))
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
26
|
describe '#participants_directory' do
|
27
27
|
it 'returns specified directory when set in configuration' do
|
28
28
|
load specified_initializer
|
29
|
-
Bumbleworks.participants_directory.
|
29
|
+
expect(Bumbleworks.participants_directory).to eq(File.join(specified_app_path, 'specific_directory', 'participants'))
|
30
30
|
end
|
31
31
|
|
32
32
|
it 'returns default directory when not set in configuration' do
|
33
33
|
load default_initializer
|
34
|
-
Bumbleworks.participants_directory.
|
34
|
+
expect(Bumbleworks.participants_directory).to eq(File.join(default_app_path, 'participants'))
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
@@ -11,20 +11,20 @@ describe 'History storage' do
|
|
11
11
|
|
12
12
|
context 'when storage allows storing history' do
|
13
13
|
before :each do
|
14
|
-
Bumbleworks.
|
14
|
+
allow(Bumbleworks).to receive_messages(:storage_adapter => HashStorageWithHistory)
|
15
15
|
load File.join(app_root, 'full_initializer.rb')
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'uses storage for history' do
|
19
|
-
Bumbleworks.dashboard.history.
|
19
|
+
expect(Bumbleworks.dashboard.history).to be_a(::Ruote::StorageHistory)
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'keeps history of messages' do
|
23
|
-
Bumbleworks::Ruote.storage.get_many('history').
|
23
|
+
expect(Bumbleworks::Ruote.storage.get_many('history')).to be_empty
|
24
24
|
process = Bumbleworks.launch!('make_honey')
|
25
25
|
Bumbleworks.dashboard.wait_for(:dave)
|
26
|
-
Bumbleworks::Ruote.storage.get_many('history').
|
27
|
-
Bumbleworks.dashboard.history.wfids.
|
26
|
+
expect(Bumbleworks::Ruote.storage.get_many('history')).not_to be_empty
|
27
|
+
expect(Bumbleworks.dashboard.history.wfids).to include(process.wfid)
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -34,15 +34,15 @@ describe 'History storage' do
|
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'does not use storage for history' do
|
37
|
-
Bumbleworks.dashboard.history.
|
37
|
+
expect(Bumbleworks.dashboard.history).to be_a(::Ruote::DefaultHistory)
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'keeps history of messages' do
|
41
|
-
Bumbleworks.dashboard.history.all.
|
41
|
+
expect(Bumbleworks.dashboard.history.all).to be_empty
|
42
42
|
process = Bumbleworks.launch!('make_honey')
|
43
43
|
Bumbleworks.dashboard.wait_for(:dave)
|
44
|
-
Bumbleworks.dashboard.history.all.
|
45
|
-
Bumbleworks.dashboard.history.wfids.
|
44
|
+
expect(Bumbleworks.dashboard.history.all).not_to be_empty
|
45
|
+
expect(Bumbleworks.dashboard.history.wfids).to include(process.wfid)
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
@@ -9,27 +9,27 @@ describe 'Bumbleworks Sample Application' do
|
|
9
9
|
|
10
10
|
describe 'initializer' do
|
11
11
|
it 'registers participants' do
|
12
|
-
Bumbleworks.dashboard.participant_list.
|
13
|
-
Bumbleworks.dashboard.participant_list.map(&:classname).
|
12
|
+
expect(Bumbleworks.dashboard.participant_list.size).to eq(5)
|
13
|
+
expect(Bumbleworks.dashboard.participant_list.map(&:classname)).to eq([
|
14
14
|
'Bumbleworks::ErrorDispatcher',
|
15
15
|
'Bumbleworks::EntityInteractor',
|
16
16
|
'HoneyParticipant',
|
17
17
|
'MolassesParticipant',
|
18
18
|
'Bumbleworks::StorageParticipant'
|
19
|
-
]
|
19
|
+
])
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'loads process definitions' do
|
23
|
-
Bumbleworks.dashboard.variables['make_honey'].
|
24
|
-
{"name"=>"make_honey"}, [["dave", {"task"=>"make_some_honey"}, []]]]
|
25
|
-
Bumbleworks.dashboard.variables['garbage_collector'].
|
26
|
-
{"name"=>"garbage_collector"}, [["george", {"ref"=>"garbage collector"}, []]]]
|
23
|
+
expect(Bumbleworks.dashboard.variables['make_honey']).to eq(["define",
|
24
|
+
{"name"=>"make_honey"}, [["dave", {"task"=>"make_some_honey"}, []]]])
|
25
|
+
expect(Bumbleworks.dashboard.variables['garbage_collector']).to eq(["define",
|
26
|
+
{"name"=>"garbage_collector"}, [["george", {"ref"=>"garbage collector"}, []]]])
|
27
27
|
|
28
|
-
Bumbleworks.dashboard.variables['make_molasses'].
|
28
|
+
expect(Bumbleworks.dashboard.variables['make_molasses']).to eq(["define",
|
29
29
|
{"name"=>"make_molasses"},
|
30
30
|
[["concurrence",
|
31
31
|
{},
|
32
|
-
[["dave", {"task"=>"make_some_molasses"}, []], ["sam", {"task"=>"taste_that_molasses"}, []]]]]]
|
32
|
+
[["dave", {"task"=>"make_some_molasses"}, []], ["sam", {"task"=>"taste_that_molasses"}, []]]]]])
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
@@ -37,15 +37,15 @@ describe 'Bumbleworks Sample Application' do
|
|
37
37
|
it 'waits for first task in catchall participant' do
|
38
38
|
Bumbleworks.launch!('make_honey')
|
39
39
|
Bumbleworks.dashboard.wait_for(:dave)
|
40
|
-
Bumbleworks::Task.
|
40
|
+
expect(Bumbleworks::Task.size).to eq(1)
|
41
41
|
end
|
42
42
|
|
43
43
|
it 'creates tasks for concurrent workflows' do
|
44
44
|
Bumbleworks.launch!('make_molasses')
|
45
45
|
Bumbleworks.dashboard.wait_for(:dave)
|
46
|
-
Bumbleworks::Task.
|
47
|
-
Bumbleworks::Task.for_role('dave').
|
48
|
-
Bumbleworks::Task.for_role('sam').
|
46
|
+
expect(Bumbleworks::Task.size).to eq(2)
|
47
|
+
expect(Bumbleworks::Task.for_role('dave').size).to eq(1)
|
48
|
+
expect(Bumbleworks::Task.for_role('sam').size).to eq(1)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
@@ -55,7 +55,7 @@ describe 'Bumbleworks Sample Application' do
|
|
55
55
|
Bumbleworks.dashboard.wait_for(:dave)
|
56
56
|
task = Bumbleworks::Task.for_role('dave').first
|
57
57
|
task.update('happening' => 'update')
|
58
|
-
task['what_happened'].
|
58
|
+
expect(task['what_happened']).to eq('update')
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
@@ -64,7 +64,7 @@ describe 'Bumbleworks Sample Application' do
|
|
64
64
|
Bumbleworks.launch!('make_honey')
|
65
65
|
Bumbleworks.dashboard.wait_for(:dave)
|
66
66
|
task = Bumbleworks::Task.for_role('dave').first
|
67
|
-
task['i_was_dispatched'].
|
67
|
+
expect(task['i_was_dispatched']).to eq('yes_i_was')
|
68
68
|
end
|
69
69
|
end
|
70
70
|
end
|