kameleon 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- 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
|