admin_module 0.1.4

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.
Files changed (141) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +14 -0
  5. data/Guardfile +24 -0
  6. data/LICENSE +22 -0
  7. data/README.md +281 -0
  8. data/Rakefile +98 -0
  9. data/admin_module.gemspec +34 -0
  10. data/bin/admin_module +13 -0
  11. data/lib/admin_module.rb +260 -0
  12. data/lib/admin_module/cli.rb +54 -0
  13. data/lib/admin_module/cli/cli_guideline.rb +80 -0
  14. data/lib/admin_module/cli/cli_lock.rb +149 -0
  15. data/lib/admin_module/cli/cli_parameter.rb +66 -0
  16. data/lib/admin_module/cli/cli_task.rb +149 -0
  17. data/lib/admin_module/cli_old.rb +92 -0
  18. data/lib/admin_module/client.rb +146 -0
  19. data/lib/admin_module/command.rb +25 -0
  20. data/lib/admin_module/command/client_access.rb +43 -0
  21. data/lib/admin_module/command/config.rb +310 -0
  22. data/lib/admin_module/command/dc.rb +110 -0
  23. data/lib/admin_module/command/gdl.rb +71 -0
  24. data/lib/admin_module/command/lock.rb +110 -0
  25. data/lib/admin_module/command/ppm.rb +142 -0
  26. data/lib/admin_module/command/rule.rb +77 -0
  27. data/lib/admin_module/command/ruleset.rb +56 -0
  28. data/lib/admin_module/command/snapshot.rb +110 -0
  29. data/lib/admin_module/command/stage.rb +131 -0
  30. data/lib/admin_module/command/task.rb +110 -0
  31. data/lib/admin_module/config_helper.rb +33 -0
  32. data/lib/admin_module/dc.rb +133 -0
  33. data/lib/admin_module/guideline.rb +86 -0
  34. data/lib/admin_module/locks.rb +142 -0
  35. data/lib/admin_module/page_factory.rb +55 -0
  36. data/lib/admin_module/pages.rb +120 -0
  37. data/lib/admin_module/pages/dc_definitions_page.rb +73 -0
  38. data/lib/admin_module/pages/dc_detail_page.rb +187 -0
  39. data/lib/admin_module/pages/guideline_page.rb +35 -0
  40. data/lib/admin_module/pages/guideline_version_page.rb +140 -0
  41. data/lib/admin_module/pages/guidelines_page.rb +59 -0
  42. data/lib/admin_module/pages/guidelines_version_all_page.rb +116 -0
  43. data/lib/admin_module/pages/lock_definition_page.rb +178 -0
  44. data/lib/admin_module/pages/lock_definitions_page.rb +69 -0
  45. data/lib/admin_module/pages/login_page.rb +75 -0
  46. data/lib/admin_module/pages/parameter_page.rb +62 -0
  47. data/lib/admin_module/pages/parameters_page.rb +46 -0
  48. data/lib/admin_module/pages/ppms_page.rb +110 -0
  49. data/lib/admin_module/pages/rule_page.rb +68 -0
  50. data/lib/admin_module/pages/rules_page.rb +74 -0
  51. data/lib/admin_module/pages/ruleset_page.rb +64 -0
  52. data/lib/admin_module/pages/rulesets_page.rb +60 -0
  53. data/lib/admin_module/pages/select_list_syncable.rb +64 -0
  54. data/lib/admin_module/pages/snapshot_definitions_page.rb +73 -0
  55. data/lib/admin_module/pages/snapshot_detail_page.rb +246 -0
  56. data/lib/admin_module/pages/workflow_detail_page.rb +451 -0
  57. data/lib/admin_module/pages/workflow_detail_task_addl_detail_page.rb +172 -0
  58. data/lib/admin_module/pages/workflow_detail_task_mappings_page.rb +163 -0
  59. data/lib/admin_module/pages/workflow_detail_task_screens_page.rb +75 -0
  60. data/lib/admin_module/pages/workflow_details_page.rb +67 -0
  61. data/lib/admin_module/pages/workflow_task_page.rb +107 -0
  62. data/lib/admin_module/pages/workflow_tasks_page.rb +111 -0
  63. data/lib/admin_module/ppms.rb +78 -0
  64. data/lib/admin_module/rake.rb +22 -0
  65. data/lib/admin_module/rake/dc_tasks.rb +185 -0
  66. data/lib/admin_module/rake/deploy_task.rb +59 -0
  67. data/lib/admin_module/rake/gdl_tasks.rb +189 -0
  68. data/lib/admin_module/rake/lock_tasks.rb +189 -0
  69. data/lib/admin_module/rake/parameter_task.rb +86 -0
  70. data/lib/admin_module/rake/ppm_tasks.rb +248 -0
  71. data/lib/admin_module/rake/rule_tasks.rb +157 -0
  72. data/lib/admin_module/rake/snapshot_tasks.rb +223 -0
  73. data/lib/admin_module/rake/stage_tasks.rb +197 -0
  74. data/lib/admin_module/rake/stages_task.rb +197 -0
  75. data/lib/admin_module/rake/task_tasks.rb +189 -0
  76. data/lib/admin_module/rules.rb +50 -0
  77. data/lib/admin_module/rulesets.rb +42 -0
  78. data/lib/admin_module/snapshots.rb +133 -0
  79. data/lib/admin_module/stages.rb +171 -0
  80. data/lib/admin_module/tasks.rb +147 -0
  81. data/lib/admin_module/version.rb +3 -0
  82. data/old_spec/lib/admin_module/cli_configuration_spec.rb +126 -0
  83. data/old_spec/lib/admin_module/cli_create_stage_spec.rb +89 -0
  84. data/old_spec/lib/admin_module/cli_delete_rule_spec.rb +57 -0
  85. data/old_spec/lib/admin_module/cli_deploy_spec.rb +57 -0
  86. data/old_spec/lib/admin_module/cli_export_locks_spec.rb +62 -0
  87. data/old_spec/lib/admin_module/cli_export_stages_spec.rb +62 -0
  88. data/old_spec/lib/admin_module/cli_guidelines_version_all_spec.rb +58 -0
  89. data/old_spec/lib/admin_module/cli_import_locks_spec.rb +153 -0
  90. data/old_spec/lib/admin_module/cli_import_stages_spec.rb +173 -0
  91. data/old_spec/lib/admin_module/cli_modify_locks_spec.rb +128 -0
  92. data/old_spec/lib/admin_module/cli_modify_stages_spec.rb +88 -0
  93. data/old_spec/lib/admin_module/cli_rename_rule_spec.rb +53 -0
  94. data/old_spec/lib/admin_module/cli_rename_ruleset_spec.rb +53 -0
  95. data/old_spec/lib/admin_module/cli_var_spec.rb +41 -0
  96. data/old_spec/lib/admin_module/rake/deploy_task_spec.rb +85 -0
  97. data/old_spec/lib/admin_module/rake/parameter_task_spec.rb +58 -0
  98. data/old_spec/lib/admin_module/rake/rules_task_spec.rb +75 -0
  99. data/spec/data/build/test1.xml +0 -0
  100. data/spec/data/build/test2.xml +1 -0
  101. data/spec/data/import_dcs.yml +31 -0
  102. data/spec/data/import_locks.yml +4 -0
  103. data/spec/data/import_snapshots.yml +35 -0
  104. data/spec/data/import_stages.yml +4 -0
  105. data/spec/data/import_tasks.yml +25 -0
  106. data/spec/data/patch-test.xml +1 -0
  107. data/spec/data/remove_test_del_rule.xml +1 -0
  108. data/spec/data/stages.yml +518 -0
  109. data/spec/data/test_del_rule.xml +1 -0
  110. data/spec/lib/admin_module/admin_module_spec.rb +175 -0
  111. data/spec/lib/admin_module/cli_spec.rb +36 -0
  112. data/spec/lib/admin_module/client_spec.rb +158 -0
  113. data/spec/lib/admin_module/command/config_spec.rb +477 -0
  114. data/spec/lib/admin_module/command/dc_spec.rb +202 -0
  115. data/spec/lib/admin_module/command/gdl_spec.rb +139 -0
  116. data/spec/lib/admin_module/command/lock_spec.rb +207 -0
  117. data/spec/lib/admin_module/command/rule_spec.rb +163 -0
  118. data/spec/lib/admin_module/command/ruleset_spec.rb +124 -0
  119. data/spec/lib/admin_module/command/snapshot_spec.rb +202 -0
  120. data/spec/lib/admin_module/command/stage_spec.rb +259 -0
  121. data/spec/lib/admin_module/command/task_spec.rb +207 -0
  122. data/spec/lib/admin_module/dc_spec.rb +192 -0
  123. data/spec/lib/admin_module/guideline_spec.rb +177 -0
  124. data/spec/lib/admin_module/locks_spec.rb +188 -0
  125. data/spec/lib/admin_module/rules_spec.rb +110 -0
  126. data/spec/lib/admin_module/rulesets_spec.rb +85 -0
  127. data/spec/lib/admin_module/snapshot_spec.rb +192 -0
  128. data/spec/lib/admin_module/stages_spec.rb +179 -0
  129. data/spec/lib/admin_module/tasks_spec.rb +196 -0
  130. data/spec/spec_helper.rb +54 -0
  131. data/spec/support/asserts.rb +13 -0
  132. data/spec/support/data_clearing.rb +28 -0
  133. data/spec/support/dirs.rb +54 -0
  134. data/spec/support/helpers.rb +83 -0
  135. data/spec/support/lock.rb +23 -0
  136. data/spec/support/mocks.rb +213 -0
  137. data/spec/support/snapshot.rb +28 -0
  138. data/spec/support/stage.rb +22 -0
  139. data/spec/support/stage_factory.rb +138 -0
  140. data/spec/support/task.rb +23 -0
  141. metadata +381 -0
