kookaburra 1.3.0 → 1.3.1
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5cadefaae85409b2b4db57ce339eea29091d9a87
|
|
4
|
+
data.tar.gz: 14ca8365ce3aecd80dbf5a78a8e7581d1461dac1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b4ca6636a527e1a6de7af7b92ac9c87be2ca3ab507b5327ed4513635a522a3e794aff3930720cfbde751ad7dbb0236e52e9e5697f7a1f57569006a4ad6d7d355
|
|
7
|
+
data.tar.gz: a2badf5f817a513f45c4955bdb3ea0b9a8139a08fd4826fba07d43be6a8d11a0d9c8c07eb6a296904c562c22b556c834a1edba366953f2aa122a2af8240821d4
|
data/Rakefile
CHANGED
|
@@ -6,11 +6,9 @@ require 'rspec/core/rake_task'
|
|
|
6
6
|
task :default => :spec
|
|
7
7
|
RSpec::Core::RakeTask.new
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
t.verbose = false
|
|
13
|
-
t.source_files = 'lib/**/*.rb'
|
|
9
|
+
desc 'Runs reek to detect code smells'
|
|
10
|
+
task :reek do
|
|
11
|
+
sh 'reek lib/**/*.rb'
|
|
14
12
|
end
|
|
15
13
|
|
|
16
14
|
require 'yard'
|
|
@@ -168,7 +168,7 @@ class Kookaburra
|
|
|
168
168
|
def detect_server_error!
|
|
169
169
|
return if @server_error_detection.nil?
|
|
170
170
|
if @server_error_detection.call(browser)
|
|
171
|
-
raise UnexpectedResponse, "
|
|
171
|
+
raise UnexpectedResponse, "Server Error Detected:\n#{browser.text}"
|
|
172
172
|
end
|
|
173
173
|
end
|
|
174
174
|
|
data/lib/kookaburra/version.rb
CHANGED
|
@@ -3,7 +3,7 @@ require 'kookaburra/ui_driver/ui_component/address_bar'
|
|
|
3
3
|
describe Kookaburra::UIDriver::UIComponent::AddressBar do
|
|
4
4
|
describe '#go_to' do
|
|
5
5
|
let(:browser) {
|
|
6
|
-
double('Capybara::Session').tap do |b|
|
|
6
|
+
double('Capybara::Session', text: '').tap do |b|
|
|
7
7
|
b.should_receive(:visit).with('http://site.example.com')
|
|
8
8
|
end
|
|
9
9
|
}
|
|
@@ -3,55 +3,63 @@ require 'support/shared_examples/it_can_make_assertions'
|
|
|
3
3
|
require 'support/shared_examples/it_can_have_ui_components'
|
|
4
4
|
|
|
5
5
|
describe Kookaburra::UIDriver::UIComponent do
|
|
6
|
-
let(:
|
|
6
|
+
let(:browser) { double('Browser Driver') }
|
|
7
|
+
let(:app_host) { 'http://my.example.com' }
|
|
8
|
+
let(:server_error_detection) { ->(browser) { false } }
|
|
9
|
+
|
|
10
|
+
let(:configuration) {
|
|
11
|
+
double('Configuration', browser: browser, app_host: app_host,
|
|
12
|
+
server_error_detection: server_error_detection)
|
|
13
|
+
}
|
|
14
|
+
|
|
7
15
|
let(:component) { Kookaburra::UIDriver::UIComponent.new(configuration) }
|
|
8
16
|
|
|
9
17
|
it_behaves_like :it_can_have_ui_components, Kookaburra::UIDriver::UIComponent
|
|
10
18
|
|
|
11
19
|
describe '#visible?' do
|
|
20
|
+
before(:each) do
|
|
21
|
+
def component.component_locator
|
|
22
|
+
'#my_component'
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
12
26
|
it 'returns true if the component_locator is found in the DOM and is visible' do
|
|
13
|
-
browser = double('Browser Driver')
|
|
14
27
|
browser.should_receive(:has_css?) \
|
|
15
28
|
.with('#my_component', :visible) \
|
|
16
29
|
.and_return(true)
|
|
17
|
-
configuration.stub(:browser => browser)
|
|
18
|
-
def component.component_locator
|
|
19
|
-
'#my_component'
|
|
20
|
-
end
|
|
21
30
|
component.visible?.should == true
|
|
22
31
|
end
|
|
23
32
|
|
|
24
|
-
|
|
25
|
-
browser
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
false
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def component.component_locator
|
|
32
|
-
'#my_component'
|
|
33
|
+
context 'when the component_locator is not found in the DOM' do
|
|
34
|
+
let(:browser) { double('Browser Driver', has_css?: false, text: '') }
|
|
35
|
+
|
|
36
|
+
context 'and a server error is not detected' do
|
|
37
|
+
it 'returns false' do
|
|
38
|
+
component.visible?.should == false
|
|
39
|
+
end
|
|
33
40
|
end
|
|
34
|
-
component.visible?.should == false
|
|
35
|
-
end
|
|
36
41
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
'
|
|
42
|
+
context 'and a server error is detected' do
|
|
43
|
+
let(:server_error_detection) { ->(browser) { true } }
|
|
44
|
+
|
|
45
|
+
it 'raises UnexpectedResponse' do
|
|
46
|
+
lambda { component.visible? } \
|
|
47
|
+
.should raise_error(Kookaburra::UnexpectedResponse)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it 'adds the text of the HTTP response to the exception message' do
|
|
51
|
+
browser.stub(text: 'This is text from the HTTP response')
|
|
52
|
+
lambda { component.visible? } \
|
|
53
|
+
.should raise_error(Kookaburra::UnexpectedResponse,
|
|
54
|
+
"Server Error Detected:\n" \
|
|
55
|
+
+ "This is text from the HTTP response")
|
|
56
|
+
end
|
|
46
57
|
end
|
|
47
|
-
lambda { component.visible? } \
|
|
48
|
-
.should raise_error(Kookaburra::UnexpectedResponse)
|
|
49
58
|
end
|
|
50
59
|
end
|
|
51
60
|
|
|
52
61
|
describe '#url' do
|
|
53
62
|
it 'returns the app_host + #component_path' do
|
|
54
|
-
configuration.stub(:app_host => 'http://my.example.com')
|
|
55
63
|
def component.component_path
|
|
56
64
|
'/foo/bar'
|
|
57
65
|
end
|
|
@@ -81,10 +89,8 @@ describe Kookaburra::UIDriver::UIComponent do
|
|
|
81
89
|
|
|
82
90
|
describe '#this_element' do
|
|
83
91
|
it 'returns the HTML element representing this component' do
|
|
84
|
-
browser = double('Browser Driver')
|
|
85
92
|
element = double('Element')
|
|
86
93
|
|
|
87
|
-
configuration.stub(browser: browser)
|
|
88
94
|
def component.component_locator
|
|
89
95
|
'#my_component'
|
|
90
96
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kookaburra
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- John Wilger
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2014-
|
|
13
|
+
date: 2014-05-26 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rest-client
|