kameleon 0.0.8 → 0.0.9
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/lib/kameleon.rb +16 -1
- data/lib/kameleon/dsl/act.rb +24 -12
- data/lib/kameleon/dsl/see.rb +15 -4
- data/lib/kameleon/session/capybara.rb +2 -25
- data/lib/kameleon/session/server.rb +21 -0
- data/lib/kameleon/session/session_pool.rb +45 -0
- data/lib/kameleon/user/abstract.rb +21 -24
- data/lib/kameleon/user/guest.rb +1 -3
- data/lib/kameleon/utils/configuration.rb +15 -0
- data/lib/kameleon/utils/helpers.rb +11 -0
- data/lib/patch/capybara_selenium_driver.rb +7 -0
- data/spec/sample_rack_app/hey.rb +13 -6
- data/spec/spec_helper.rb +26 -1
- data/spec/unit/act/click_spec.rb +1 -1
- data/spec/unit/act/fill_in/attach_file_spec.rb +14 -5
- data/spec/unit/act/fill_in/checkbox_spec.rb +1 -1
- data/spec/unit/act/fill_in/date_ranges_spec.rb +1 -1
- data/spec/unit/act/fill_in/multiple_select_spec.rb +1 -1
- data/spec/unit/act/fill_in/radio_button_spec.rb +1 -1
- data/spec/unit/act/fill_in/select_spec.rb +1 -1
- data/spec/unit/act/fill_in/text_area_spec.rb +1 -1
- data/spec/unit/act/fill_in/text_input_spec.rb +1 -1
- data/spec/unit/act/on_hover_spec.rb +1 -1
- data/spec/unit/dsl/not_see/form_elements/fields/empty_spec.rb +1 -1
- data/spec/unit/dsl/not_see/form_elements/fields/readonly_spec.rb +1 -1
- data/spec/unit/dsl/not_see/form_elements/fields_spec.rb +1 -1
- data/spec/unit/dsl/not_see/form_elements/textareas_spec.rb +1 -1
- data/spec/unit/dsl/not_see/form_elements/texts_spec.rb +1 -1
- data/spec/unit/dsl/not_see/in_scopes_spec.rb +3 -1
- data/spec/unit/dsl/not_see/special_elements/buttons_spec.rb +1 -1
- data/spec/unit/dsl/not_see/special_elements/error_message_for_spec.rb +1 -1
- data/spec/unit/dsl/not_see/special_elements/images_spec.rb +1 -1
- data/spec/unit/dsl/not_see/special_elements/links_spec.rb +1 -1
- data/spec/unit/dsl/not_see/special_elements/ordered_texts_spec.rb +3 -3
- data/spec/unit/dsl/not_see/special_selectors_spec.rb +9 -5
- data/spec/unit/dsl/not_see/texts_spec.rb +1 -1
- data/spec/unit/dsl/see/counted_elements_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/checkboxes_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/fields/disabled_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/fields/empty_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/fields/readonly_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/fields_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/multiple_selects_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/radio_buttons_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/selects_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/textareas_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/texts_spec.rb +1 -1
- data/spec/unit/dsl/see/in_scopes_spec.rb +4 -2
- data/spec/unit/dsl/see/special_elements/buttons_spec.rb +1 -1
- data/spec/unit/dsl/see/special_elements/error_message_for_spec.rb +1 -1
- data/spec/unit/dsl/see/special_elements/images_spec.rb +1 -1
- data/spec/unit/dsl/see/special_elements/links_spec.rb +1 -1
- data/spec/unit/dsl/see/special_elements/ordered_texts_spec.rb +3 -3
- data/spec/unit/dsl/see/special_selectors_spec.rb +10 -6
- data/spec/unit/dsl/see/texts_spec.rb +1 -1
- data/spec/unit/guest_spec.rb +8 -4
- data/spec/unit/user_base_spec.rb +6 -8
- metadata +29 -23
data/spec/unit/act/click_spec.rb
CHANGED
@@ -2,16 +2,15 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe 'fill in attach file' do
|
4
4
|
before do
|
5
|
-
Capybara.app = Hey.new('form_elements.html')
|
6
5
|
@user = Kameleon::User::Guest.new(self)
|
6
|
+
@user.debug.visit('/form_elements.html')
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'should attach file' do
|
10
10
|
@user.will do
|
11
11
|
see :empty => 'File input'
|
12
|
-
|
13
|
-
|
14
|
-
see full_path => 'Active File input'
|
12
|
+
fill_in :attach => { 'click.html' => 'Active File input' }
|
13
|
+
see Kameleon::Utils::Helpers.default_path_for_file('click.html') => 'File input'
|
15
14
|
end
|
16
15
|
end
|
17
16
|
|
@@ -19,9 +18,19 @@ describe 'fill in attach file' do
|
|
19
18
|
it 'should not attach file' do
|
20
19
|
@user.will do
|
21
20
|
see :empty => 'Disable File input'
|
22
|
-
fill_in :attach => { '
|
21
|
+
fill_in :attach => { 'click.html' => 'Disable File input' }
|
23
22
|
see :empty => 'Disable File input'
|
24
23
|
end
|
25
24
|
end
|
26
25
|
end
|
26
|
+
|
27
|
+
context 'when file does not exist' do
|
28
|
+
it 'should raise error' do
|
29
|
+
expect do
|
30
|
+
@user.will do
|
31
|
+
fill_in :attach => { 'path' => 'Active File input' }
|
32
|
+
end
|
33
|
+
end.to_not raise_error(RuntimeError, %w{Sorry but we didn't found that file in: path'})
|
34
|
+
end
|
35
|
+
end
|
27
36
|
end
|
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe '#not_see readonly fields' do
|
4
4
|
before do
|
5
|
-
Capybara.app = Hey.new('form_elements.html')
|
6
5
|
@user = Kameleon::User::Guest.new(self)
|
6
|
+
@user.debug.visit('/form_elements.html')
|
7
7
|
end
|
8
8
|
|
9
9
|
context 'when text inside fields is not provied' do
|
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe '#not_see in scopes' do
|
4
4
|
before do
|
5
|
-
Capybara.app = Hey.new('scopes.html')
|
6
5
|
@user = Kameleon::User::Guest.new(self)
|
6
|
+
@user.debug.visit('/scopes.html')
|
7
7
|
end
|
8
8
|
|
9
9
|
context '#will' do
|
@@ -33,6 +33,8 @@ describe '#not_see in scopes' do
|
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'should not see in many selctors scope' do
|
36
|
+
@user = Kameleon::User::Guest.new(self, :driver => :rack_test)
|
37
|
+
@user.debug.visit('/scopes.html')
|
36
38
|
@user.within(:xpath, '//div[@id="footer"]/span | //div[@id="main"]/div[@id="left"]', :select_multiple) do
|
37
39
|
not_see 'Right side', 'Sample text in top of page', 'Sample text in footer'
|
38
40
|
end
|
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe '#not_see special elements - buttons' do
|
4
4
|
before do
|
5
|
-
Capybara.app = Hey.new('special_elements.html')
|
6
5
|
@user = Kameleon::User::Guest.new(self)
|
6
|
+
@user.debug.visit('/special_elements.html')
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'should not see one button' do
|
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe '#not_see special elements - error message for' do
|
4
4
|
before do
|
5
|
-
Capybara.app = Hey.new('error_message_for.html')
|
6
5
|
@user = Kameleon::User::Guest.new(self)
|
6
|
+
@user.debug.visit('/error_message_for.html')
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'should not see one messages' do
|
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe '#not_see special elements - images' do
|
4
4
|
before do
|
5
|
-
Capybara.app = Hey.new('special_elements.html')
|
6
5
|
@user = Kameleon::User::Guest.new(self)
|
6
|
+
@user.debug.visit('/special_elements.html')
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'should not see one image' do
|
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe '#not_see special elements - links' do
|
4
4
|
before do
|
5
|
-
Capybara.app = Hey.new('special_elements.html')
|
6
5
|
@user = Kameleon::User::Guest.new(self)
|
6
|
+
@user.debug.visit('/special_elements.html')
|
7
7
|
end
|
8
8
|
|
9
9
|
context 'when src is provided' do
|
@@ -3,18 +3,18 @@ require 'spec_helper'
|
|
3
3
|
|
4
4
|
describe '#not_see special elements - ordered texts' do
|
5
5
|
before do
|
6
|
-
Capybara.app = Hey.new('special_elements.html')
|
7
6
|
@user = Kameleon::User::Guest.new(self)
|
7
|
+
@user.debug.visit('/special_elements.html')
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'should not see text in proper order' do
|
11
|
-
@user.not_see :ordered => ['Tomasz
|
11
|
+
@user.not_see :ordered => ['Tomasz Bak', 'Michal Czyz', 'Rafal Bromirski']
|
12
12
|
end
|
13
13
|
|
14
14
|
context 'when texts is in proper order' do
|
15
15
|
it 'should raise error' do
|
16
16
|
expect do
|
17
|
-
@user.not_see :ordered => ['
|
17
|
+
@user.not_see :ordered => ['Michal Czyz', 'Tomasz Bak', 'Rafal Bromirski']
|
18
18
|
end.to raise_error(RSpec::Expectations::ExpectationNotMetError)
|
19
19
|
end
|
20
20
|
end
|
@@ -2,20 +2,24 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
describe '#not_see special selectors in tables' do
|
5
|
-
before do
|
6
|
-
Capybara.app = Hey.new('special_elements.html')
|
7
|
-
@user = Kameleon::User::Guest.new(self)
|
8
|
-
end
|
9
5
|
|
10
6
|
context 'when in row' do
|
7
|
+
before do
|
8
|
+
@user = Kameleon::User::Guest.new(self)
|
9
|
+
@user.debug.visit('/special_elements.html')
|
10
|
+
end
|
11
11
|
it 'should not see text' do
|
12
|
-
@user.within(:row => '
|
12
|
+
@user.within(:row => 'Michal Czyz') do
|
13
13
|
not_see "17"
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
18
|
context 'when in column' do
|
19
|
+
before do
|
20
|
+
@user = Kameleon::User::Guest.new(self, {:driver => :rack_test})
|
21
|
+
@user.debug.visit('/special_elements.html')
|
22
|
+
end
|
19
23
|
context 'when scoped by full text' do
|
20
24
|
it 'should not see text' do
|
21
25
|
@user.within(:column => 'Selleo') do
|
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe '#see readonly fields' do
|
4
4
|
before do
|
5
|
-
Capybara.app = Hey.new('form_elements.html')
|
6
5
|
@user = Kameleon::User::Guest.new(self)
|
6
|
+
@user.debug.visit('/form_elements.html')
|
7
7
|
end
|
8
8
|
|
9
9
|
context 'when text inside fields is not provied' do
|
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe '#see form elements - multiple selects' do
|
4
4
|
before do
|
5
|
-
Capybara.app = Hey.new('form_elements.html')
|
6
5
|
@user = Kameleon::User::Guest.new(self)
|
6
|
+
@user.debug.visit('/form_elements.html')
|
7
7
|
end
|
8
8
|
|
9
9
|
context 'when status "selected"' do
|