marty_rspec 0.0.1 → 0.0.2
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 +4 -4
- data/lib/marty_rspec/custom_matchers.rb +9 -25
- data/lib/marty_rspec/custom_selectors.rb +26 -0
- data/lib/marty_rspec/netzke_grid.rb +11 -24
- data/lib/marty_rspec/version.rb +1 -1
- data/lib/marty_rspec.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29a66ed63853c3aaa6307a27d2e8926054d8d1ce
|
4
|
+
data.tar.gz: 7bd7daa4ebf6a9a609cd8a03f96adf1a65b63fa3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6298731dd50d8b1db4e5bee9b6f364932f66bb2cf748657ea7590885baaccc30689220f65e00045d805e7e806cf191f4dd110b185e656a9baf8fca376586462
|
7
|
+
data.tar.gz: 2a96e0b2aefa3368621a28f00e0e403c151d37ca4212730308b41052bc7456c6b3e28704d31a897b9fda67410b5b9cff57585431cf4bd9dcddcec5020611abb1
|
@@ -1,26 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
RSpec::Matchers.define :netzke_include do |expected|
|
2
|
+
match do |actual|
|
3
|
+
parsed_values = actual.each_with_object({}) do | (k, v), h |
|
4
|
+
h[k] = v == "False" ? false : v
|
5
|
+
end
|
6
|
+
expect(parsed_values).to include(expected.stringify_keys)
|
7
|
+
end
|
8
|
+
|
9
|
+
diffable
|
4
10
|
end
|
5
|
-
Capybara.add_selector(:msg) do
|
6
|
-
xpath { "//div[@id='msg-div']" }
|
7
|
-
end
|
8
|
-
Capybara.add_selector(:body) do
|
9
|
-
xpath { ".//div[@data-ref='body']" }
|
10
|
-
end
|
11
|
-
Capybara.add_selector(:input) do
|
12
|
-
xpath { |name| "//input[@name='#{name}']" }
|
13
|
-
end
|
14
|
-
Capybara.add_selector(:status) do
|
15
|
-
xpath { |name| "//div[contains(@id, 'statusbar')]//div[text()='#{name}']" }
|
16
|
-
end
|
17
|
-
Capybara.add_selector(:btn) do
|
18
|
-
xpath { |name| ".//span[text()='#{name}']" }
|
19
|
-
end
|
20
|
-
Capybara.add_selector(:refresh) do
|
21
|
-
xpath { "//img[contains(@class, 'x-tool-refresh')]" }
|
22
|
-
end
|
23
|
-
Capybara.add_selector(:gridcolumn) do
|
24
|
-
xpath { |name| ".//span[contains(@class, 'x-column-header')]" +
|
25
|
-
"//span[text()='#{name}']" }
|
26
|
-
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
Capybara.add_selector(:gridpanel) do
|
2
|
+
xpath { |name| ".//div[contains(@id, '#{name}')] | " +
|
3
|
+
".//div[contains(@id, '#{name.camelize(:lower)}')]" }
|
4
|
+
end
|
5
|
+
Capybara.add_selector(:msg) do
|
6
|
+
xpath { "//div[@id='msg-div']" }
|
7
|
+
end
|
8
|
+
Capybara.add_selector(:body) do
|
9
|
+
xpath { ".//div[@data-ref='body']" }
|
10
|
+
end
|
11
|
+
Capybara.add_selector(:input) do
|
12
|
+
xpath { |name| "//input[@name='#{name}']" }
|
13
|
+
end
|
14
|
+
Capybara.add_selector(:status) do
|
15
|
+
xpath { |name| "//div[contains(@id, 'statusbar')]//div[text()='#{name}']" }
|
16
|
+
end
|
17
|
+
Capybara.add_selector(:btn) do
|
18
|
+
xpath { |name| ".//span[text()='#{name}']" }
|
19
|
+
end
|
20
|
+
Capybara.add_selector(:refresh) do
|
21
|
+
xpath { "//img[contains(@class, 'x-tool-refresh')]" }
|
22
|
+
end
|
23
|
+
Capybara.add_selector(:gridcolumn) do
|
24
|
+
xpath { |name| ".//span[contains(@class, 'x-column-header')]" +
|
25
|
+
"//span[text()='#{name}']" }
|
26
|
+
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'capybara/dsl'
|
2
|
+
require 'rspec/matchers'
|
2
3
|
|
3
4
|
module MartyRSpec
|
4
5
|
module NetzkeGrid
|
@@ -109,34 +110,20 @@ module MartyRSpec
|
|
109
110
|
JS
|
110
111
|
end
|
111
112
|
|
112
|
-
def
|
113
|
-
js_get_fields = fields.each_key.map do |k|
|
114
|
-
<<-JS
|
115
|
-
var col = Ext.ComponentQuery.query('gridcolumn[name=\"#{k}\"]', grid)[0];
|
116
|
-
var value = col.assoc ? r.get('association_values')['#{k}'] :
|
117
|
-
r.get('#{k}');
|
118
|
-
if (value instanceof Date) {
|
119
|
-
obj['#{k}'] = value.toISOString().substring(0,
|
120
|
-
value.toISOString().indexOf('T'));
|
121
|
-
} else {
|
122
|
-
obj['#{k}'] = value;
|
123
|
-
};
|
124
|
-
JS
|
125
|
-
end.join
|
126
|
-
|
113
|
+
def get_row_vals row
|
127
114
|
res = run_js <<-JS
|
128
115
|
#{ext_var(grid, 'grid')}
|
129
|
-
#{
|
130
|
-
var obj = {};
|
131
|
-
#{js_get_fields}
|
132
|
-
return obj;
|
116
|
+
return #{ext_row(row.to_i - 1, 'grid')}.data;
|
133
117
|
JS
|
118
|
+
end
|
134
119
|
|
120
|
+
def validate_row_values row, fields
|
121
|
+
res = get_row_vals(row)
|
135
122
|
# in netzke 1.0, "False" becomes false
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
wait_for_element { expect(res).to
|
123
|
+
# DEPRECATED: use custom matcher :have_netzke_fields, as below
|
124
|
+
warn "[DEPRECATED] use expect(<<GRID OBJECT>>.get_row_vals(#{row}))." +
|
125
|
+
"to netzke_include(#{fields})"
|
126
|
+
wait_for_element { expect(res).to netzke_include(fields) }
|
140
127
|
end
|
141
128
|
|
142
129
|
def sorted_by? col, direction = 'asc'
|
@@ -146,7 +133,7 @@ module MartyRSpec
|
|
146
133
|
var colValues = [];
|
147
134
|
|
148
135
|
grid.getStore().each(function(r){
|
149
|
-
var val = col.assoc ? r.get('association_values)['#{col}'] :
|
136
|
+
var val = col.assoc ? r.get('association_values')['#{col}'] :
|
150
137
|
r.get('#{col}');
|
151
138
|
if (val) colValues.#{direction == 'asc' ? 'push' : 'unshift'}(val);
|
152
139
|
});
|
data/lib/marty_rspec/version.rb
CHANGED
data/lib/marty_rspec.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marty_rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masaki Matsuo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
@@ -37,6 +37,7 @@ files:
|
|
37
37
|
- Rakefile
|
38
38
|
- lib/marty_rspec.rb
|
39
39
|
- lib/marty_rspec/custom_matchers.rb
|
40
|
+
- lib/marty_rspec/custom_selectors.rb
|
40
41
|
- lib/marty_rspec/netzke_grid.rb
|
41
42
|
- lib/marty_rspec/util.rb
|
42
43
|
- lib/marty_rspec/version.rb
|