rules_engine 0.1.6 → 0.1.7
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.
- data/VERSION +1 -1
- data/lib/rules_engine/process/auditor/db_auditor.rb +1 -0
- data/lib/rules_engine/rule/outcome.rb +1 -0
- data/rails_generators/manifests/complex.rb +4 -1
- data/rails_generators/manifests/complex.yml +0 -1
- data/rails_generators/manifests/rules_engine.rb +15 -2
- data/rails_generators/manifests/rules_engine.yml +0 -2
- data/rails_generators/manifests/simple.rb +4 -1
- data/rails_generators/manifests/simple.yml +0 -1
- data/rails_generators/templates/app/controllers/re_plan_workflows_controller.rb +30 -5
- data/rails_generators/templates/app/controllers/re_plans_controller.rb +26 -2
- data/rails_generators/templates/app/controllers/re_workflows_controller.rb +27 -2
- data/rails_generators/templates/app/models/re_rule.rb +0 -30
- data/rails_generators/templates/app/rules/complex.rb +3 -3
- data/rails_generators/templates/app/views/re_plan_workflows/change.html.erb +6 -2
- data/rails_generators/templates/app/views/re_plan_workflows/copy.html.erb +12 -0
- data/rails_generators/templates/app/views/re_plan_workflows/copy.js.erb +8 -0
- data/rails_generators/templates/app/views/re_plan_workflows/new.js.erb +5 -1
- data/rails_generators/templates/app/views/re_plan_workflows/show.html.erb +3 -2
- data/rails_generators/templates/app/views/re_plans/_copy.html.erb +18 -0
- data/rails_generators/templates/app/views/re_plans/_preview.html.erb +1 -1
- data/rails_generators/templates/app/views/re_plans/_workflow_preview.html.erb +1 -3
- data/rails_generators/templates/app/views/re_plans/change.html.erb +6 -0
- data/rails_generators/templates/app/views/re_plans/copy.html.erb +11 -0
- data/rails_generators/templates/app/views/re_plans/copy.js.erb +9 -0
- data/rails_generators/templates/app/views/re_plans/new.js.erb +4 -1
- data/rails_generators/templates/app/views/re_plans/show.html.erb +1 -1
- data/rails_generators/templates/app/views/re_rule_definitions/complex/_form.html.erb +2 -2
- data/rails_generators/templates/app/views/re_rule_definitions/simple/_form.html.erb +1 -1
- data/rails_generators/templates/app/views/re_workflows/_copy.html.erb +21 -0
- data/rails_generators/templates/app/views/re_workflows/_rule_change.html.erb +11 -14
- data/rails_generators/templates/app/views/re_workflows/_rule_preview.html.erb +14 -17
- data/rails_generators/templates/app/views/re_workflows/_rule_show.html.erb +13 -16
- data/rails_generators/templates/app/views/re_workflows/_show.html.erb +1 -3
- data/rails_generators/templates/app/views/re_workflows/change.html.erb +5 -0
- data/rails_generators/templates/app/views/re_workflows/copy.html.erb +11 -0
- data/rails_generators/templates/app/views/re_workflows/copy.js.erb +8 -0
- data/rails_generators/templates/app/views/re_workflows/index.html.erb +1 -1
- data/rails_generators/templates/app/views/re_workflows/preview.html.erb +1 -0
- data/rails_generators/templates/app/views/re_workflows/show.html.erb +3 -2
- data/rails_generators/templates/app/views/re_workflows/update.js.erb +1 -1
- data/rails_generators/templates/db/migrate/20100308225008_create_rules_engine.rb +0 -13
- data/rails_generators/templates/doc/README.rules_engine +7 -6
- data/rails_generators/templates/lib/tasks/rules_engine.rake +2 -2
- data/rails_generators/templates/public/javascripts/rules_engine/re_plan_change.js +20 -0
- data/rails_generators/templates/public/javascripts/rules_engine/re_plan_new.js +2 -8
- data/rails_generators/templates/public/javascripts/rules_engine/re_workflow_add.js +3 -12
- data/rails_generators/templates/public/javascripts/rules_engine/re_workflow_change.js +23 -4
- data/rails_generators/templates/public/javascripts/rules_engine/re_workflow_new.js +2 -8
- data/rails_generators/templates/public/javascripts/rules_engine/re_workflow_show.js +22 -0
- data/rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_plan/copy-25.png +0 -0
- data/rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_workflow/copy-25.png +0 -0
- data/rails_generators/templates/public/stylesheets/rules_engine/screen.css +52 -1
- data/rails_generators/templates/spec/lib/rules/complex_spec.rb +46 -41
- data/rails_generators/templates/spec/lib/rules/simple_spec.rb +41 -35
- data/rails_generators/templates/spec/models/re_rule_spec.rb +12 -74
- metadata +15 -6
- data/rails_generators/templates/app/models/re_rule_expected_outcome.rb +0 -14
- data/rails_generators/templates/spec/models/re_rule_expected_outcome_spec.rb +0 -29
@@ -144,11 +144,15 @@ describe RulesEngine::Rule::Simple do
|
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
|
-
describe "
|
147
|
+
describe "before a rule is created" do
|
148
148
|
# xit "There is nothing to do here"
|
149
149
|
end
|
150
150
|
|
151
|
-
describe "
|
151
|
+
describe "before a rule is updated" do
|
152
|
+
# xit "There is nothing to do here"
|
153
|
+
end
|
154
|
+
|
155
|
+
describe "before a rule is destroyed" do
|
152
156
|
# xit "There is nothing to do here"
|
153
157
|
end
|
154
158
|
|
@@ -164,48 +168,50 @@ end
|
|
164
168
|
describe ReWorkflowRulesController, :type => :controller do
|
165
169
|
integrate_views
|
166
170
|
|
167
|
-
|
168
|
-
|
171
|
+
describe "RulesEngine::Rule::Simple" do
|
172
|
+
|
173
|
+
before(:each) do
|
174
|
+
controller.instance_eval { flash.stub!(:sweep) }
|
169
175
|
|
170
|
-
|
176
|
+
RulesEngine::Discovery.discover!
|
171
177
|
|
172
|
-
|
173
|
-
|
178
|
+
controller.stub!(:rules_engine_reader_access_required).and_return(true)
|
179
|
+
controller.stub!(:rules_engine_editor_access_required).and_return(true)
|
174
180
|
|
175
|
-
|
176
|
-
|
177
|
-
|
181
|
+
@re_workflow = ReWorkflow.make
|
182
|
+
ReWorkflow.stub!(:find).and_return(@re_workflow)
|
183
|
+
end
|
178
184
|
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
185
|
+
describe "help" do
|
186
|
+
it "should assign the <%=rule_name%> rule class" do
|
187
|
+
get :help, :rule_class_name => "RulesEngine::Rule::Simple"
|
188
|
+
assigns[:rule_class].should == RulesEngine::Rule::Simple
|
189
|
+
end
|
183
190
|
end
|
184
|
-
end
|
185
191
|
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
192
|
+
describe "new" do
|
193
|
+
it "show the new form" do
|
194
|
+
get :new, :rule_class_name => "RulesEngine::Rule::Simple"
|
195
|
+
response.should have_tag("form#re_rule_new_form") do
|
196
|
+
with_tag("input#<%=rule_name%>_title")
|
197
|
+
with_tag("input#<%=rule_name%>_description")
|
198
|
+
end
|
199
|
+
end
|
193
200
|
end
|
194
|
-
end
|
195
201
|
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
+
describe "edit" do
|
203
|
+
it "show the edit form" do
|
204
|
+
re_rule = ReRule.make(:re_workflow_id => @re_workflow.id,
|
205
|
+
:rule_class_name => "RulesEngine::Rule::Simple",
|
206
|
+
:data => valid_<%=rule_name%>_rule_data)
|
207
|
+
ReRule.stub!(:find).and_return(re_rule)
|
202
208
|
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
209
|
+
get :edit, :re_workflow_id => @re_workflow.id, :re_rule_id => 1001, :rule_class_name => "RulesEngine::Rule::Simple"
|
210
|
+
response.should have_tag("form#re_rule_edit_form") do
|
211
|
+
with_tag("input#<%=rule_name%>_title", :value => 'Rule Title')
|
212
|
+
with_tag("input#<%=rule_name%>_description", :value => 'Rule Description')
|
213
|
+
end
|
214
|
+
end
|
208
215
|
end
|
209
216
|
end
|
210
|
-
|
211
217
|
end
|
@@ -18,7 +18,6 @@ describe ReRule do
|
|
18
18
|
@rule.stub!(:before_create)
|
19
19
|
@rule.stub!(:before_update)
|
20
20
|
@rule.stub!(:before_destroy)
|
21
|
-
@rule.stub!(:expected_outcomes).and_return([])
|
22
21
|
@rule.stub!(:valid?).and_return(true)
|
23
22
|
@rule_class = mock("MockRuleClass")
|
24
23
|
@rule_class.stub!(:new).and_return(@rule)
|
@@ -34,7 +33,6 @@ describe ReRule do
|
|
34
33
|
end
|
35
34
|
|
36
35
|
should_belong_to :re_workflow
|
37
|
-
should_have_many :re_rule_expected_outcomes
|
38
36
|
should_validate_presence_of :rule_class_name
|
39
37
|
|
40
38
|
describe "validate the rule" do
|
@@ -142,15 +140,6 @@ describe ReRule do
|
|
142
140
|
@re_rule.save
|
143
141
|
@re_rule.data.should == "rule data"
|
144
142
|
end
|
145
|
-
|
146
|
-
it "should set the expected outcomes to the expected outcomes generated by the rule" do
|
147
|
-
re_rule_expected_outcome = ReRuleExpectedOutcome.new
|
148
|
-
ReRuleExpectedOutcome.should_receive(:new).with(:outcome => 101, :workflow_code => "one").and_return(re_rule_expected_outcome)
|
149
|
-
ReRuleExpectedOutcome.should_receive(:new).with(:outcome => 202, :workflow_code => "two").and_return(re_rule_expected_outcome)
|
150
|
-
@rule.stub(:expected_outcomes).and_return([{:outcome => 101, :workflow_code => "one"}, {:outcome => 202, :workflow_code => "two"}])
|
151
|
-
@re_rule.save
|
152
|
-
@re_rule.re_rule_expected_outcomes.should == [re_rule_expected_outcome, re_rule_expected_outcome]
|
153
|
-
end
|
154
143
|
end
|
155
144
|
end
|
156
145
|
|
@@ -186,44 +175,6 @@ describe ReRule do
|
|
186
175
|
end
|
187
176
|
end
|
188
177
|
|
189
|
-
describe "rule outcomes available" do
|
190
|
-
before(:each) do
|
191
|
-
@re_rule = ReRule.new
|
192
|
-
end
|
193
|
-
|
194
|
-
it "should return the first outcome that is a OUTCOME_NEXT" do
|
195
|
-
outcome_1 = ReRuleExpectedOutcome.new(:outcome => RulesEngine::Rule::Outcome::NEXT)
|
196
|
-
outcome_2 = ReRuleExpectedOutcome.new(:outcome => RulesEngine::Rule::Outcome::NEXT)
|
197
|
-
@re_rule.re_rule_expected_outcomes << outcome_1
|
198
|
-
@re_rule.re_rule_expected_outcomes << outcome_2
|
199
|
-
@re_rule.re_rule_expected_outcome_next.should == outcome_1
|
200
|
-
end
|
201
|
-
|
202
|
-
it "should return the first outcome that is a OUTCOME_STOP_SUCCESS" do
|
203
|
-
outcome_1 = ReRuleExpectedOutcome.new(:outcome => RulesEngine::Rule::Outcome::STOP_SUCCESS)
|
204
|
-
outcome_2 = ReRuleExpectedOutcome.new(:outcome => RulesEngine::Rule::Outcome::STOP_SUCCESS)
|
205
|
-
@re_rule.re_rule_expected_outcomes << outcome_1
|
206
|
-
@re_rule.re_rule_expected_outcomes << outcome_2
|
207
|
-
@re_rule.re_rule_expected_outcome_success.should == outcome_1
|
208
|
-
end
|
209
|
-
|
210
|
-
it "should return the first outcome that is a OUTCOME_STOP_FAILURE" do
|
211
|
-
outcome_1 = ReRuleExpectedOutcome.new(:outcome => RulesEngine::Rule::Outcome::STOP_FAILURE)
|
212
|
-
outcome_2 = ReRuleExpectedOutcome.new(:outcome => RulesEngine::Rule::Outcome::STOP_FAILURE)
|
213
|
-
@re_rule.re_rule_expected_outcomes << outcome_1
|
214
|
-
@re_rule.re_rule_expected_outcomes << outcome_2
|
215
|
-
@re_rule.re_rule_expected_outcome_failure.should == outcome_1
|
216
|
-
end
|
217
|
-
|
218
|
-
it "should return all outcomes that are a OUTCOME_START_WORKFLOW" do
|
219
|
-
outcome_1 = ReRuleExpectedOutcome.new(:outcome => RulesEngine::Rule::Outcome::START_WORKFLOW)
|
220
|
-
outcome_2 = ReRuleExpectedOutcome.new(:outcome => RulesEngine::Rule::Outcome::START_WORKFLOW)
|
221
|
-
@re_rule.re_rule_expected_outcomes << outcome_1
|
222
|
-
@re_rule.re_rule_expected_outcomes << outcome_2
|
223
|
-
@re_rule.re_rule_expected_outcomes_start_workflow.should == [outcome_1, outcome_2]
|
224
|
-
end
|
225
|
-
end
|
226
|
-
|
227
178
|
describe "checking for rule errors" do
|
228
179
|
before(:each) do
|
229
180
|
@rule = mock("Rule", :valid? => true)
|
@@ -237,32 +188,20 @@ describe ReRule do
|
|
237
188
|
@re_rule.rule_error.should == "class MockRuleClass missing"
|
238
189
|
end
|
239
190
|
|
240
|
-
it "should
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
end
|
245
|
-
|
246
|
-
it "should validate the workflow is present and activated" do
|
247
|
-
re_rule_expected_outcome = mock_model(ReRuleExpectedOutcome, :workflow_code => "mock_workflow_code", :outcome => RulesEngine::Rule::Outcome::START_WORKFLOW)
|
248
|
-
ReWorkflow.should_receive(:find_by_code).and_return(mock("ReWorkflow", :workflow_error => nil))
|
249
|
-
@re_rule.stub!(:re_rule_expected_outcomes).and_return([re_rule_expected_outcome])
|
250
|
-
@re_rule.rule_error.should be_nil
|
251
|
-
end
|
191
|
+
# it "should validate the workflow is present and published" do
|
192
|
+
# ReWorkflow.should_receive(:find_by_code).and_return(mock("ReWorkflow", :workflow_error => nil))
|
193
|
+
# @re_rule.rule_error.should be_nil
|
194
|
+
# end
|
252
195
|
|
253
|
-
it "should return '[workflow_code] missing' if the required workflow is missing" do
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
@re_rule.rule_error.should == "mock_workflow_code missing"
|
258
|
-
end
|
196
|
+
# it "should return '[workflow_code] missing' if the required workflow is missing" do
|
197
|
+
# ReWorkflow.should_receive(:find_by_code).and_return(nil)
|
198
|
+
# @re_rule.rule_error.should == "mock_workflow_code missing"
|
199
|
+
# end
|
259
200
|
|
260
|
-
it "should return '[workflow_code] invalid' if the required workflow has errors" do
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
@re_rule.rule_error.should == "mock_workflow_code invalid"
|
265
|
-
end
|
201
|
+
# it "should return '[workflow_code] invalid' if the required workflow has errors" do
|
202
|
+
# ReWorkflow.should_receive(:find_by_code).and_return(mock("ReWorkflow", :workflow_error => "workflow error"))
|
203
|
+
# @re_rule.rule_error.should == "mock_workflow_code invalid"
|
204
|
+
# end
|
266
205
|
|
267
206
|
end
|
268
207
|
|
@@ -305,7 +244,6 @@ describe ReRule do
|
|
305
244
|
|
306
245
|
it "should set the rule based on the data" do
|
307
246
|
re_rule = ReRule.new
|
308
|
-
RulesEngine::Discovery.should_receive(:rule_class).with('mock_rule_class_name').and_return(@rule_class)
|
309
247
|
|
310
248
|
re_rule.revert!({
|
311
249
|
"rule_class_name" => 'mock_rule_class_name',
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rules_engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 7
|
10
|
+
version: 0.1.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Chris Douglas
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-07-
|
18
|
+
date: 2010-07-29 00:00:00 +10:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -86,7 +86,6 @@ files:
|
|
86
86
|
- rails_generators/templates/app/models/re_plan.rb
|
87
87
|
- rails_generators/templates/app/models/re_plan_workflow.rb
|
88
88
|
- rails_generators/templates/app/models/re_rule.rb
|
89
|
-
- rails_generators/templates/app/models/re_rule_expected_outcome.rb
|
90
89
|
- rails_generators/templates/app/models/re_workflow.rb
|
91
90
|
- rails_generators/templates/app/rules/complex.rb
|
92
91
|
- rails_generators/templates/app/rules/simple.rb
|
@@ -101,6 +100,8 @@ files:
|
|
101
100
|
- rails_generators/templates/app/views/re_plan_workflow_rules/new.js.erb
|
102
101
|
- rails_generators/templates/app/views/re_plan_workflow_rules/update.js.erb
|
103
102
|
- rails_generators/templates/app/views/re_plan_workflows/change.html.erb
|
103
|
+
- rails_generators/templates/app/views/re_plan_workflows/copy.html.erb
|
104
|
+
- rails_generators/templates/app/views/re_plan_workflows/copy.js.erb
|
104
105
|
- rails_generators/templates/app/views/re_plan_workflows/edit.html.erb
|
105
106
|
- rails_generators/templates/app/views/re_plan_workflows/edit.js.erb
|
106
107
|
- rails_generators/templates/app/views/re_plan_workflows/new.html.erb
|
@@ -108,6 +109,7 @@ files:
|
|
108
109
|
- rails_generators/templates/app/views/re_plan_workflows/show.html.erb
|
109
110
|
- rails_generators/templates/app/views/re_plan_workflows/update.js.erb
|
110
111
|
- rails_generators/templates/app/views/re_plans/_change.html.erb
|
112
|
+
- rails_generators/templates/app/views/re_plans/_copy.html.erb
|
111
113
|
- rails_generators/templates/app/views/re_plans/_edit.html.erb
|
112
114
|
- rails_generators/templates/app/views/re_plans/_empty.html.erb
|
113
115
|
- rails_generators/templates/app/views/re_plans/_index.html.erb
|
@@ -119,6 +121,8 @@ files:
|
|
119
121
|
- rails_generators/templates/app/views/re_plans/_workflow_preview.html.erb
|
120
122
|
- rails_generators/templates/app/views/re_plans/_workflow_show.html.erb
|
121
123
|
- rails_generators/templates/app/views/re_plans/change.html.erb
|
124
|
+
- rails_generators/templates/app/views/re_plans/copy.html.erb
|
125
|
+
- rails_generators/templates/app/views/re_plans/copy.js.erb
|
122
126
|
- rails_generators/templates/app/views/re_plans/create.js.erb
|
123
127
|
- rails_generators/templates/app/views/re_plans/edit.html.erb
|
124
128
|
- rails_generators/templates/app/views/re_plans/edit.js.erb
|
@@ -168,6 +172,7 @@ files:
|
|
168
172
|
- rails_generators/templates/app/views/re_workflow_rules/update.js.erb
|
169
173
|
- rails_generators/templates/app/views/re_workflows/_add_prepare.html.erb
|
170
174
|
- rails_generators/templates/app/views/re_workflows/_add_update.html.erb
|
175
|
+
- rails_generators/templates/app/views/re_workflows/_copy.html.erb
|
171
176
|
- rails_generators/templates/app/views/re_workflows/_edit.html.erb
|
172
177
|
- rails_generators/templates/app/views/re_workflows/_empty.html.erb
|
173
178
|
- rails_generators/templates/app/views/re_workflows/_index.html.erb
|
@@ -184,6 +189,8 @@ files:
|
|
184
189
|
- rails_generators/templates/app/views/re_workflows/add.html.erb
|
185
190
|
- rails_generators/templates/app/views/re_workflows/add.js.erb
|
186
191
|
- rails_generators/templates/app/views/re_workflows/change.html.erb
|
192
|
+
- rails_generators/templates/app/views/re_workflows/copy.html.erb
|
193
|
+
- rails_generators/templates/app/views/re_workflows/copy.js.erb
|
187
194
|
- rails_generators/templates/app/views/re_workflows/create.js.erb
|
188
195
|
- rails_generators/templates/app/views/re_workflows/edit.html.erb
|
189
196
|
- rails_generators/templates/app/views/re_workflows/edit.js.erb
|
@@ -226,6 +233,7 @@ files:
|
|
226
233
|
- rails_generators/templates/public/javascripts/rules_engine/re_workflow_new.js
|
227
234
|
- rails_generators/templates/public/javascripts/rules_engine/re_workflow_plan.js
|
228
235
|
- rails_generators/templates/public/javascripts/rules_engine/re_workflow_preview.js
|
236
|
+
- rails_generators/templates/public/javascripts/rules_engine/re_workflow_show.js
|
229
237
|
- rails_generators/templates/public/stylesheets/blueprint/ie.css
|
230
238
|
- rails_generators/templates/public/stylesheets/blueprint/plugins/buttons/icons/cross.png
|
231
239
|
- rails_generators/templates/public/stylesheets/blueprint/plugins/buttons/icons/key.png
|
@@ -316,6 +324,7 @@ files:
|
|
316
324
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_common/status-verify-25.png
|
317
325
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_plan/alert-25.png
|
318
326
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_plan/change-25.png
|
327
|
+
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_plan/copy-25.png
|
319
328
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_plan/delete-25.png
|
320
329
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_plan/edit-25.png
|
321
330
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_plan/list-25.png
|
@@ -358,6 +367,7 @@ files:
|
|
358
367
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_workflow/alert-25.png
|
359
368
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_workflow/change-18.png
|
360
369
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_workflow/change-25.png
|
370
|
+
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_workflow/copy-25.png
|
361
371
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_workflow/delete-25.png
|
362
372
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_workflow/edit-25.png
|
363
373
|
- rails_generators/templates/public/stylesheets/rules_engine/images/rules_engine/re_workflow/is-default-18.png
|
@@ -379,7 +389,6 @@ files:
|
|
379
389
|
- rails_generators/templates/spec/lib/rules/simple_spec.rb
|
380
390
|
- rails_generators/templates/spec/models/re_plan_spec.rb
|
381
391
|
- rails_generators/templates/spec/models/re_plan_workflow_spec.rb
|
382
|
-
- rails_generators/templates/spec/models/re_rule_expected_outcome_spec.rb
|
383
392
|
- rails_generators/templates/spec/models/re_rule_spec.rb
|
384
393
|
- rails_generators/templates/spec/models/re_workflow_spec.rb
|
385
394
|
- rails_generators/templates/spec/support/rules_engine_blueprints.rb
|
@@ -1,14 +0,0 @@
|
|
1
|
-
class ReRuleExpectedOutcome < ActiveRecord::Base
|
2
|
-
belongs_to :re_rule
|
3
|
-
|
4
|
-
validates_associated :re_rule
|
5
|
-
validates_presence_of :outcome
|
6
|
-
|
7
|
-
def validate
|
8
|
-
if outcome == RulesEngine::Rule::Outcome::START_WORKFLOW && workflow_code.blank?
|
9
|
-
errors.add(:workflow_code, "workflow code required")
|
10
|
-
else
|
11
|
-
true
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
-
|
3
|
-
describe ReRuleExpectedOutcome do
|
4
|
-
def valid_attributes
|
5
|
-
{
|
6
|
-
:outcome => RulesEngine::Rule::Outcome::NEXT
|
7
|
-
}
|
8
|
-
end
|
9
|
-
|
10
|
-
it "should be valid with valid attributes" do
|
11
|
-
ReRuleExpectedOutcome.new(valid_attributes).should be_valid
|
12
|
-
end
|
13
|
-
|
14
|
-
should_validate_presence_of :outcome
|
15
|
-
|
16
|
-
describe "START WORKFLOW" do
|
17
|
-
it "should be invalid when the outcome workflow code is blank" do
|
18
|
-
re_rule_expected_outcome = ReRuleExpectedOutcome.new(:outcome => RulesEngine::Rule::Outcome::START_WORKFLOW)
|
19
|
-
re_rule_expected_outcome.should_not be_valid
|
20
|
-
re_rule_expected_outcome.errors.on(:workflow_code).should_not be_blank
|
21
|
-
end
|
22
|
-
|
23
|
-
it "should be valid when outcome workflow code is present" do
|
24
|
-
re_rule_expected_outcome = ReRuleExpectedOutcome.new(:outcome => RulesEngine::Rule::Outcome::START_WORKFLOW, :workflow_code => "mock code")
|
25
|
-
re_rule_expected_outcome.should be_valid
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|