marty 0.5.39 → 0.5.40
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/app/controllers/marty/diagnostic_controller.rb +2 -2
- data/lib/marty/version.rb +1 -1
- data/spec/features/auth_app_spec.rb +4 -4
- data/spec/features/data_import_spec.rb +13 -9
- data/spec/features/reporting_spec.rb +28 -20
- data/spec/features/scripting_spec.rb +66 -47
- data/spec/features/scripting_test_spec.rb +18 -12
- data/spec/features/user_view_spec.rb +34 -32
- data/spec/spec_helper.rb +3 -0
- data/spec/support/integration_helpers.rb +0 -590
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f166abb0b1bc5f9da59dc6c3879fbda45bfa1c2a
|
4
|
+
data.tar.gz: 78a16a950bbc27e7f34f54e6d123bd1bd3a112e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19fc34d83a632f06a345f927dad2769d89310c3ff330abf34dd99f7bdd054799e29d5067e78dc3b167c669d5a0004ad6d293ba6fb63f24a053610f4bb090e1d6
|
7
|
+
data.tar.gz: d08d671febf9c71fde42c01c37f61a62d861544a3c30f39de44f55eb69b421444b45565b01f1ac94c78d54b56934d2ee52fa7ee3c0fd03ee542bfc1d7b7d7033
|
data/Gemfile
CHANGED
@@ -21,4 +21,7 @@ group :development, :test do
|
|
21
21
|
gem 'netzke-core'
|
22
22
|
gem 'netzke-basepack'
|
23
23
|
gem 'netzke-testing' #, path: File.expand_path('../../netzke-testing', __FILE__)
|
24
|
+
|
25
|
+
#gem 'marty_rspec', path: File.expand_path('../../marty_rspec', __FILE__)
|
26
|
+
gem 'marty_rspec'
|
24
27
|
end
|
@@ -47,9 +47,9 @@ module Marty
|
|
47
47
|
def git_details app_name = Rails.application.class.parent.to_s
|
48
48
|
[
|
49
49
|
Diagnostic.new("#{app_name} Git Version", true,
|
50
|
-
|
50
|
+
`git describe 2>&1`.strip),
|
51
51
|
Diagnostic.new("#{app_name} Git Details", true,
|
52
|
-
|
52
|
+
`git show --pretty=format:"sha: %h, %D" --no-patch 2>&1`.strip)
|
53
53
|
]
|
54
54
|
end
|
55
55
|
|
data/lib/marty/version.rb
CHANGED
@@ -23,11 +23,11 @@ feature 'Posting workflows', js: true do
|
|
23
23
|
Marty::NewPostingForm.has_marty_permissions(BASE: :admin)
|
24
24
|
end
|
25
25
|
|
26
|
-
let(:pg) { gridpanel('posting_grid') }
|
27
|
-
|
28
26
|
it 'create posting and select it' do
|
29
27
|
log_in_as('admin1')
|
30
28
|
|
29
|
+
posting_grid = netzke_find('posting_grid')
|
30
|
+
|
31
31
|
by 'bring up new posting form' do
|
32
32
|
wait_for_ajax
|
33
33
|
press('Postings')
|
@@ -49,8 +49,8 @@ feature 'Posting workflows', js: true do
|
|
49
49
|
|
50
50
|
and_by 'select new posting' do
|
51
51
|
within(:gridpanel, 'posting_window', match: :first) do
|
52
|
-
expect(row_count
|
53
|
-
select_row(2
|
52
|
+
expect(posting_grid.row_count).to eq 2
|
53
|
+
posting_grid.select_row(2)
|
54
54
|
press('Select')
|
55
55
|
end
|
56
56
|
end
|
@@ -3,6 +3,7 @@ require 'spec_helper'
|
|
3
3
|
feature 'under Applications menu, Reports using Data Import', js: true do
|
4
4
|
|
5
5
|
before(:all) do
|
6
|
+
marty_whodunnit
|
6
7
|
@clean_file = "/tmp/clean_#{Process.pid}.psql"
|
7
8
|
save_clean_db(@clean_file)
|
8
9
|
dt = Time.zone.now
|
@@ -49,21 +50,20 @@ feature 'under Applications menu, Reports using Data Import', js: true do
|
|
49
50
|
)
|
50
51
|
end
|
51
52
|
|
52
|
-
let(:tg) { gridpanel('tag_grid') }
|
53
|
-
let(:sg) { gridpanel('script_grid') }
|
54
|
-
let(:rf) { gridpanel('report_form') }
|
55
|
-
|
56
53
|
it 'adds 2 new fannie bups via datareport script' do
|
57
54
|
expect do
|
58
55
|
log_in_as('marty')
|
59
56
|
go_to_reporting
|
60
57
|
|
58
|
+
tag_grid = netzke_find('tag_grid')
|
59
|
+
script_grid = netzke_find('script_grid')
|
60
|
+
|
61
61
|
by 'select BASE tag' do
|
62
|
-
select_row(2
|
62
|
+
tag_grid.select_row(2)
|
63
63
|
end
|
64
64
|
|
65
65
|
and_by 'select DataReport script & Data Import node' do
|
66
|
-
select_row(2
|
66
|
+
script_grid.select_row(2)
|
67
67
|
end
|
68
68
|
|
69
69
|
and_by 'select Data Import node' do
|
@@ -104,7 +104,8 @@ feature 'under Applications menu, Reports using Data Import', js: true do
|
|
104
104
|
|
105
105
|
and_by 'background job has shown up' do
|
106
106
|
wait_for_ajax
|
107
|
-
|
107
|
+
promise_view = netzke_find('promise_view', 'treepanel')
|
108
|
+
expect(promise_view.row_count).to eq 1
|
108
109
|
find(:xpath, "//tr[contains(@class, 'green-row')]", match: :first)
|
109
110
|
end
|
110
111
|
|
@@ -120,12 +121,15 @@ feature 'under Applications menu, Reports using Data Import', js: true do
|
|
120
121
|
log_in_as('dev1')
|
121
122
|
go_to_reporting
|
122
123
|
|
124
|
+
tag_grid = netzke_find('tag_grid')
|
125
|
+
script_grid = netzke_find('script_grid')
|
126
|
+
|
123
127
|
by 'select BASE tag' do
|
124
|
-
select_row(2
|
128
|
+
tag_grid.select_row(2)
|
125
129
|
end
|
126
130
|
|
127
131
|
and_by 'select DataReport script & Data Import node' do
|
128
|
-
select_row(2
|
132
|
+
script_grid.select_row(2)
|
129
133
|
end
|
130
134
|
|
131
135
|
and_by 'select Data Import node' do
|
@@ -90,10 +90,6 @@ DELOREAN
|
|
90
90
|
}
|
91
91
|
end
|
92
92
|
|
93
|
-
let(:tg) { gridpanel('tag_grid') }
|
94
|
-
let(:sg) { gridpanel('script_grid') }
|
95
|
-
let(:rf) { gridpanel('report_form') }
|
96
|
-
|
97
93
|
def select_node node_name
|
98
94
|
wait_for_ajax
|
99
95
|
#hacky: assumes only 1 combobox without label
|
@@ -109,14 +105,17 @@ DELOREAN
|
|
109
105
|
log_in_as('dev1')
|
110
106
|
go_to_reporting
|
111
107
|
|
108
|
+
tag_grid = netzke_find('tag_grid')
|
109
|
+
script_grid = netzke_find('script_grid')
|
110
|
+
|
112
111
|
by 'select 2nd tag' do
|
113
112
|
wait_for_ajax
|
114
|
-
zoom_out
|
115
|
-
select_row(2
|
113
|
+
zoom_out
|
114
|
+
tag_grid.select_row(2)
|
116
115
|
end
|
117
116
|
|
118
117
|
and_by 'select SomeReport script & CC node' do
|
119
|
-
select_row(1
|
118
|
+
script_grid.select_row(1)
|
120
119
|
select_node('CC (csv)')
|
121
120
|
end
|
122
121
|
|
@@ -145,11 +144,11 @@ DELOREAN
|
|
145
144
|
end
|
146
145
|
|
147
146
|
and_by 'select 3rd tag' do
|
148
|
-
select_row(3
|
147
|
+
tag_grid.select_row(3)
|
149
148
|
end
|
150
149
|
|
151
150
|
and_by 'select SomeReport script' do
|
152
|
-
select_row(1
|
151
|
+
script_grid.select_row(1)
|
153
152
|
end
|
154
153
|
|
155
154
|
and_by 'validate script combobox' do
|
@@ -172,14 +171,17 @@ DELOREAN
|
|
172
171
|
log_in_as('dev1')
|
173
172
|
go_to_reporting
|
174
173
|
|
174
|
+
tag_grid = netzke_find('tag_grid')
|
175
|
+
script_grid = netzke_find('script_grid')
|
176
|
+
|
175
177
|
by 'select 2nd tag' do
|
176
178
|
wait_for_ajax
|
177
|
-
zoom_out
|
178
|
-
select_row(2
|
179
|
+
zoom_out
|
180
|
+
tag_grid.select_row(2)
|
179
181
|
end
|
180
182
|
|
181
183
|
and_by 'select SomeReport script & AA node' do
|
182
|
-
select_row(1
|
184
|
+
script_grid.select_row(1)
|
183
185
|
select_node('AA (csv)')
|
184
186
|
end
|
185
187
|
|
@@ -201,21 +203,24 @@ DELOREAN
|
|
201
203
|
log_in_as('dev1')
|
202
204
|
go_to_reporting
|
203
205
|
|
206
|
+
tag_grid = netzke_find('tag_grid')
|
207
|
+
script_grid = netzke_find('script_grid')
|
208
|
+
|
204
209
|
by 'select 2nd tag' do
|
205
210
|
wait_for_ajax
|
206
|
-
zoom_out
|
207
|
-
select_row(2
|
211
|
+
zoom_out
|
212
|
+
tag_grid.select_row(2)
|
208
213
|
end
|
209
214
|
|
210
215
|
and_by 'select SomeReport script & AA node' do
|
211
|
-
select_row(1
|
216
|
+
script_grid.select_row(1)
|
212
217
|
select_node('DD [role: dev] (csv)')
|
213
218
|
end
|
214
219
|
|
215
220
|
and_by 'generate report disabled' do
|
216
221
|
fill_in('Note Rate', with: '3.00')
|
217
|
-
expect(btn_disabled?('Generate Report'
|
218
|
-
expect(btn_disabled?('Background Report'
|
222
|
+
expect(btn_disabled?('Generate Report')).to be_truthy
|
223
|
+
expect(btn_disabled?('Background Report')).to be_falsy
|
219
224
|
end
|
220
225
|
end
|
221
226
|
|
@@ -223,14 +228,17 @@ DELOREAN
|
|
223
228
|
log_in_as('viewer1')
|
224
229
|
go_to_reporting
|
225
230
|
|
231
|
+
tag_grid = netzke_find('tag_grid')
|
232
|
+
script_grid = netzke_find('script_grid')
|
233
|
+
|
226
234
|
by 'select 2nd tag' do
|
227
235
|
wait_for_ajax
|
228
|
-
zoom_out
|
229
|
-
select_row(2
|
236
|
+
zoom_out
|
237
|
+
tag_grid.select_row(2)
|
230
238
|
end
|
231
239
|
|
232
240
|
and_by 'select SomeReport script & AA' do
|
233
|
-
select_row(1
|
241
|
+
script_grid.select_row(1)
|
234
242
|
end
|
235
243
|
|
236
244
|
and_by 'no DD [role: dev] (csv)' do
|
@@ -66,17 +66,16 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
66
66
|
}
|
67
67
|
end
|
68
68
|
|
69
|
-
let(:tg) { gridpanel('tag_grid') }
|
70
|
-
let(:sg) { gridpanel('script_grid') }
|
71
|
-
let(:sf) { gridpanel('script_form') }
|
72
|
-
|
73
69
|
it 'adding scripts and tags & ensure proper validations' do
|
74
70
|
log_in_as('dev1')
|
75
71
|
go_to_scripting
|
76
72
|
|
73
|
+
script_grid = netzke_find('script_grid')
|
74
|
+
tag_grid = netzke_find('tag_grid')
|
75
|
+
|
77
76
|
by 'select DEV tag' do
|
78
77
|
wait_for_ajax
|
79
|
-
select_row(1
|
78
|
+
tag_grid.select_row(1)
|
80
79
|
end
|
81
80
|
|
82
81
|
and_by 'add script' do
|
@@ -90,8 +89,8 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
90
89
|
and_by 'select the new script' do
|
91
90
|
wait_for_ajax
|
92
91
|
within(:gridpanel, 'script_grid', match: :first) do
|
93
|
-
validate_row_values(6,
|
94
|
-
select_row(6
|
92
|
+
script_grid.validate_row_values(6, name: 'Xyz', tag: 'DEV')
|
93
|
+
script_grid.select_row(6)
|
95
94
|
end
|
96
95
|
end
|
97
96
|
|
@@ -118,20 +117,20 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
118
117
|
and_by 'new tag shows up' do
|
119
118
|
wait_for_ajax
|
120
119
|
within(:gridpanel, 'tag_grid', match: :first) do
|
121
|
-
expect(row_count
|
120
|
+
expect(tag_grid.row_count).to eq 6
|
122
121
|
end
|
123
122
|
end
|
124
123
|
|
125
124
|
and_by 'tag row 2 has 6 scripts' do
|
126
|
-
select_row(2
|
125
|
+
tag_grid.select_row(2)
|
127
126
|
wait_for_ajax
|
128
|
-
expect(row_count
|
127
|
+
expect(script_grid.row_count).to eq 6
|
129
128
|
end
|
130
129
|
|
131
130
|
and_by 'tag row 3 has 5 scripts' do
|
132
|
-
select_row(3
|
131
|
+
tag_grid.select_row(3)
|
133
132
|
wait_for_ajax
|
134
|
-
expect(row_count
|
133
|
+
expect(script_grid.row_count).to eq 5
|
135
134
|
end
|
136
135
|
end
|
137
136
|
|
@@ -139,9 +138,12 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
139
138
|
log_in_as('dev1')
|
140
139
|
go_to_scripting
|
141
140
|
|
141
|
+
script_grid = netzke_find('script_grid')
|
142
|
+
tag_grid = netzke_find('tag_grid')
|
143
|
+
|
142
144
|
by 'select DEV tag' do
|
143
145
|
wait_for_ajax
|
144
|
-
select_row(1
|
146
|
+
tag_grid.select_row(1)
|
145
147
|
end
|
146
148
|
|
147
149
|
and_by 'add script with duplicate name' do
|
@@ -164,7 +166,7 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
164
166
|
|
165
167
|
and_by 'no script got added' do
|
166
168
|
wait_for_ajax
|
167
|
-
expect(row_count
|
169
|
+
expect(script_grid.row_count).to eq 5
|
168
170
|
end
|
169
171
|
end
|
170
172
|
|
@@ -173,13 +175,15 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
173
175
|
# no nav buttons available, but check direct access
|
174
176
|
ensure_on('/#scripting')
|
175
177
|
|
178
|
+
script_grid = netzke_find('script_grid')
|
179
|
+
tag_grid = netzke_find('tag_grid')
|
180
|
+
|
176
181
|
by 'nothing should work & log out' do
|
177
182
|
wait_for_ajax
|
178
|
-
expect(row_count
|
179
|
-
expect(row_count
|
180
|
-
expect(btn_disabled?('New Script'
|
181
|
-
expect(btn_disabled?('
|
182
|
-
expect(btn_disabled?('New Tag', tg)).to be_truthy
|
183
|
+
expect(script_grid.row_count).to eq 0
|
184
|
+
expect(tag_grid.row_count).to eq 0
|
185
|
+
expect(btn_disabled?('New Script')).to be_truthy
|
186
|
+
expect(btn_disabled?('New Tag')).to be_truthy
|
183
187
|
log_out
|
184
188
|
end
|
185
189
|
|
@@ -190,16 +194,15 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
190
194
|
|
191
195
|
and_by 'viewable but cannot add scripts or tags' do
|
192
196
|
wait_for_ajax
|
193
|
-
expect(row_count
|
194
|
-
select_row(1
|
197
|
+
expect(script_grid.row_count).to eq 5
|
198
|
+
tag_grid.select_row(1)
|
195
199
|
wait_for_ajax
|
196
|
-
expect(btn_disabled?('New Script'
|
197
|
-
expect(btn_disabled?('
|
198
|
-
|
199
|
-
select_row(4, tg)
|
200
|
+
expect(btn_disabled?('New Script')).to be_truthy
|
201
|
+
expect(btn_disabled?('New Tag')).to be_truthy
|
202
|
+
tag_grid.select_row(4)
|
200
203
|
wait_for_ajax
|
201
|
-
expect(row_count
|
202
|
-
expect(btn_disabled?('Save'
|
204
|
+
expect(script_grid.row_count).to eq 5
|
205
|
+
expect(btn_disabled?('Save')).to be_truthy
|
203
206
|
end
|
204
207
|
end
|
205
208
|
|
@@ -207,14 +210,18 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
207
210
|
log_in_as('dev1')
|
208
211
|
go_to_scripting
|
209
212
|
|
213
|
+
script_grid = netzke_find('script_grid')
|
214
|
+
tag_grid = netzke_find('tag_grid')
|
215
|
+
|
216
|
+
|
210
217
|
by 'select tag row 2' do
|
211
218
|
wait_for_ajax
|
212
|
-
select_row(2
|
219
|
+
tag_grid.select_row(2)
|
213
220
|
end
|
214
221
|
|
215
222
|
and_by 'select script row 5' do
|
216
223
|
wait_for_ajax
|
217
|
-
select_row(5
|
224
|
+
script_grid.select_row(5)
|
218
225
|
end
|
219
226
|
|
220
227
|
and_by 'form displays correct body' do
|
@@ -223,12 +230,12 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
223
230
|
end
|
224
231
|
|
225
232
|
and_by 'select different tag' do
|
226
|
-
select_row(4
|
233
|
+
tag_grid.select_row(4)
|
227
234
|
end
|
228
235
|
|
229
236
|
and_by 'select script row 5' do
|
230
237
|
wait_for_ajax
|
231
|
-
select_row(5
|
238
|
+
script_grid.select_row(5)
|
232
239
|
end
|
233
240
|
|
234
241
|
and_by 'form displays updated body' do
|
@@ -241,14 +248,17 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
241
248
|
log_in_as('dev1')
|
242
249
|
go_to_scripting
|
243
250
|
|
251
|
+
script_grid = netzke_find('script_grid')
|
252
|
+
tag_grid = netzke_find('tag_grid')
|
253
|
+
|
244
254
|
by 'select DEV tag' do
|
245
255
|
wait_for_ajax
|
246
|
-
select_row(1
|
256
|
+
tag_grid.select_row(1)
|
247
257
|
end
|
248
258
|
|
249
259
|
and_by 'select script row 5' do
|
250
260
|
wait_for_ajax
|
251
|
-
select_row(5
|
261
|
+
script_grid.select_row(5)
|
252
262
|
end
|
253
263
|
|
254
264
|
and_by 'edit script form body' do
|
@@ -261,13 +271,13 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
261
271
|
|
262
272
|
and_by 'new script does not exist in old tag' do
|
263
273
|
wait_for_ajax
|
264
|
-
select_row(2
|
274
|
+
tag_grid.select_row(2)
|
265
275
|
# FIX? selection change required to refresh script form
|
266
|
-
select_row(1
|
267
|
-
select_row(5
|
276
|
+
script_grid.select_row(1)
|
277
|
+
script_grid.select_row(5)
|
268
278
|
wait_for_ajax
|
269
279
|
expect(page).not_to have_content "#123\n#456\n"
|
270
|
-
select_row(1
|
280
|
+
script_grid.select_row(1)
|
271
281
|
end
|
272
282
|
|
273
283
|
and_by 'make new tag' do
|
@@ -280,11 +290,11 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
280
290
|
|
281
291
|
and_by 'new tag contains new script' do
|
282
292
|
wait_for_ajax
|
283
|
-
select_row(2
|
293
|
+
tag_grid.select_row(2)
|
284
294
|
wait_for_ajax
|
285
|
-
select_row(5
|
295
|
+
script_grid.select_row(5)
|
286
296
|
expect(page).to have_content "#123\n#456\n"
|
287
|
-
|
297
|
+
tag_grid.validate_row_values(2, comment: 'ABCD')
|
288
298
|
end
|
289
299
|
end
|
290
300
|
|
@@ -292,14 +302,17 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
292
302
|
log_in_as('dev1')
|
293
303
|
go_to_scripting
|
294
304
|
|
305
|
+
script_grid = netzke_find('script_grid')
|
306
|
+
tag_grid = netzke_find('tag_grid')
|
307
|
+
|
295
308
|
by 'select DEV tag' do
|
296
309
|
wait_for_ajax
|
297
|
-
select_row(1
|
310
|
+
tag_grid.select_row(1)
|
298
311
|
end
|
299
312
|
|
300
313
|
and_by 'select script row 1' do
|
301
314
|
wait_for_ajax
|
302
|
-
select_row(1
|
315
|
+
script_grid.select_row(1)
|
303
316
|
end
|
304
317
|
|
305
318
|
and_by 'save without changes' do
|
@@ -312,20 +325,23 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
312
325
|
log_in_as('dev1')
|
313
326
|
go_to_scripting
|
314
327
|
|
328
|
+
script_grid = netzke_find('script_grid')
|
329
|
+
tag_grid = netzke_find('tag_grid')
|
330
|
+
|
315
331
|
by 'select DEV tag' do
|
316
332
|
wait_for_ajax
|
317
|
-
select_row(1
|
333
|
+
tag_grid.select_row(1)
|
318
334
|
end
|
319
335
|
|
320
336
|
and_by 'delete script' do
|
321
|
-
select_row(1
|
337
|
+
script_grid.select_row(1)
|
322
338
|
press('Delete Script')
|
323
339
|
find(:xpath, "//div[text()='Confirmation']", wait: 5)
|
324
340
|
press('Yes')
|
325
341
|
end
|
326
342
|
|
327
343
|
and_by 'script is gone' do
|
328
|
-
expect(row_count
|
344
|
+
expect(script_grid.row_count).to eq 4
|
329
345
|
end
|
330
346
|
end
|
331
347
|
|
@@ -333,13 +349,16 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
333
349
|
log_in_as('dev1')
|
334
350
|
go_to_scripting
|
335
351
|
|
352
|
+
script_grid = netzke_find('script_grid')
|
353
|
+
tag_grid = netzke_find('tag_grid')
|
354
|
+
|
336
355
|
by 'select not DEV tag' do
|
337
356
|
wait_for_ajax
|
338
|
-
select_row(2
|
357
|
+
tag_grid.select_row(2)
|
339
358
|
end
|
340
359
|
|
341
360
|
and_by 'delete script' do
|
342
|
-
select_row(1
|
361
|
+
script_grid.select_row(1)
|
343
362
|
press('Delete Script')
|
344
363
|
find(:xpath, "//div[text()='Confirmation']", wait: 5)
|
345
364
|
press('Yes')
|