@@ -0,0 +1,196 @@
1
+ require 'pathname'
2
+ require Pathname(__FILE__).ascend{|d| h=d+'spec_helper.rb'; break h if h.file?}
3
+
4
+ # See support/task.rb
5
+ #def create_task_hash name
6
+ # { name: name,
7
+ # schedule: "To-Do",
8
+ # priority: "Normal",
9
+ # due_days: 2,
10
+ # due_hours: "0",
11
+ # due_minutes: "00",
12
+ # followup: "",
13
+ # assigned_to: "Negotiator",
14
+ # fees_assigned: "0.00",
15
+ # task_description: "#{name} task description",
16
+ # letter_agreement: "",
17
+ # }
18
+ #end
19
+
20
+ describe AdminModule::Tasks do
21
+
22
+ context "api" do
23
+
24
+ let(:task_list) { ['TstTask1', 'TstTask2'] }
25
+
26
+ let(:tasks_page_stub) do
27
+ obj = double('tasks_page')
28
+ allow(obj).to receive(:get_tasks).and_return(task_list)
29
+ allow(obj).to receive(:add).and_return(obj)
30
+ allow(obj).to receive(:modify).and_return(obj)
31
+ allow(obj).to receive(:set_name).and_return(obj)
32
+ allow(obj).to receive(:set_task_data).and_return(obj)
33
+ allow(obj).to receive(:get_task_data).and_return(create_task_hash('TstTask1'))
34
+ allow(obj).to receive(:save).and_return(obj)
35
+ #allow(obj).to receive(:add_version).and_return(obj)
36
+ obj
37
+ end
38
+
39
+ let(:page_factory) do
40
+ obj = MockPageFactory.new
41
+ obj.login_page = double('login_page')
42
+ obj.tasks_page = tasks_page_stub
43
+ obj
44
+ end
45
+
46
+ context "#list" do
47
+ it "returns list of tasks" do
48
+ expect(page_factory.tasks_page)
49
+ .to receive(:get_tasks)
50
+
51
+ tasks = AdminModule::Tasks.new(page_factory)
52
+ tasks = tasks.list()
53
+
54
+ expect( tasks ).to include 'TstTask1'
55
+ expect( tasks ).to include 'TstTask2'
56
+ end
57
+ end
58
+
59
+ context "#rename" do
60
+ context "source name exists and destination name does not exist" do
61
+ it "renames the task" do
62
+ src = 'TstTask1'
63
+ dest = 'RnTstTask1'
64
+
65
+ expect(page_factory.tasks_page)
66
+ .to receive(:modify)
67
+ .with(src)
68
+
69
+ expect(page_factory.tasks_page)
70
+ .to receive(:set_name)
71
+ .with(dest)
72
+
73
+ expect(page_factory.tasks_page)
74
+ .to receive(:save)
75
+
76
+ tasks = AdminModule::Tasks.new(page_factory)
77
+ tasks.rename(src, dest)
78
+ end
79
+ end
80
+
81
+ context "source name does not exist" do
82
+ it "raises exception" do
83
+ src = 'NotATask1'
84
+ dest = 'TstTask2'
85
+
86
+ tasks = AdminModule::Tasks.new(page_factory)
87
+ expect { tasks.rename(src, dest) }.to raise_exception /named 'NotATask1' does not exist/
88
+ end
89
+ end
90
+
91
+ context "destination name already exists" do
92
+ it "raises exception" do
93
+ src = 'TstTask1'
94
+ dest = 'TstTask2'
95
+
96
+ tasks = AdminModule::Tasks.new(page_factory)
97
+ expect { tasks.rename(src, dest) }.to raise_exception /named 'TstTask2' already exists/
98
+ end
99
+ end
100
+ end
101
+
102
+ context "#read" do
103
+ context "task exists" do
104
+ it "reads the task" do
105
+ src = 'TstTask1'
106
+
107
+ expect(page_factory.tasks_page)
108
+ .to receive(:modify)
109
+ .with(src)
110
+
111
+ expect(page_factory.tasks_page)
112
+ .to receive(:get_task_data)
113
+ .and_return(create_task_hash('TstTask1'))
114
+
115
+ tasks = AdminModule::Tasks.new(page_factory)
116
+ tasks.read(src)
117
+ end
118
+ end
119
+
120
+ context "task does not exist" do
121
+ it "raises exception" do
122
+ src = 'NotATask1'
123
+
124
+ tasks = AdminModule::Tasks.new(page_factory)
125
+ expect { tasks.read(src) }.to raise_exception /named 'NotATask1' does not exist/
126
+ end
127
+ end
128
+ end
129
+
130
+ context "#export" do
131
+ context "file directory exists" do
132
+ it "exports the task definitions" do
133
+ dest_file = spec_tmp_dir('tasks') + 'export.yml'
134
+ src = 'TstTask1'
135
+
136
+ expect(page_factory.tasks_page)
137
+ .to receive(:modify)
138
+ .with(src)
139
+
140
+ expect(page_factory.tasks_page)
141
+ .to receive(:get_task_data)
142
+ .and_return(create_task_hash('TstTask1'))
143
+
144
+ expect(page_factory.tasks_page)
145
+ .to receive(:get_task_data)
146
+ .and_return(create_task_hash('TstTask2'))
147
+
148
+ tasks = AdminModule::Tasks.new(page_factory)
149
+ tasks.export(dest_file)
150
+
151
+ expect(File.exist?(dest_file)).to eq true
152
+ end
153
+ end
154
+
155
+ context "file directory does not exist" do
156
+ it "raises exception" do
157
+ dest_path = spec_tmp_dir('tasks') + 'not/a/real/dir/export.yml'
158
+
159
+ tasks = AdminModule::Tasks.new(page_factory)
160
+ expect { tasks.export(dest_path) }.to raise_exception /No such directory - #{dest_path}/
161
+ end
162
+ end
163
+ end
164
+
165
+ context "#import" do
166
+ context "file exists" do
167
+ it "imports the task definitions" do
168
+ src_file = spec_data_dir + 'import_tasks.yml'
169
+ src = 'TstTask1'
170
+
171
+ #allow(File).to receive(:exists?).and_return(true)
172
+
173
+ expect(page_factory.tasks_page)
174
+ .to receive(:modify)
175
+ .with(src)
176
+
177
+ expect(page_factory.tasks_page)
178
+ .to receive(:set_task_data)
179
+
180
+ tasks = AdminModule::Tasks.new(page_factory)
181
+ tasks.import(src_file)
182
+ end
183
+ end
184
+
185
+ context "file does not exist" do
186
+ it "raises exception" do
187
+ src = 'NotATask1'
188
+
189
+ tasks = AdminModule::Tasks.new(page_factory)
190
+ expect { tasks.import(src) }.to raise_exception /File not found: NotATask1/
191
+ end
192
+ end
193
+ end
194
+ end
195
+ end
196
+
@@ -0,0 +1,54 @@
1
+ # encoding: utf-8
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+
5
+ if ENV['coverage']
6
+ raise 'simplecov only works on Ruby 1.9' unless RUBY_VERSION =~ /^1\.9/
7
+
8
+ require 'simplecov'
9
+ SimpleCov.start { add_filter "spec/" }
10
+ end
11
+
12
+ require 'bundler/setup'
13
+ require 'rspec'
14
+
15
+ require 'pry-byebug'
16
+ require 'pry-doc'
17
+ require 'pry-docmore'
18
+ require 'pry-rescue'
19
+ require 'pry-stack_explorer'
20
+
21
+ require 'admin_module'
22
+
23
+ # This file was generated by the `rspec --init` command. Conventionally, all
24
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
25
+ # Require this file using `require "spec_helper"` to ensure that it is only
26
+ # loaded once.
27
+ #
28
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
29
+ RSpec.configure do |config|
30
+ config.run_all_when_everything_filtered = true
31
+ config.filter_run :focus
32
+
33
+ # Run specs in random order to surface order dependencies. If you find an
34
+ # order dependency and want to debug it, you can fix the order by providing
35
+ # the seed, which is printed after each run.
36
+ # --seed 1234
37
+ config.order = 'random'
38
+
39
+ config.mock_with :rspec do |mocks|
40
+ # This option should be set when all dependencies are being loaded
41
+ # before a spec run, as is the case in a typical spec helper. It will
42
+ # cause any verifying double instantiation for a class that does not
43
+ # exist to raise, protecting against incorrectly spelt names.
44
+ mocks.verify_doubled_constant_names = true
45
+ mocks.verify_partial_doubles = true
46
+ end
47
+ end
48
+
49
+ Dir["#{File.expand_path('./support', __dir__)}/*.rb"].each do |file|
50
+ require file #unless file =~/fakeweb\/.*\.rb/
51
+ end
52
+
53
+ include Factory
54
+
@@ -0,0 +1,13 @@
1
+ ##############################################################################
2
+ # File:: asserts.rb
3
+ # Purpose:: spec assertion helper methods
4
+ #
5
+ # Author:: Jeff McAffee 07/05/2014
6
+ # Copyright:: Copyright (c) 2014, kTech Systems LLC. All rights reserved.
7
+ # Website:: http://ktechsystems.com
8
+ ##############################################################################
9
+
10
+ def assert_file_contains filename, str
11
+ result = `grep "#{str}" #{filename}`
12
+ fail "'#{str}' not found in #{filename}" if result.empty?
13
+ end
@@ -0,0 +1,28 @@
1
+ ##############################################################################
2
+ # File:: data_clearing.rb
3
+ # Purpose:: Data Clearing testing helpers
4
+ #
5
+ # Author:: Jeff McAffee 2015-04-02
6
+ #
7
+ ##############################################################################
8
+
9
+ def create_dc_hash name
10
+ { name: name,
11
+ description: "#{name} Description",
12
+ delete_options: {
13
+ :decision_data => true,
14
+ :conditions_with_images => true,
15
+ :incomes => true,
16
+ :assets => true,
17
+ :expenses => true,
18
+ :hud1_fields => false,
19
+ :payment_schedule => true,
20
+ },
21
+ dts: [
22
+ 'All Documents Received',
23
+ 'Approval',
24
+ 'Denial Reason',
25
+ ]
26
+ }
27
+ end
28
+
@@ -0,0 +1,54 @@
1
+ ##############################################################################
2
+ # File:: dirs.rb
3
+ # Purpose:: Spec directory helper methods
4
+ #
5
+ # Author:: Jeff McAffee 07/05/2014
6
+ # Copyright:: Copyright (c) 2014, kTech Systems LLC. All rights reserved.
7
+ # Website:: http://ktechsystems.com
8
+ ##############################################################################
9
+
10
+ def spec_tmp_dir(relative_path = '')
11
+ here = Pathname.new(__dir__)
12
+ tmp = here + '../../tmp/spec'
13
+ tmp = tmp + relative_path unless relative_path.empty?
14
+ tmp.mkpath
15
+ tmp.realdirpath
16
+ end
17
+
18
+ def spec_data_dir
19
+ here = Pathname.new(__dir__)
20
+ tmp = here + '../data'
21
+ tmp.mkpath
22
+ tmp.realdirpath
23
+ end
24
+
25
+ def clean_target_dir dir
26
+ target_dir = spec_tmp_dir + Pathname(dir)
27
+ target_dir.rmtree if target_dir.exist?
28
+ target_dir.mkpath
29
+ target_dir
30
+ end
31
+
32
+ def with_target_dir dir
33
+ working_dir = clean_target_dir dir
34
+ FileUtils.cd working_dir do
35
+ yield(working_dir)
36
+ end
37
+ end
38
+
39
+ def copy_from_spec_data src_file, dest_file
40
+ src_path = spec_data_dir + src_file
41
+ dest_path = spec_tmp_dir + dest_file
42
+ dest_path.dirname.mkpath
43
+ FileUtils.cp src_path, dest_path
44
+ dest_path
45
+ end
46
+
47
+ ##
48
+ # DEPRECATED
49
+ #
50
+ def data_dir path = nil
51
+ return 'spec/data' unless path
52
+ return File.join('spec/data', path)
53
+ end
54
+
@@ -0,0 +1,83 @@
1
+ ##############################################################################
2
+ # File:: helpers.rb
3
+ # Purpose:: Spec helper methods
4
+ #
5
+ # Author:: Jeff McAffee 07/05/2014
6
+ # Copyright:: Copyright (c) 2014, kTech Systems LLC. All rights reserved.
7
+ # Website:: http://ktechsystems.com
8
+ ##############################################################################
9
+
10
+ def run_with_args(args, client = nil, exitcode = false)
11
+ AdminModule::Runner.new(args, client, exitcode).execute!
12
+ end
13
+
14
+ ##
15
+ # Write a data structure to a yml file
16
+ #
17
+ def write_yaml_data_file filename, data
18
+ File.open(filename, 'w') { |f| f << YAML.dump(data) }
19
+ end
20
+
21
+ ##
22
+ # Read a data from a yml file
23
+ #
24
+ def read_yaml_data_file filename
25
+ data = {}
26
+ File.open(filename, 'r') do |f|
27
+ data = YAML.load(f)
28
+ end
29
+ data
30
+ end
31
+
32
+ def load_yml filename
33
+ YAML::load_file(filename)
34
+ end
35
+
36
+ def capture_output
37
+ fake_stdout = StringIO.new
38
+ actual_stdout = $stdout
39
+ $stdout = fake_stdout
40
+ yield
41
+ fake_stdout.rewind
42
+ fake_stdout.read
43
+ ensure
44
+ $stdout = actual_stdout
45
+ end
46
+
47
+ ##
48
+ # Command Line Interface object
49
+ #
50
+ def cli
51
+ return $real_cli unless $real_cli.nil?
52
+ AdminModule.configure do |config|
53
+ config.credentials = { :dev => ['admin', 'Password1*'] }
54
+ end
55
+ $real_cli = AdminModule::CLI.new
56
+ end
57
+
58
+ def quit_cli
59
+ cli.quit
60
+ $real_cli = nil
61
+ end
62
+
63
+
64
+ ##
65
+ # Create a stage given a stage data hash object
66
+ #
67
+ def create_stage_for_test stage_data
68
+ cli.create_stage(stage_data)
69
+ rescue
70
+ end
71
+
72
+ ##
73
+ # Delete a stage given a stage data hash object
74
+ #
75
+ def delete_stage_for_test stage_data
76
+ cli.delete_stage stage_data
77
+ rescue
78
+ end
79
+
80
+ def admin_module *args
81
+ `bin/admin_module #{args}`
82
+ end
83
+
@@ -0,0 +1,23 @@
1
+ ##############################################################################
2
+ # File:: lock.rb
3
+ # Purpose:: Lock testing helpers
4
+ #
5
+ # Author:: Jeff McAffee 03/10/2015
6
+ # Copyright:: Copyright (c) 2015, kTech Systems LLC. All rights reserved.
7
+ # Website:: http://ktechsystems.com
8
+ ##############################################################################
9
+
10
+ def create_lock_hash name
11
+ { name: name,
12
+ description: "#{name} Description",
13
+ is_program_lock: false,
14
+ parameters: [
15
+ 'Decision',
16
+ 'NewTerm'
17
+ ],
18
+ dts: [
19
+ 'Current Unpaid Balance',
20
+ ]
21
+ }
22
+ end
23
+