howitzer 1.0.2 → 1.1.0
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/.coveralls.yml +1 -0
- data/.gitignore +3 -1
- data/.ruby-gemset +1 -0
- data/.travis.yml +4 -1
- data/.yardopts +5 -0
- data/CHANGELOG.md +23 -1
- data/CONTRIBUTING.md +14 -0
- data/GETTING_STARTED.md +283 -183
- data/Gemfile +3 -2
- data/LICENSE +1 -1
- data/README.md +93 -39
- data/Rakefile +4 -0
- data/bin/howitzer +34 -5
- data/features/cli_help.feature +3 -2
- data/features/cli_new.feature +1 -1
- data/features/cli_unknown.feature +1 -1
- data/features/cli_update.feature +84 -0
- data/features/step_definitions/common_steps.rb +9 -1
- data/generators/base_generator.rb +30 -15
- data/generators/config/config_generator.rb +7 -7
- data/generators/config/templates/custom.yml +1 -0
- data/generators/config/templates/default.yml +35 -5
- data/generators/cucumber/templates/env.rb +2 -2
- data/generators/cucumber/templates/transformers.rb +3 -1
- data/generators/root/templates/Gemfile +5 -3
- data/generators/root/templates/Rakefile +2 -0
- data/generators/rspec/templates/example_spec.rb +3 -3
- data/generators/rspec/templates/spec_helper.rb +6 -7
- data/howitzer.gemspec +15 -15
- data/lib/howitzer/capybara/settings.rb +125 -49
- data/lib/howitzer/helpers.rb +161 -94
- data/lib/howitzer/mailgun/client.rb +1 -1
- data/lib/howitzer/tasks/framework.rake +3 -0
- data/lib/howitzer/utils.rb +1 -1
- data/lib/howitzer/utils/locator_store.rb +1 -1
- data/lib/howitzer/utils/log.rb +1 -1
- data/lib/howitzer/utils/page_validator.rb +1 -1
- data/lib/howitzer/version.rb +1 -1
- data/lib/howitzer/web_page.rb +11 -11
- data/spec/spec_helper.rb +25 -22
- data/spec/support/generator_helper.rb +8 -1
- data/spec/unit/generators/base_generator_spec.rb +242 -0
- data/spec/unit/generators/config_generator_spec.rb +34 -0
- data/spec/unit/generators/cucumber_generator_spec.rb +45 -0
- data/spec/unit/generators/emails_generator_spec.rb +31 -0
- data/spec/unit/generators/pages_generator_spec.rb +33 -0
- data/spec/unit/generators/root_generator_spec.rb +35 -0
- data/spec/unit/generators/rspec_generator_spec.rb +36 -0
- data/spec/unit/generators/tasks_generator_spec.rb +31 -0
- data/spec/unit/lib/capybara/dsl_ex_spec.rb +11 -11
- data/spec/unit/lib/capybara/settings_spec.rb +336 -58
- data/spec/unit/lib/email_spec.rb +17 -17
- data/spec/unit/lib/helpers_spec.rb +699 -315
- data/spec/unit/lib/mailgun/client_spec.rb +9 -9
- data/spec/unit/lib/mailgun/connector_spec.rb +20 -20
- data/spec/unit/lib/mailgun/response_spec.rb +9 -9
- data/spec/unit/lib/settings_spec.rb +6 -6
- data/spec/unit/lib/utils/data_generator/data_storage_spec.rb +31 -31
- data/spec/unit/lib/utils/data_generator/gen_spec.rb +20 -20
- data/spec/unit/lib/utils/locator_store_spec.rb +39 -39
- data/spec/unit/lib/utils/log_spec.rb +42 -42
- data/spec/unit/lib/utils/page_validator_spec.rb +69 -70
- data/spec/unit/lib/web_page_spec.rb +91 -69
- data/spec/unit/version_spec.rb +3 -3
- metadata +100 -78
- data/spec/unit/generators/generators_spec.rb +0 -175
data/spec/unit/lib/email_spec.rb
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require
|
3
|
-
require
|
2
|
+
require 'howitzer/email'
|
3
|
+
require 'howitzer/utils/log'
|
4
4
|
require 'howitzer/exceptions'
|
5
5
|
|
6
|
-
describe
|
6
|
+
RSpec.describe 'Email' do
|
7
7
|
let(:recipient){ 'first_tester@gmail.com' }
|
8
8
|
let(:message) do
|
9
9
|
{
|
10
10
|
'body-plain' => 'test body footer',
|
11
|
-
'stripped-html' =>
|
11
|
+
'stripped-html' => '<p> test body </p> <p> footer </p>',
|
12
12
|
'stripped-text' => 'test body',
|
13
|
-
'From' =>
|
13
|
+
'From' => 'Strong Tester <tester@gmail.com>',
|
14
14
|
'To' => recipient,
|
15
|
-
'Received' =>
|
15
|
+
'Received' => 'by 10.216.46.75 with HTTP; Sat, 5 Apr 2014 05:10:42 -0700 (PDT)',
|
16
16
|
'sender' => 'tester@gmail.com',
|
17
17
|
'attachments' => []
|
18
18
|
}
|
@@ -43,23 +43,23 @@ describe "Email" do
|
|
43
43
|
let(:mailgun_message){ double(to_h: message) }
|
44
44
|
let(:events) { double(to_h: {'items' => [event]}) }
|
45
45
|
subject { Email.find(recipient, message_subject) }
|
46
|
-
context
|
46
|
+
context 'when message is found' do
|
47
47
|
let(:event) { {'message' => {'recipients' => [recipient], 'headers' => {'subject' => message_subject} }, 'storage' => {'key' => '1234567890'} } }
|
48
48
|
before do
|
49
|
-
allow(Mailgun::Connector.instance.client).to receive(:get).with(
|
50
|
-
allow(Mailgun::Connector.instance.client).to receive(:get).with(
|
49
|
+
allow(Mailgun::Connector.instance.client).to receive(:get).with('mailgun@test.domain/events', event: 'stored').ordered.once {events}
|
50
|
+
allow(Mailgun::Connector.instance.client).to receive(:get).with('domains/mailgun@test.domain/messages/1234567890').ordered.once { mailgun_message }
|
51
51
|
end
|
52
52
|
it do
|
53
53
|
expect(Email).to receive(:new).with(message).once
|
54
54
|
subject
|
55
55
|
end
|
56
56
|
end
|
57
|
-
context
|
58
|
-
let(:event) { {'message' => {'recipients' => [
|
57
|
+
context 'when message is not found' do
|
58
|
+
let(:event) { {'message' => {'recipients' => ['other@test.com'], 'headers' => {'subject' => message_subject} }, 'storage' => {'key' => '1234567890'} } }
|
59
59
|
before do
|
60
60
|
allow(settings).to receive(:timeout_small) { 0.5 }
|
61
61
|
allow(settings).to receive(:timeout_short) { 0.05 }
|
62
|
-
allow(Mailgun::Connector.instance.client).to receive(:get).with(
|
62
|
+
allow(Mailgun::Connector.instance.client).to receive(:get).with('mailgun@test.domain/events', event: 'stored').at_least(:twice).ordered {events}
|
63
63
|
end
|
64
64
|
it do
|
65
65
|
expect(log).to receive(:error).with(Howitzer::EmailNotFoundError, "Message with subject '#{message_subject}' for recipient '#{recipient}' was not found.")
|
@@ -86,17 +86,17 @@ describe "Email" do
|
|
86
86
|
|
87
87
|
describe '#recipients' do
|
88
88
|
subject { email_object.recipients }
|
89
|
-
it {
|
89
|
+
it { is_expected.to be_a_kind_of Array }
|
90
90
|
|
91
91
|
context 'when one recipient' do
|
92
|
-
it {
|
92
|
+
it { is_expected.to include message['To']}
|
93
93
|
end
|
94
94
|
|
95
95
|
context 'when more than one recipient' do
|
96
|
-
let(:second_recipient) {
|
96
|
+
let(:second_recipient) { 'second_tester@gmail.com' }
|
97
97
|
let(:message_with_multiple_recipients) { message.merge({'To' => "#{recipient}, #{second_recipient}"}) }
|
98
98
|
let(:email_object) { Email.new(message_with_multiple_recipients) }
|
99
|
-
it {
|
99
|
+
it { is_expected.to eql [recipient, second_recipient] }
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
@@ -114,7 +114,7 @@ describe "Email" do
|
|
114
114
|
context 'when has attachments' do
|
115
115
|
let(:files) { [double] }
|
116
116
|
before { email_object.instance_variable_set(:@message, 'attachments' => files)}
|
117
|
-
it {
|
117
|
+
it { is_expected.to eq(files) }
|
118
118
|
end
|
119
119
|
|
120
120
|
context 'when no attachments' do
|
@@ -1,620 +1,1003 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require
|
2
|
+
require 'howitzer/helpers'
|
3
3
|
|
4
|
-
describe
|
5
|
-
let(:settings) { double(
|
4
|
+
RSpec.describe 'Helpers' do
|
5
|
+
let(:settings) { double('settings')}
|
6
|
+
let(:selenium_driver) { false }
|
7
|
+
let(:selenium_grid_driver) { false }
|
8
|
+
let(:phantomjs_driver) { false }
|
9
|
+
let(:sauce_driver) { false }
|
10
|
+
let(:testingbot_driver) { false }
|
6
11
|
|
7
|
-
describe
|
12
|
+
describe '#sauce_driver?' do
|
8
13
|
subject { sauce_driver? }
|
9
14
|
before { allow(settings).to receive(:driver) { driver_setting } }
|
10
|
-
context
|
15
|
+
context 'when :sauce' do
|
11
16
|
let(:driver_setting) {:sauce}
|
12
|
-
it{
|
17
|
+
it{ is_expected.to be_truthy }
|
13
18
|
end
|
14
|
-
context
|
19
|
+
context 'when not :sauce' do
|
15
20
|
let(:driver_setting) {:phantomjs}
|
16
|
-
it{
|
21
|
+
it{ is_expected.to be_falsey }
|
17
22
|
end
|
18
|
-
context
|
19
|
-
let(:driver_setting) {
|
20
|
-
it{
|
23
|
+
context 'when driver specified as String' do
|
24
|
+
let(:driver_setting) { 'sauce' }
|
25
|
+
it{ is_expected.to be true }
|
21
26
|
end
|
22
|
-
context
|
27
|
+
context 'when driver is not specified' do
|
23
28
|
let(:driver_setting) { nil }
|
24
29
|
it do
|
25
|
-
expect(log).to receive(:error).with(Howitzer::DriverNotSpecifiedError,
|
30
|
+
expect(log).to receive(:error).with(Howitzer::DriverNotSpecifiedError, 'Please check your settings').once.and_call_original
|
26
31
|
expect { subject }.to raise_error(Howitzer::DriverNotSpecifiedError)
|
27
32
|
end
|
28
33
|
end
|
29
34
|
end
|
30
35
|
|
31
|
-
describe
|
36
|
+
describe '#testingbot_driver?' do
|
32
37
|
subject { testingbot_driver? }
|
33
38
|
before { allow(settings).to receive(:driver) { driver_setting } }
|
34
|
-
context
|
39
|
+
context 'when :testingbot' do
|
35
40
|
let(:driver_setting) {:testingbot}
|
36
|
-
it{
|
41
|
+
it{ is_expected.to be_truthy }
|
37
42
|
end
|
38
|
-
context
|
43
|
+
context 'when not :testingbot' do
|
39
44
|
let(:driver_setting) {:phantomjs}
|
40
|
-
it{
|
45
|
+
it{ is_expected.to be_falsey }
|
41
46
|
end
|
42
|
-
context
|
43
|
-
let(:driver_setting) {
|
44
|
-
it{
|
47
|
+
context 'when driver specified as String' do
|
48
|
+
let(:driver_setting) { 'testingbot' }
|
49
|
+
it{ is_expected.to be_truthy }
|
45
50
|
end
|
46
|
-
context
|
51
|
+
context 'when driver is not specified' do
|
47
52
|
let(:driver_setting) { nil }
|
48
53
|
it do
|
49
|
-
expect(log).to receive(:error).with(Howitzer::DriverNotSpecifiedError,
|
54
|
+
expect(log).to receive(:error).with(Howitzer::DriverNotSpecifiedError, 'Please check your settings').once.and_call_original
|
50
55
|
expect { subject }.to raise_error(Howitzer::DriverNotSpecifiedError)
|
51
56
|
end
|
52
57
|
end
|
53
58
|
end
|
54
59
|
|
55
|
-
describe
|
60
|
+
describe '#phantomjs_driver?' do
|
56
61
|
subject { phantomjs_driver? }
|
57
62
|
before { allow(settings).to receive(:driver) { driver_setting } }
|
58
|
-
context
|
63
|
+
context 'when :phantomjs' do
|
59
64
|
let(:driver_setting) {:phantomjs}
|
60
|
-
it{
|
65
|
+
it{ is_expected.to be_truthy }
|
61
66
|
end
|
62
|
-
context
|
67
|
+
context 'when not :phantomjs' do
|
63
68
|
let(:driver_setting) {:selenium}
|
64
|
-
it{
|
69
|
+
it{ is_expected.to be_falsey }
|
65
70
|
end
|
66
|
-
context
|
67
|
-
let(:driver_setting) {
|
68
|
-
it{
|
71
|
+
context 'when :selenium_grid' do
|
72
|
+
let(:driver_setting) {:selenium_grid}
|
73
|
+
it{ is_expected.to be_falsey }
|
69
74
|
end
|
70
|
-
context
|
75
|
+
context 'when driver specified as String' do
|
76
|
+
let(:driver_setting) { 'phantomjs' }
|
77
|
+
it{ is_expected.to be_truthy }
|
78
|
+
end
|
79
|
+
context 'when driver is not specified' do
|
71
80
|
let(:driver_setting) { nil }
|
72
81
|
it do
|
73
|
-
expect(log).to receive(:error).with(Howitzer::DriverNotSpecifiedError,
|
82
|
+
expect(log).to receive(:error).with(Howitzer::DriverNotSpecifiedError, 'Please check your settings').once.and_call_original
|
74
83
|
expect { subject }.to raise_error(Howitzer::DriverNotSpecifiedError)
|
75
84
|
end
|
76
85
|
end
|
77
86
|
end
|
78
87
|
|
79
|
-
describe
|
88
|
+
describe '#selenium_driver?' do
|
80
89
|
subject { selenium_driver? }
|
81
90
|
before { allow(settings).to receive(:driver) { driver_setting } }
|
82
|
-
context
|
91
|
+
context 'when :selenium' do
|
83
92
|
let(:driver_setting) {:selenium}
|
84
|
-
it{
|
93
|
+
it{ is_expected.to be_truthy }
|
94
|
+
end
|
95
|
+
context 'when :selenium_grid' do
|
96
|
+
let(:driver_setting) {:selenium_grid}
|
97
|
+
it{ is_expected.to be_falsey }
|
85
98
|
end
|
86
|
-
context
|
99
|
+
context 'when not :selenium' do
|
87
100
|
let(:driver_setting) {:phantomjs}
|
88
|
-
it{
|
101
|
+
it{ is_expected.to be_falsey }
|
89
102
|
end
|
90
|
-
context
|
91
|
-
let(:driver_setting) {
|
92
|
-
it{
|
103
|
+
context 'when driver specified as String' do
|
104
|
+
let(:driver_setting) { 'selenium' }
|
105
|
+
it{ is_expected.to be_truthy }
|
93
106
|
end
|
94
|
-
context
|
107
|
+
context 'when driver is not specified' do
|
95
108
|
let(:driver_setting) { nil }
|
96
109
|
it do
|
97
|
-
expect(log).to receive(:error).with(Howitzer::DriverNotSpecifiedError,
|
110
|
+
expect(log).to receive(:error).with(Howitzer::DriverNotSpecifiedError, 'Please check your settings').once.and_call_original
|
98
111
|
expect { subject }.to raise_error(Howitzer::DriverNotSpecifiedError)
|
99
112
|
end
|
100
113
|
end
|
101
114
|
end
|
102
115
|
|
103
|
-
describe
|
116
|
+
describe '#selenium_grid_driver?' do
|
117
|
+
subject { selenium_grid_driver? }
|
118
|
+
before { allow(settings).to receive(:driver) { driver_setting } }
|
119
|
+
context 'when :selenium_grid' do
|
120
|
+
let(:driver_setting) {:selenium_grid}
|
121
|
+
it{ is_expected.to be_truthy }
|
122
|
+
end
|
123
|
+
context 'when :selenium' do
|
124
|
+
let(:driver_setting) {:selenium}
|
125
|
+
it{ is_expected.to be_falsey }
|
126
|
+
end
|
127
|
+
context 'when not :selenium' do
|
128
|
+
let(:driver_setting) {:phantomjs}
|
129
|
+
it{ is_expected.to be_falsey }
|
130
|
+
end
|
131
|
+
context 'when driver specified as String' do
|
132
|
+
let(:driver_setting) { 'selenium_grid' }
|
133
|
+
it{ is_expected.to be_truthy }
|
134
|
+
end
|
135
|
+
context 'when driver is not specified' do
|
136
|
+
let(:driver_setting) { nil }
|
137
|
+
it do
|
138
|
+
expect(log).to receive(:error).with(Howitzer::DriverNotSpecifiedError, 'Please check your settings').once.and_call_original
|
139
|
+
expect { subject }.to raise_error(Howitzer::DriverNotSpecifiedError)
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
describe '#ie_browser?' do
|
104
145
|
subject { ie_browser? }
|
105
|
-
before { allow(self).to receive(:sauce_driver?) {sauce_driver} }
|
106
|
-
before { allow(self).to receive(:testingbot_driver?) {testingbot_driver} }
|
107
|
-
|
146
|
+
before { allow(self).to receive(:sauce_driver?) { sauce_driver } }
|
147
|
+
before { allow(self).to receive(:testingbot_driver?) { testingbot_driver } }
|
148
|
+
before { allow(self).to receive(:selenium_grid_driver?) { selenium_grid_driver } }
|
149
|
+
context 'when sauce_driver? is TRUE' do
|
108
150
|
let(:sauce_driver) { true }
|
109
|
-
|
110
|
-
context "settings.sl_browser_name = :ie" do
|
151
|
+
context 'settings.sl_browser_name = :ie' do
|
111
152
|
before { allow(settings).to receive(:sl_browser_name) { :ie } }
|
112
|
-
it {
|
153
|
+
it { is_expected.to be_truthy }
|
113
154
|
end
|
114
|
-
context
|
155
|
+
context 'settings.sl_browser_name = :iexplore' do
|
115
156
|
before { allow(settings).to receive(:sl_browser_name) { :iexplore } }
|
116
|
-
it {
|
157
|
+
it { is_expected.to be_truthy }
|
117
158
|
end
|
118
|
-
context
|
159
|
+
context 'settings.sl_browser_name = :chrome' do
|
119
160
|
before { allow(settings).to receive(:sl_browser_name) { :chrome } }
|
120
|
-
it {
|
161
|
+
it { is_expected.to be_falsey }
|
121
162
|
end
|
122
|
-
context
|
163
|
+
context 'settings.sl_browser_name is not specified' do
|
123
164
|
before { allow(settings).to receive(:sl_browser_name) { nil } }
|
124
165
|
it do
|
125
|
-
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError,
|
166
|
+
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
126
167
|
expect { subject }.to raise_error(Howitzer::SlBrowserNotSpecifiedError)
|
127
168
|
end
|
128
169
|
end
|
129
170
|
end
|
130
|
-
context
|
131
|
-
let(:sauce_driver) { false }
|
132
|
-
let(:testingbot_driver) { false }
|
171
|
+
context 'when sauce_driver? is FALSE' do
|
133
172
|
before { allow(self).to receive(:selenium_driver?){ selenium_driver} }
|
134
|
-
context
|
173
|
+
context 'when selenium_driver? is TRUE' do
|
135
174
|
let(:selenium_driver) { true }
|
136
|
-
context
|
175
|
+
context 'settings.sel_browser = :ie' do
|
176
|
+
before { allow(settings).to receive(:sel_browser) { :ie } }
|
177
|
+
it { is_expected.to be_truthy }
|
178
|
+
end
|
179
|
+
context 'settings.sel_browser = :iexplore' do
|
180
|
+
before { allow(settings).to receive(:sel_browser) { :iexplore } }
|
181
|
+
it { is_expected.to be_truthy }
|
182
|
+
end
|
183
|
+
context 'settings.sel_browser = :chrome' do
|
184
|
+
before { allow(settings).to receive(:sel_browser) { :chrome } }
|
185
|
+
it { is_expected.to be_falsey }
|
186
|
+
end
|
187
|
+
context 'settings.sel_browser is not specified' do
|
188
|
+
before { allow(settings).to receive(:sel_browser) { nil } }
|
189
|
+
it do
|
190
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
191
|
+
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
195
|
+
context 'when selenium_driver? is FALSE' do
|
196
|
+
it { is_expected.to be_falsey }
|
197
|
+
end
|
198
|
+
context 'when selenium_grid_driver? is TRUE' do
|
199
|
+
let(:selenium_grid_driver) { true }
|
200
|
+
context 'settings.sel_browser = :ie' do
|
137
201
|
before { allow(settings).to receive(:sel_browser) { :ie } }
|
138
|
-
it {
|
202
|
+
it { is_expected.to be_truthy }
|
139
203
|
end
|
140
|
-
context
|
204
|
+
context 'settings.sel_browser = :iexplore' do
|
141
205
|
before { allow(settings).to receive(:sel_browser) { :iexplore } }
|
142
|
-
it {
|
206
|
+
it { is_expected.to be_truthy }
|
143
207
|
end
|
144
|
-
context
|
208
|
+
context 'settings.sel_browser = :chrome' do
|
145
209
|
before { allow(settings).to receive(:sel_browser) { :chrome } }
|
146
|
-
it {
|
210
|
+
it { is_expected.to be_falsey }
|
147
211
|
end
|
148
|
-
context
|
212
|
+
context 'settings.sel_browser is not specified' do
|
149
213
|
before { allow(settings).to receive(:sel_browser) { nil } }
|
150
214
|
it do
|
151
|
-
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError,
|
215
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
152
216
|
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
153
217
|
end
|
154
218
|
end
|
155
219
|
end
|
156
|
-
context
|
157
|
-
|
158
|
-
it { expect(subject).to be_false }
|
220
|
+
context 'when selenium_grid_driver? is FALSE' do
|
221
|
+
it { is_expected.to be_falsey }
|
159
222
|
end
|
160
223
|
end
|
161
|
-
context
|
224
|
+
context 'when testingbot_driver? is TRUE' do
|
162
225
|
let(:testingbot_driver) { true }
|
163
|
-
let(:sauce_driver) { false }
|
164
226
|
before { allow(settings).to receive(:testingbot_driver?) { testingbot_driver } }
|
165
|
-
context
|
227
|
+
context 'settings.sel_browser = :ie' do
|
166
228
|
before do
|
167
229
|
allow(settings).to receive(:tb_browser_name) { :ie }
|
168
230
|
allow(settings).to receive(:tb_browser_version) { 9 }
|
169
231
|
end
|
170
|
-
it {
|
232
|
+
it { is_expected.to be_truthy }
|
171
233
|
end
|
172
|
-
context
|
234
|
+
context 'settings.tb_browser_name = :iexplore' do
|
173
235
|
before do
|
174
236
|
allow(settings).to receive(:tb_browser_name) { :iexplore }
|
175
237
|
allow(settings).to receive(:tb_browser_version) { 9 }
|
176
238
|
end
|
177
|
-
it {
|
239
|
+
it { is_expected.to be_truthy }
|
178
240
|
end
|
179
|
-
context
|
241
|
+
context 'settings.tb_browser_name = :firefox' do
|
180
242
|
before do
|
181
243
|
allow(settings).to receive(:tb_browser_name) { :firefox }
|
182
244
|
allow(settings).to receive(:tb_browser_version) { 8 }
|
183
245
|
end
|
184
|
-
it {
|
246
|
+
it { is_expected.to be_falsey }
|
185
247
|
end
|
186
|
-
context
|
248
|
+
context 'settings.tb_browser_name is not specified' do
|
187
249
|
before { allow(settings).to receive(:tb_browser_name) { nil } }
|
188
250
|
it do
|
189
|
-
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError,
|
251
|
+
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
190
252
|
expect { subject }.to raise_error(Howitzer::TbBrowserNotSpecifiedError)
|
191
253
|
end
|
192
254
|
end
|
193
255
|
end
|
194
|
-
context
|
256
|
+
context 'when testingbot_driver? is FALSE' do
|
195
257
|
before { allow(self).to receive(:sauce_driver?) { sauce_driver } }
|
196
|
-
context
|
197
|
-
let(:testingbot_driver) { false }
|
258
|
+
context 'when sauce_driver? is TRUE' do
|
198
259
|
let(:sauce_driver) { true }
|
199
|
-
context
|
260
|
+
context 'settings.sl_browser_name = :ie' do
|
200
261
|
before { allow(settings).to receive(:sl_browser_name) { :ie } }
|
201
|
-
it {
|
262
|
+
it { is_expected.to be_truthy }
|
202
263
|
end
|
203
|
-
context
|
264
|
+
context 'settings.sl_browser_name = :iexplore' do
|
204
265
|
before { allow(settings).to receive(:sl_browser_name) { :iexplore } }
|
205
|
-
it {
|
266
|
+
it { is_expected.to be_truthy }
|
206
267
|
end
|
207
|
-
context
|
268
|
+
context 'settings.sl_browser_name = :chrome' do
|
208
269
|
before { allow(settings).to receive(:sl_browser_name) { :chrome } }
|
209
|
-
it {
|
270
|
+
it { is_expected.to be_falsey }
|
210
271
|
end
|
211
|
-
context
|
272
|
+
context 'settings.sl_browser_name is not specified' do
|
212
273
|
before { allow(settings).to receive(:sl_browser_name) { nil } }
|
213
274
|
it do
|
214
|
-
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError,
|
275
|
+
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
215
276
|
expect { subject }.to raise_error(Howitzer::SlBrowserNotSpecifiedError)
|
216
277
|
end
|
217
278
|
end
|
218
279
|
end
|
219
280
|
end
|
220
|
-
context
|
221
|
-
let(:sauce_driver) { false }
|
222
|
-
let(:testingbot_driver) { false }
|
281
|
+
context 'when selenium_driver? is TRUE' do
|
223
282
|
before { allow(self).to receive(:selenium_driver?) { selenium_driver } }
|
224
|
-
context
|
283
|
+
context 'when selenium_driver? is TRUE' do
|
225
284
|
let(:selenium_driver) { true }
|
226
|
-
context
|
285
|
+
context 'settings.sel_browser = :ie' do
|
227
286
|
before { allow(settings).to receive(:sel_browser) { :ie } }
|
228
|
-
it {
|
287
|
+
it { is_expected.to be_truthy }
|
229
288
|
end
|
230
|
-
context
|
289
|
+
context 'settings.sel_browser = :iexplore' do
|
231
290
|
before { allow(settings).to receive(:sel_browser) { :iexplore } }
|
232
|
-
it {
|
291
|
+
it { is_expected.to be_truthy }
|
233
292
|
end
|
234
|
-
context
|
293
|
+
context 'settings.sel_browser = :chrome' do
|
235
294
|
before { allow(settings).to receive(:sel_browser) { :chrome } }
|
236
|
-
it {
|
295
|
+
it { is_expected.to be_falsey }
|
237
296
|
end
|
238
|
-
context
|
297
|
+
context 'settings.sel_browser is not specified' do
|
239
298
|
before { allow(settings).to receive(:sel_browser) { nil } }
|
240
299
|
it do
|
241
|
-
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError,
|
300
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
242
301
|
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
243
302
|
end
|
244
303
|
end
|
245
304
|
end
|
246
305
|
end
|
247
|
-
context
|
306
|
+
context 'when selenium_driver? is FALSE' do
|
248
307
|
before { allow(self).to receive(:selenium_driver?) { false } }
|
249
|
-
context
|
308
|
+
context 'when testingbot_driver? is TRUE' do
|
250
309
|
let(:testingbot_driver) { true }
|
251
|
-
let(:sauce_driver) { false }
|
252
310
|
before { allow(settings).to receive(:testingbot_driver?) { testingbot_driver } }
|
253
|
-
context
|
311
|
+
context 'settings.sl_browser_name = :ie' do
|
254
312
|
before do
|
255
313
|
allow(settings).to receive(:tb_browser_name) { :ie }
|
256
314
|
allow(settings).to receive(:tb_browser_version) { 9 }
|
257
315
|
end
|
258
|
-
it {
|
316
|
+
it { is_expected.to be_truthy }
|
259
317
|
end
|
260
|
-
context
|
318
|
+
context 'settings.tb_browser_name = :iexplore' do
|
261
319
|
before do
|
262
320
|
allow(settings).to receive(:tb_browser_name) { :iexplore }
|
263
321
|
allow(settings).to receive(:tb_browser_version) { 9 }
|
264
322
|
end
|
265
|
-
it {
|
323
|
+
it { is_expected.to be_truthy }
|
266
324
|
end
|
267
|
-
context
|
325
|
+
context 'settings.tb_browser_name = :firefox' do
|
268
326
|
before do
|
269
327
|
allow(settings).to receive(:tb_browser_name) { :firefox }
|
270
328
|
allow(settings).to receive(:tb_browser_version) { 8 }
|
271
329
|
end
|
272
|
-
it {
|
330
|
+
it { is_expected.to be_falsey }
|
273
331
|
end
|
274
|
-
context
|
332
|
+
context 'settings.tb_browser_name is not specified' do
|
275
333
|
before { allow(settings).to receive(:tb_browser_name) { nil } }
|
276
334
|
it do
|
277
|
-
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError,
|
335
|
+
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
278
336
|
expect { subject }.to raise_error(Howitzer::TbBrowserNotSpecifiedError)
|
279
337
|
end
|
280
338
|
end
|
281
339
|
end
|
282
340
|
end
|
283
341
|
end
|
284
|
-
|
342
|
+
|
343
|
+
describe '#ff_browser?' do
|
285
344
|
subject { ff_browser? }
|
286
|
-
before { allow(self).to receive(:sauce_driver?){ sauce_driver} }
|
287
|
-
before { allow(self).to receive(:testingbot_driver?){ testingbot_driver} }
|
288
|
-
|
345
|
+
before { allow(self).to receive(:sauce_driver?){ sauce_driver } }
|
346
|
+
before { allow(self).to receive(:testingbot_driver?){ testingbot_driver } }
|
347
|
+
before { allow(self).to receive(:selenium_grid_driver?){ selenium_grid_driver } }
|
348
|
+
context 'when sauce_driver? is TRUE' do
|
289
349
|
let(:sauce_driver) { true }
|
290
|
-
|
291
|
-
context "settings.sl_browser_name = :ff" do
|
350
|
+
context 'settings.sl_browser_name = :ff' do
|
292
351
|
before { allow(settings).to receive(:sl_browser_name) { :ff } }
|
293
|
-
it {
|
352
|
+
it { is_expected.to be_truthy }
|
294
353
|
end
|
295
|
-
context
|
354
|
+
context 'settings.sl_browser_name = :firefox' do
|
296
355
|
before { allow(settings).to receive(:sl_browser_name) { :firefox } }
|
297
|
-
it {
|
356
|
+
it { is_expected.to be_truthy }
|
298
357
|
end
|
299
|
-
context
|
358
|
+
context 'settings.sl_browser_name = :chrome' do
|
300
359
|
before { allow(settings).to receive(:sl_browser_name) { :chrome } }
|
301
|
-
it {
|
360
|
+
it { is_expected.to be_falsey }
|
302
361
|
end
|
303
|
-
context
|
362
|
+
context 'settings.sl_browser_name is not specified' do
|
304
363
|
before { allow(settings).to receive(:sl_browser_name) { nil } }
|
305
364
|
it do
|
306
|
-
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError,
|
365
|
+
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
307
366
|
expect { subject }.to raise_error(Howitzer::SlBrowserNotSpecifiedError)
|
308
367
|
end
|
309
368
|
end
|
310
369
|
end
|
311
|
-
context
|
312
|
-
let(:testingbot_driver) { false }
|
313
|
-
let(:sauce_driver) { false }
|
370
|
+
context 'when sauce_driver? is FALSE' do
|
314
371
|
before { allow(self).to receive(:selenium_driver?){ selenium_driver} }
|
315
|
-
context
|
372
|
+
context 'when selenium_driver? is TRUE' do
|
316
373
|
let(:selenium_driver) { true }
|
317
|
-
context
|
374
|
+
context 'settings.sel_browser = :ff' do
|
318
375
|
before { allow(settings).to receive(:sel_browser) { :ff } }
|
319
|
-
it {
|
376
|
+
it { is_expected.to be_truthy }
|
320
377
|
end
|
321
|
-
context
|
378
|
+
context 'settings.sel_browser = :firefox' do
|
322
379
|
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
323
|
-
it {
|
380
|
+
it { is_expected.to be_truthy }
|
324
381
|
end
|
325
|
-
context
|
382
|
+
context 'settings.sel_browser = :chrome' do
|
326
383
|
before { allow(settings).to receive(:sel_browser) { :chrome } }
|
327
|
-
it {
|
384
|
+
it { is_expected.to be_falsey }
|
328
385
|
end
|
329
|
-
context
|
386
|
+
context 'settings.sel_browser is not specified' do
|
330
387
|
before { allow(settings).to receive(:sel_browser) { nil } }
|
331
388
|
it do
|
332
|
-
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError,
|
389
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
333
390
|
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
334
391
|
end
|
335
392
|
end
|
336
393
|
end
|
337
|
-
context
|
338
|
-
|
339
|
-
it { expect(subject).to be_false }
|
394
|
+
context 'when selenium_driver? is FALSE' do
|
395
|
+
it { is_expected.to be_falsey }
|
340
396
|
end
|
341
397
|
end
|
342
|
-
context
|
398
|
+
context 'when testingbot_driver? is TRUE' do
|
343
399
|
let(:testingbot_driver) { true }
|
344
|
-
let(:sauce_driver) { false }
|
345
400
|
before { allow(settings).to receive(:testingbot_driver?) { testingbot_driver } }
|
346
|
-
context
|
401
|
+
context 'settings.tb_browser_name = :ff' do
|
347
402
|
before do
|
348
403
|
allow(settings).to receive(:tb_browser_name) { :ff }
|
349
404
|
allow(settings).to receive(:tb_browser_version) { 8 }
|
350
405
|
end
|
351
|
-
it {
|
406
|
+
it { is_expected.to be_truthy }
|
352
407
|
end
|
353
|
-
context
|
408
|
+
context 'settings.tb_browser_name = :firefox' do
|
354
409
|
before do
|
355
410
|
allow(settings).to receive(:tb_browser_name) { :firefox }
|
356
411
|
allow(settings).to receive(:tb_browser_version) { 8 }
|
357
412
|
end
|
358
|
-
it {
|
413
|
+
it { is_expected.to be_truthy }
|
359
414
|
end
|
360
|
-
context
|
415
|
+
context 'settings.tb_browser_name = :iexplore' do
|
361
416
|
before do
|
362
417
|
allow(settings).to receive(:tb_browser_name) { :iexplore }
|
363
418
|
allow(settings).to receive(:tb_browser_version) { 9 }
|
364
419
|
end
|
365
|
-
it {
|
420
|
+
it { is_expected.to be_falsey }
|
366
421
|
end
|
367
|
-
context
|
422
|
+
context 'settings.tb_browser_name is not specified' do
|
368
423
|
before { allow(settings).to receive(:tb_browser_name) { nil } }
|
369
424
|
it do
|
370
|
-
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError,
|
425
|
+
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
371
426
|
expect { subject }.to raise_error(Howitzer::TbBrowserNotSpecifiedError)
|
372
427
|
end
|
373
428
|
end
|
374
429
|
end
|
375
|
-
context
|
430
|
+
context 'when testingbot_driver? is FALSE' do
|
376
431
|
before { allow(self).to receive(:sauce_driver?) { sauce_driver } }
|
377
|
-
context
|
378
|
-
let(:testingbot_driver) { false }
|
432
|
+
context 'when sauce_driver? is TRUE' do
|
379
433
|
let(:sauce_driver) { true }
|
380
|
-
context
|
434
|
+
context 'settings.sl_browser_name = :ff' do
|
381
435
|
before { allow(settings).to receive(:sl_browser_name) { :ff } }
|
382
|
-
it {
|
436
|
+
it { is_expected.to be_truthy }
|
383
437
|
end
|
384
|
-
context
|
438
|
+
context 'settings.sl_browser_name = :firefox' do
|
385
439
|
before { allow(settings).to receive(:sl_browser_name) { :firefox } }
|
386
|
-
it {
|
440
|
+
it { is_expected.to be_truthy }
|
387
441
|
end
|
388
|
-
context
|
442
|
+
context 'settings.sl_browser_name = :chrome' do
|
389
443
|
before { allow(settings).to receive(:sl_browser_name) { :chrome } }
|
390
|
-
it {
|
444
|
+
it { is_expected.to be_falsey }
|
391
445
|
end
|
392
|
-
context
|
446
|
+
context 'settings.sl_browser_name is not specified' do
|
393
447
|
before { allow(settings).to receive(:sl_browser_name) { nil } }
|
394
448
|
it do
|
395
|
-
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError,
|
449
|
+
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
396
450
|
expect { subject }.to raise_error(Howitzer::SlBrowserNotSpecifiedError)
|
397
451
|
end
|
398
452
|
end
|
399
453
|
end
|
400
454
|
end
|
401
|
-
context
|
402
|
-
let(:sauce_driver) { false }
|
403
|
-
let(:testingbot_driver) { false }
|
455
|
+
context 'when selenium_driver? is TRUE' do
|
404
456
|
before { allow(self).to receive(:selenium_driver?) { selenium_driver } }
|
405
|
-
context
|
457
|
+
context 'when selenium_driver? is TRUE' do
|
406
458
|
let(:selenium_driver) { true }
|
407
|
-
context
|
459
|
+
context 'settings.sel_browser = :ff' do
|
408
460
|
before { allow(settings).to receive(:sel_browser) { :ff } }
|
409
|
-
it {
|
461
|
+
it { is_expected.to be_truthy }
|
410
462
|
end
|
411
|
-
context
|
463
|
+
context 'settings.sel_browser = :firefox' do
|
412
464
|
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
413
|
-
it {
|
465
|
+
it { is_expected.to be_truthy }
|
414
466
|
end
|
415
|
-
context
|
467
|
+
context 'settings.sel_browser = :chrome' do
|
416
468
|
before { allow(settings).to receive(:sel_browser) { :chrome } }
|
417
|
-
it {
|
469
|
+
it { is_expected.to be_falsey }
|
418
470
|
end
|
419
|
-
context
|
471
|
+
context 'settings.sel_browser is not specified' do
|
420
472
|
before { allow(settings).to receive(:sel_browser) { nil } }
|
421
473
|
it do
|
422
|
-
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError,
|
474
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
423
475
|
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
424
476
|
end
|
425
477
|
end
|
426
478
|
end
|
427
479
|
end
|
428
|
-
context
|
480
|
+
context 'when selenium_driver? is FALSE' do
|
429
481
|
before { allow(self).to receive(:selenium_driver?) { false } }
|
430
|
-
context
|
482
|
+
context 'when testingbot_driver? is TRUE' do
|
431
483
|
let(:testingbot_driver) { true }
|
432
|
-
let(:sauce_driver) { false }
|
433
484
|
before { allow(settings).to receive(:testingbot_driver?) { testingbot_driver } }
|
434
|
-
context
|
485
|
+
context 'settings.tb_browser_name = :firefox' do
|
435
486
|
before do
|
436
487
|
allow(settings).to receive(:tb_browser_name) { :firefox }
|
437
488
|
allow(settings).to receive(:tb_browser_version) { 8 }
|
438
489
|
end
|
439
|
-
it {
|
490
|
+
it { is_expected.to be_truthy }
|
440
491
|
end
|
441
|
-
context
|
492
|
+
context 'settings.tb_browser_name = :ff' do
|
442
493
|
before do
|
443
494
|
allow(settings).to receive(:tb_browser_name) { :ff }
|
444
495
|
allow(settings).to receive(:tb_browser_version) { 8 }
|
445
496
|
end
|
446
|
-
it {
|
497
|
+
it { is_expected.to be_truthy }
|
447
498
|
end
|
448
|
-
context
|
499
|
+
context 'settings.tb_browser_name = :iexplore' do
|
449
500
|
before do
|
450
501
|
allow(settings).to receive(:tb_browser_name) { :iexplore }
|
451
502
|
allow(settings).to receive(:tb_browser_version) { 9 }
|
452
503
|
end
|
453
|
-
it {
|
504
|
+
it { is_expected.to be_falsey }
|
454
505
|
end
|
455
|
-
context
|
506
|
+
context 'settings.tb_browser_name is not specified' do
|
456
507
|
before { allow(settings).to receive(:tb_browser_name) { nil } }
|
457
508
|
it do
|
458
|
-
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError,
|
509
|
+
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
459
510
|
expect { subject }.to raise_error(Howitzer::TbBrowserNotSpecifiedError)
|
460
511
|
end
|
461
512
|
end
|
462
513
|
end
|
463
|
-
|
514
|
+
context 'when selenium_grid_driver? is TRUE' do
|
515
|
+
before { allow(self).to receive(:selenium_grid_driver?) { selenium_grid_driver } }
|
516
|
+
context 'when selenium_grid_driver? is TRUE' do
|
517
|
+
let(:selenium_grid_driver) { true }
|
518
|
+
context 'settings.sel_browser = :ff' do
|
519
|
+
before { allow(settings).to receive(:sel_browser) { :ff } }
|
520
|
+
it { is_expected.to be_truthy }
|
521
|
+
end
|
522
|
+
context 'settings.sel_browser = :firefox' do
|
523
|
+
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
524
|
+
it { is_expected.to be_truthy }
|
525
|
+
end
|
526
|
+
context 'settings.sel_browser = :chrome' do
|
527
|
+
before { allow(settings).to receive(:sel_browser) { :chrome } }
|
528
|
+
it { is_expected.to be_falsey }
|
529
|
+
end
|
530
|
+
context 'settings.sel_browser is not specified' do
|
531
|
+
before { allow(settings).to receive(:sel_browser) { nil } }
|
532
|
+
it do
|
533
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
534
|
+
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
535
|
+
end
|
536
|
+
end
|
537
|
+
end
|
538
|
+
end
|
539
|
+
context 'when selenium_grid_driver? is FALSE' do
|
540
|
+
before { allow(self).to receive(:selenium_grid_driver?) { false } }
|
541
|
+
context 'when testingbot_driver? is TRUE' do
|
542
|
+
let(:testingbot_driver) { true }
|
543
|
+
before { allow(settings).to receive(:testingbot_driver?) { testingbot_driver } }
|
544
|
+
context 'settings.tb_browser_name = :firefox' do
|
545
|
+
before do
|
546
|
+
allow(settings).to receive(:tb_browser_name) { :firefox }
|
547
|
+
allow(settings).to receive(:tb_browser_version) { 8 }
|
548
|
+
end
|
549
|
+
it { is_expected.to be_truthy }
|
550
|
+
end
|
551
|
+
context 'settings.tb_browser_name = :ff' do
|
552
|
+
before do
|
553
|
+
allow(settings).to receive(:tb_browser_name) { :ff }
|
554
|
+
allow(settings).to receive(:tb_browser_version) { 8 }
|
555
|
+
end
|
556
|
+
it { is_expected.to be_truthy }
|
557
|
+
end
|
558
|
+
context 'settings.tb_browser_name = :iexplore' do
|
559
|
+
before do
|
560
|
+
allow(settings).to receive(:tb_browser_name) { :iexplore }
|
561
|
+
allow(settings).to receive(:tb_browser_version) { 9 }
|
562
|
+
end
|
563
|
+
it { is_expected.to be_falsey }
|
564
|
+
end
|
565
|
+
context 'settings.tb_browser_name is not specified' do
|
566
|
+
before { allow(settings).to receive(:tb_browser_name) { nil } }
|
567
|
+
it do
|
568
|
+
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
569
|
+
expect { subject }.to raise_error(Howitzer::TbBrowserNotSpecifiedError)
|
570
|
+
end
|
571
|
+
end
|
572
|
+
end
|
573
|
+
end
|
464
574
|
end
|
465
575
|
end
|
466
|
-
|
576
|
+
|
577
|
+
describe '#chrome_browser?' do
|
467
578
|
subject { chrome_browser? }
|
468
|
-
before { allow(self).to receive(:sauce_driver?){ sauce_driver} }
|
469
|
-
before { allow(self).to receive(:testingbot_driver?){ testingbot_driver} }
|
470
|
-
|
579
|
+
before { allow(self).to receive(:sauce_driver?){ sauce_driver } }
|
580
|
+
before { allow(self).to receive(:testingbot_driver?){ testingbot_driver } }
|
581
|
+
before { allow(self).to receive(:selenium_grid_driver?){ selenium_grid_driver } }
|
582
|
+
context 'when sauce_driver? is TRUE' do
|
471
583
|
let(:sauce_driver) { true }
|
472
584
|
let(:testingbot_driver) { true }
|
473
|
-
context
|
585
|
+
context 'settings.sl_browser_name = :chrome' do
|
474
586
|
before { allow(settings).to receive(:sl_browser_name) { :chrome } }
|
475
|
-
it {
|
587
|
+
it { is_expected.to be_truthy }
|
476
588
|
end
|
477
|
-
context
|
589
|
+
context 'settings.sl_browser_name = :firefox' do
|
478
590
|
before { allow(settings).to receive(:sl_browser_name) { :firefox } }
|
479
|
-
it {
|
591
|
+
it { is_expected.to be_falsey }
|
480
592
|
end
|
481
|
-
context
|
593
|
+
context 'settings.sl_browser_name is not specified' do
|
482
594
|
before { allow(settings).to receive(:sl_browser_name) { nil } }
|
483
595
|
it do
|
484
|
-
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError,
|
596
|
+
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
485
597
|
expect { subject }.to raise_error(Howitzer::SlBrowserNotSpecifiedError)
|
486
598
|
end
|
487
599
|
end
|
488
600
|
end
|
489
|
-
context
|
490
|
-
let(:sauce_driver) { false }
|
491
|
-
let(:testingbot_driver) { false }
|
601
|
+
context 'when sauce_driver? is FALSE' do
|
492
602
|
before { allow(self).to receive(:selenium_driver?){ selenium_driver} }
|
493
|
-
context
|
603
|
+
context 'when selenium_driver? is TRUE' do
|
494
604
|
let(:selenium_driver) { true }
|
495
|
-
context
|
605
|
+
context 'settings.sel_browser = :chrome' do
|
496
606
|
before { allow(settings).to receive(:sel_browser) { :chrome } }
|
497
|
-
it {
|
607
|
+
it { is_expected.to be_truthy }
|
498
608
|
end
|
499
|
-
context
|
609
|
+
context 'settings.sel_browser = :firefox' do
|
500
610
|
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
501
|
-
it {
|
611
|
+
it { is_expected.to be_falsey }
|
502
612
|
end
|
503
|
-
context
|
613
|
+
context 'settings.sel_browser is not specified' do
|
504
614
|
before { allow(settings).to receive(:sel_browser) { nil } }
|
505
615
|
it do
|
506
|
-
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError,
|
616
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
507
617
|
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
508
618
|
end
|
509
619
|
end
|
510
620
|
end
|
511
|
-
context
|
512
|
-
|
513
|
-
it { expect(subject).to be_false }
|
621
|
+
context 'when selenium_driver? is FALSE' do
|
622
|
+
it { is_expected.to be_falsey }
|
514
623
|
end
|
515
624
|
end
|
516
|
-
context
|
625
|
+
context 'when testingbot_driver? is TRUE' do
|
517
626
|
let(:testingbot_driver) { true }
|
518
|
-
let(:sauce_driver) { false }
|
519
627
|
before { allow(settings).to receive(:testingbot_driver?) { testingbot_driver } }
|
520
|
-
context
|
628
|
+
context 'settings.tb_browser_name = :chrome' do
|
521
629
|
before do
|
522
630
|
allow(settings).to receive(:tb_browser_name) { :chrome }
|
523
631
|
allow(settings).to receive(:tb_browser_version) { 9 }
|
524
632
|
end
|
525
|
-
it {
|
633
|
+
it { is_expected.to be_truthy }
|
526
634
|
end
|
527
|
-
context
|
635
|
+
context 'settings.tb_browser_name = :iexplore' do
|
528
636
|
before do
|
529
637
|
allow(settings).to receive(:tb_browser_name) { :iexplore }
|
530
638
|
allow(settings).to receive(:tb_browser_version) { 9 }
|
531
639
|
end
|
532
|
-
it {
|
640
|
+
it { is_expected.to be_falsey }
|
533
641
|
end
|
534
|
-
context
|
642
|
+
context 'settings.tb_browser_name is not specified' do
|
535
643
|
before { allow(settings).to receive(:tb_browser_name) { nil } }
|
536
644
|
it do
|
537
|
-
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError,
|
645
|
+
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
538
646
|
expect { subject }.to raise_error(Howitzer::TbBrowserNotSpecifiedError)
|
539
647
|
end
|
540
648
|
end
|
541
649
|
end
|
542
|
-
context
|
650
|
+
context 'when testingbot_driver? is FALSE' do
|
543
651
|
before { allow(self).to receive(:sauce_driver?) { sauce_driver } }
|
544
|
-
context
|
545
|
-
let(:testingbot_driver) { false }
|
652
|
+
context 'when sauce_driver? is TRUE' do
|
546
653
|
let(:sauce_driver) { true }
|
547
|
-
context
|
654
|
+
context 'settings.sl_browser_name = :chrome' do
|
548
655
|
before { allow(settings).to receive(:sl_browser_name) { :chrome } }
|
549
|
-
it {
|
656
|
+
it { is_expected.to be_truthy }
|
550
657
|
end
|
551
|
-
context
|
658
|
+
context 'settings.sl_browser_name = :firefox' do
|
552
659
|
before { allow(settings).to receive(:sl_browser_name) { :firefox } }
|
553
|
-
it {
|
660
|
+
it { is_expected.to be_falsey }
|
554
661
|
end
|
555
|
-
context
|
662
|
+
context 'settings.sl_browser_name is not specified' do
|
556
663
|
before { allow(settings).to receive(:sl_browser_name) { nil } }
|
557
664
|
it do
|
558
|
-
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError,
|
665
|
+
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
559
666
|
expect { subject }.to raise_error(Howitzer::SlBrowserNotSpecifiedError)
|
560
667
|
end
|
561
668
|
end
|
562
669
|
end
|
563
|
-
|
564
670
|
end
|
565
|
-
context
|
566
|
-
let(:sauce_driver) { false }
|
567
|
-
let(:testingbot_driver) { false }
|
671
|
+
context 'when selenium_driver? is TRUE' do
|
568
672
|
before { allow(self).to receive(:selenium_driver?) { selenium_driver } }
|
569
|
-
context
|
673
|
+
context 'when selenium_driver? is TRUE' do
|
570
674
|
let(:selenium_driver) { true }
|
571
|
-
context
|
675
|
+
context 'settings.sel_browser = :chrome' do
|
572
676
|
before { allow(settings).to receive(:sel_browser) { :chrome } }
|
573
|
-
it {
|
677
|
+
it { is_expected.to be_truthy }
|
574
678
|
end
|
575
|
-
context
|
679
|
+
context 'settings.sel_browser = :firefox' do
|
576
680
|
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
577
|
-
it {
|
681
|
+
it { is_expected.to be_falsey }
|
578
682
|
end
|
579
|
-
context
|
683
|
+
context 'settings.sel_browser is not specified' do
|
580
684
|
before { allow(settings).to receive(:sel_browser) { nil } }
|
581
685
|
it do
|
582
|
-
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError,
|
686
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
583
687
|
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
584
688
|
end
|
585
689
|
end
|
586
690
|
end
|
587
|
-
|
588
691
|
end
|
589
|
-
context
|
590
|
-
let(:sauce_driver) { false }
|
591
|
-
let(:testingbot_driver) { false }
|
692
|
+
context 'when selenium_driver? is FALSE' do
|
592
693
|
before { allow(self).to receive(:selenium_driver?){ selenium_driver} }
|
593
|
-
context
|
694
|
+
context 'when selenium_driver? is TRUE' do
|
594
695
|
let(:selenium_driver) { true }
|
595
|
-
context
|
696
|
+
context 'settings.sel_browser = :chrome' do
|
596
697
|
before { allow(settings).to receive(:sel_browser) { :chrome } }
|
597
|
-
it {
|
698
|
+
it { is_expected.to be_truthy }
|
699
|
+
end
|
700
|
+
context 'settings.sel_browser = :firefox' do
|
701
|
+
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
702
|
+
it { is_expected.to be_falsey }
|
703
|
+
end
|
704
|
+
context 'settings.sel_browser is not specified' do
|
705
|
+
before { allow(settings).to receive(:sel_browser) { nil } }
|
706
|
+
it do
|
707
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
708
|
+
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
709
|
+
end
|
710
|
+
end
|
711
|
+
end
|
712
|
+
context 'when selenium_driver? is FALSE' do
|
713
|
+
it { is_expected.to be_falsey }
|
714
|
+
end
|
715
|
+
end
|
716
|
+
end
|
717
|
+
|
718
|
+
describe '#opera_browser?' do
|
719
|
+
subject { opera_browser? }
|
720
|
+
before { allow(self).to receive(:sauce_driver?){ sauce_driver } }
|
721
|
+
before { allow(self).to receive(:testingbot_driver?){ testingbot_driver } }
|
722
|
+
before { allow(self).to receive(:selenium_grid_driver?){ selenium_grid_driver } }
|
723
|
+
context 'when sauce_driver? is TRUE' do
|
724
|
+
let(:sauce_driver) { true }
|
725
|
+
let(:testingbot_driver) { true }
|
726
|
+
context 'settings.sl_browser_name = :opera' do
|
727
|
+
before { allow(settings).to receive(:sl_browser_name) { :opera } }
|
728
|
+
it { is_expected.to be_truthy }
|
729
|
+
end
|
730
|
+
context 'settings.sl_browser_name = :firefox' do
|
731
|
+
before { allow(settings).to receive(:sl_browser_name) { :firefox } }
|
732
|
+
it { is_expected.to be_falsey }
|
733
|
+
end
|
734
|
+
context 'settings.sl_browser_name is not specified' do
|
735
|
+
before { allow(settings).to receive(:sl_browser_name) { nil } }
|
736
|
+
it do
|
737
|
+
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
738
|
+
expect { subject }.to raise_error(Howitzer::SlBrowserNotSpecifiedError)
|
739
|
+
end
|
740
|
+
end
|
741
|
+
end
|
742
|
+
context 'when sauce_driver? is FALSE' do
|
743
|
+
before { allow(self).to receive(:selenium_driver?){ selenium_driver} }
|
744
|
+
context 'when selenium_driver? is TRUE' do
|
745
|
+
let(:selenium_driver) { true }
|
746
|
+
context 'settings.sel_browser = :opera' do
|
747
|
+
before { allow(settings).to receive(:sel_browser) { :opera } }
|
748
|
+
it { is_expected.to be_truthy }
|
749
|
+
end
|
750
|
+
context 'settings.sel_browser = :firefox' do
|
751
|
+
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
752
|
+
it { is_expected.to be_falsey }
|
753
|
+
end
|
754
|
+
context 'settings.sel_browser is not specified' do
|
755
|
+
before { allow(settings).to receive(:sel_browser) { nil } }
|
756
|
+
it do
|
757
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
758
|
+
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
759
|
+
end
|
760
|
+
end
|
761
|
+
end
|
762
|
+
context 'when selenium_driver? is FALSE' do
|
763
|
+
it { is_expected.to be_falsey }
|
764
|
+
end
|
765
|
+
end
|
766
|
+
context 'when testingbot_driver? is TRUE' do
|
767
|
+
let(:testingbot_driver) { true }
|
768
|
+
before { allow(settings).to receive(:testingbot_driver?) { testingbot_driver } }
|
769
|
+
context 'settings.tb_browser_name = :opera' do
|
770
|
+
before do
|
771
|
+
allow(settings).to receive(:tb_browser_name) { :opera }
|
772
|
+
allow(settings).to receive(:tb_browser_version) { 9 }
|
773
|
+
end
|
774
|
+
it { is_expected.to be_truthy }
|
775
|
+
end
|
776
|
+
context 'settings.tb_browser_name = :iexplore' do
|
777
|
+
before do
|
778
|
+
allow(settings).to receive(:tb_browser_name) { :iexplore }
|
779
|
+
allow(settings).to receive(:tb_browser_version) { 9 }
|
780
|
+
end
|
781
|
+
it { is_expected.to be_falsey }
|
782
|
+
end
|
783
|
+
context 'settings.tb_browser_name is not specified' do
|
784
|
+
before { allow(settings).to receive(:tb_browser_name) { nil } }
|
785
|
+
it do
|
786
|
+
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
787
|
+
expect { subject }.to raise_error(Howitzer::TbBrowserNotSpecifiedError)
|
788
|
+
end
|
789
|
+
end
|
790
|
+
end
|
791
|
+
context 'when testingbot_driver? is FALSE' do
|
792
|
+
before { allow(self).to receive(:sauce_driver?) { sauce_driver } }
|
793
|
+
context 'when sauce_driver? is TRUE' do
|
794
|
+
let(:sauce_driver) { true }
|
795
|
+
context 'settings.sl_browser_name = :opera' do
|
796
|
+
before { allow(settings).to receive(:sl_browser_name) { :opera } }
|
797
|
+
it { is_expected.to be_truthy }
|
798
|
+
end
|
799
|
+
context 'settings.sl_browser_name = :firefox' do
|
800
|
+
before { allow(settings).to receive(:sl_browser_name) { :firefox } }
|
801
|
+
it { is_expected.to be_falsey }
|
802
|
+
end
|
803
|
+
context 'settings.sl_browser_name is not specified' do
|
804
|
+
before { allow(settings).to receive(:sl_browser_name) { nil } }
|
805
|
+
it do
|
806
|
+
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
807
|
+
expect { subject }.to raise_error(Howitzer::SlBrowserNotSpecifiedError)
|
808
|
+
end
|
809
|
+
end
|
810
|
+
end
|
811
|
+
end
|
812
|
+
context 'when selenium_driver? is TRUE' do
|
813
|
+
before { allow(self).to receive(:selenium_driver?) { selenium_driver } }
|
814
|
+
context 'when selenium_driver? is TRUE' do
|
815
|
+
let(:selenium_driver) { true }
|
816
|
+
context 'settings.sel_browser = :opera' do
|
817
|
+
before { allow(settings).to receive(:sel_browser) { :opera } }
|
818
|
+
it { is_expected.to be_truthy }
|
598
819
|
end
|
599
|
-
context
|
820
|
+
context 'settings.sel_browser = :firefox' do
|
600
821
|
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
601
|
-
it {
|
822
|
+
it { is_expected.to be_falsey }
|
602
823
|
end
|
603
|
-
context
|
824
|
+
context 'settings.sel_browser is not specified' do
|
604
825
|
before { allow(settings).to receive(:sel_browser) { nil } }
|
605
826
|
it do
|
606
|
-
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError,
|
827
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
607
828
|
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
608
829
|
end
|
609
830
|
end
|
610
831
|
end
|
611
|
-
|
612
|
-
|
613
|
-
|
832
|
+
end
|
833
|
+
context 'when selenium_driver? is FALSE' do
|
834
|
+
before { allow(self).to receive(:selenium_driver?){ selenium_driver} }
|
835
|
+
context 'when selenium_driver? is TRUE' do
|
836
|
+
let(:selenium_driver) { true }
|
837
|
+
context 'settings.sel_browser = :opera' do
|
838
|
+
before { allow(settings).to receive(:sel_browser) { :opera } }
|
839
|
+
it { is_expected.to be_truthy }
|
840
|
+
end
|
841
|
+
context 'settings.sel_browser = :firefox' do
|
842
|
+
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
843
|
+
it { is_expected.to be_falsey }
|
844
|
+
end
|
845
|
+
context 'settings.sel_browser is not specified' do
|
846
|
+
before { allow(settings).to receive(:sel_browser) { nil } }
|
847
|
+
it do
|
848
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
849
|
+
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
850
|
+
end
|
851
|
+
end
|
852
|
+
end
|
853
|
+
context 'when selenium_driver? is FALSE' do
|
854
|
+
it { is_expected.to be_falsey }
|
614
855
|
end
|
615
856
|
end
|
616
857
|
end
|
617
|
-
|
858
|
+
|
859
|
+
describe '#safari_browser?' do
|
860
|
+
subject { safari_browser? }
|
861
|
+
before { allow(self).to receive(:sauce_driver?){ sauce_driver } }
|
862
|
+
before { allow(self).to receive(:testingbot_driver?){ testingbot_driver } }
|
863
|
+
before { allow(self).to receive(:selenium_grid_driver?){ selenium_grid_driver } }
|
864
|
+
context 'when sauce_driver? is TRUE' do
|
865
|
+
let(:sauce_driver) { true }
|
866
|
+
let(:testingbot_driver) { true }
|
867
|
+
context 'settings.sl_browser_name = :safari' do
|
868
|
+
before { allow(settings).to receive(:sl_browser_name) { :safari } }
|
869
|
+
it { is_expected.to be_truthy }
|
870
|
+
end
|
871
|
+
context 'settings.sl_browser_name = :firefox' do
|
872
|
+
before { allow(settings).to receive(:sl_browser_name) { :firefox } }
|
873
|
+
it { is_expected.to be_falsey }
|
874
|
+
end
|
875
|
+
context 'settings.sl_browser_name is not specified' do
|
876
|
+
before { allow(settings).to receive(:sl_browser_name) { nil } }
|
877
|
+
it do
|
878
|
+
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
879
|
+
expect { subject }.to raise_error(Howitzer::SlBrowserNotSpecifiedError)
|
880
|
+
end
|
881
|
+
end
|
882
|
+
end
|
883
|
+
context 'when sauce_driver? is FALSE' do
|
884
|
+
before { allow(self).to receive(:selenium_driver?){ selenium_driver} }
|
885
|
+
context 'when selenium_driver? is TRUE' do
|
886
|
+
let(:selenium_driver) { true }
|
887
|
+
context 'settings.sel_browser = :safari' do
|
888
|
+
before { allow(settings).to receive(:sel_browser) { :safari } }
|
889
|
+
it { is_expected.to be_truthy }
|
890
|
+
end
|
891
|
+
context 'settings.sel_browser = :firefox' do
|
892
|
+
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
893
|
+
it { is_expected.to be_falsey }
|
894
|
+
end
|
895
|
+
context 'settings.sel_browser is not specified' do
|
896
|
+
before { allow(settings).to receive(:sel_browser) { nil } }
|
897
|
+
it do
|
898
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
899
|
+
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
900
|
+
end
|
901
|
+
end
|
902
|
+
end
|
903
|
+
context 'when selenium_driver? is FALSE' do
|
904
|
+
it { is_expected.to be_falsey }
|
905
|
+
end
|
906
|
+
end
|
907
|
+
context 'when testingbot_driver? is TRUE' do
|
908
|
+
let(:testingbot_driver) { true }
|
909
|
+
before { allow(settings).to receive(:testingbot_driver?) { testingbot_driver } }
|
910
|
+
context 'settings.tb_browser_name = :safari' do
|
911
|
+
before do
|
912
|
+
allow(settings).to receive(:tb_browser_name) { :safari }
|
913
|
+
allow(settings).to receive(:tb_browser_version) { 9 }
|
914
|
+
end
|
915
|
+
it { is_expected.to be_truthy }
|
916
|
+
end
|
917
|
+
context 'settings.tb_browser_name = :iexplore' do
|
918
|
+
before do
|
919
|
+
allow(settings).to receive(:tb_browser_name) { :iexplore }
|
920
|
+
allow(settings).to receive(:tb_browser_version) { 9 }
|
921
|
+
end
|
922
|
+
it { is_expected.to be_falsey }
|
923
|
+
end
|
924
|
+
context 'settings.tb_browser_name is not specified' do
|
925
|
+
before { allow(settings).to receive(:tb_browser_name) { nil } }
|
926
|
+
it do
|
927
|
+
expect(log).to receive(:error).with(Howitzer::TbBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
928
|
+
expect { subject }.to raise_error(Howitzer::TbBrowserNotSpecifiedError)
|
929
|
+
end
|
930
|
+
end
|
931
|
+
end
|
932
|
+
context 'when testingbot_driver? is FALSE' do
|
933
|
+
before { allow(self).to receive(:sauce_driver?) { sauce_driver } }
|
934
|
+
context 'when sauce_driver? is TRUE' do
|
935
|
+
let(:sauce_driver) { true }
|
936
|
+
context 'settings.sl_browser_name = :safari' do
|
937
|
+
before { allow(settings).to receive(:sl_browser_name) { :safari } }
|
938
|
+
it { is_expected.to be_truthy }
|
939
|
+
end
|
940
|
+
context 'settings.sl_browser_name = :firefox' do
|
941
|
+
before { allow(settings).to receive(:sl_browser_name) { :firefox } }
|
942
|
+
it { is_expected.to be_falsey }
|
943
|
+
end
|
944
|
+
context 'settings.sl_browser_name is not specified' do
|
945
|
+
before { allow(settings).to receive(:sl_browser_name) { nil } }
|
946
|
+
it do
|
947
|
+
expect(log).to receive(:error).with(Howitzer::SlBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
948
|
+
expect { subject }.to raise_error(Howitzer::SlBrowserNotSpecifiedError)
|
949
|
+
end
|
950
|
+
end
|
951
|
+
end
|
952
|
+
end
|
953
|
+
context 'when selenium_driver? is TRUE' do
|
954
|
+
before { allow(self).to receive(:selenium_driver?) { selenium_driver } }
|
955
|
+
context 'when selenium_driver? is TRUE' do
|
956
|
+
let(:selenium_driver) { true }
|
957
|
+
context 'settings.sel_browser = :safari' do
|
958
|
+
before { allow(settings).to receive(:sel_browser) { :safari } }
|
959
|
+
it { is_expected.to be_truthy }
|
960
|
+
end
|
961
|
+
context 'settings.sel_browser = :firefox' do
|
962
|
+
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
963
|
+
it { is_expected.to be_falsey }
|
964
|
+
end
|
965
|
+
context 'settings.sel_browser is not specified' do
|
966
|
+
before { allow(settings).to receive(:sel_browser) { nil } }
|
967
|
+
it do
|
968
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
969
|
+
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
970
|
+
end
|
971
|
+
end
|
972
|
+
end
|
973
|
+
end
|
974
|
+
context 'when selenium_driver? is FALSE' do
|
975
|
+
before { allow(self).to receive(:selenium_driver?){ selenium_driver} }
|
976
|
+
context 'when selenium_driver? is TRUE' do
|
977
|
+
let(:selenium_driver) { true }
|
978
|
+
context 'settings.sel_browser = :safari' do
|
979
|
+
before { allow(settings).to receive(:sel_browser) { :safari } }
|
980
|
+
it { is_expected.to be_truthy }
|
981
|
+
end
|
982
|
+
context 'settings.sel_browser = :firefox' do
|
983
|
+
before { allow(settings).to receive(:sel_browser) { :firefox } }
|
984
|
+
it { is_expected.to be_falsey }
|
985
|
+
end
|
986
|
+
context 'settings.sel_browser is not specified' do
|
987
|
+
before { allow(settings).to receive(:sel_browser) { nil } }
|
988
|
+
it do
|
989
|
+
expect(log).to receive(:error).with(Howitzer::SelBrowserNotSpecifiedError, 'Please check your settings').once.and_call_original
|
990
|
+
expect { subject }.to raise_error(Howitzer::SelBrowserNotSpecifiedError)
|
991
|
+
end
|
992
|
+
end
|
993
|
+
end
|
994
|
+
context 'when selenium_driver? is FALSE' do
|
995
|
+
it { is_expected.to be_falsey }
|
996
|
+
end
|
997
|
+
end
|
998
|
+
end
|
999
|
+
|
1000
|
+
describe '#app_url' do
|
618
1001
|
subject { app_url }
|
619
1002
|
before do
|
620
1003
|
allow(settings).to receive(:app_base_auth_login) { app_base_auth_login_setting }
|
@@ -623,123 +1006,124 @@ describe "Helpers" do
|
|
623
1006
|
allow(settings).to receive(:app_host) { app_host_setting }
|
624
1007
|
end
|
625
1008
|
let(:app_protocol_setting) { nil }
|
626
|
-
let(:app_host_setting) {
|
627
|
-
context
|
628
|
-
let(:app_base_auth_login_setting) {
|
629
|
-
let(:app_base_auth_pass_setting) {
|
630
|
-
it{
|
1009
|
+
let(:app_host_setting) { 'redmine.strongqa.com' }
|
1010
|
+
context 'when login and password present' do
|
1011
|
+
let(:app_base_auth_login_setting) { 'alex' }
|
1012
|
+
let(:app_base_auth_pass_setting) { 'pa$$w0rd' }
|
1013
|
+
it{ is_expected.to eq('http://alex:pa$$w0rd@redmine.strongqa.com') }
|
631
1014
|
end
|
632
|
-
context
|
633
|
-
let(:app_base_auth_login_setting) {
|
634
|
-
let(:app_base_auth_pass_setting) {
|
635
|
-
it{
|
1015
|
+
context 'when login and password blank' do
|
1016
|
+
let(:app_base_auth_login_setting) { '' }
|
1017
|
+
let(:app_base_auth_pass_setting) { '' }
|
1018
|
+
it{ is_expected.to eq('http://redmine.strongqa.com') }
|
636
1019
|
end
|
637
1020
|
end
|
638
|
-
|
1021
|
+
|
1022
|
+
describe '#app_base_url' do
|
639
1023
|
subject { app_base_url(prefix) }
|
640
1024
|
before do
|
641
1025
|
allow(settings).to receive(:app_protocol) { app_protocol_setting }
|
642
1026
|
allow(settings).to receive(:app_host) { app_host_setting }
|
643
1027
|
end
|
644
1028
|
let(:app_protocol_setting) { nil }
|
645
|
-
let(:app_host_setting) {
|
646
|
-
context
|
647
|
-
let(:prefix) {
|
648
|
-
it{
|
1029
|
+
let(:app_host_setting) { 'redmine.strongqa.com' }
|
1030
|
+
context 'when login and password present' do
|
1031
|
+
let(:prefix) { 'alex:pa$$w0rd@' }
|
1032
|
+
it{ is_expected.to eq('http://alex:pa$$w0rd@redmine.strongqa.com') }
|
649
1033
|
end
|
650
|
-
context
|
1034
|
+
context 'when login and password blank' do
|
651
1035
|
let(:prefix) { nil }
|
652
|
-
it{
|
1036
|
+
it{ is_expected.to eq('http://redmine.strongqa.com') }
|
653
1037
|
end
|
654
1038
|
end
|
655
|
-
|
656
|
-
|
657
|
-
|
1039
|
+
|
1040
|
+
describe '#duration' do
|
1041
|
+
context 'when more than hour' do
|
1042
|
+
it{ expect(duration(10000)).to eq('[2h 46m 40s]') }
|
658
1043
|
end
|
659
|
-
context
|
660
|
-
it{ expect(duration(3600)).to eq(
|
1044
|
+
context 'when 1 hour exactly' do
|
1045
|
+
it{ expect(duration(3600)).to eq('[1h 0m 0s]') }
|
661
1046
|
end
|
662
|
-
context
|
663
|
-
it{ expect(duration(2000)).to eq(
|
1047
|
+
context 'when 0 hours and more than minute' do
|
1048
|
+
it{ expect(duration(2000)).to eq('[33m 20s]') }
|
664
1049
|
end
|
665
|
-
context
|
666
|
-
it{ expect(duration(60)).to eq(
|
1050
|
+
context 'when 1 minute exactly' do
|
1051
|
+
it{ expect(duration(60)).to eq('[1m 0s]') }
|
667
1052
|
end
|
668
|
-
context
|
669
|
-
it{ expect(duration(45)).to eq(
|
1053
|
+
context 'when less than minute' do
|
1054
|
+
it{ expect(duration(45)).to eq('[0m 45s]') }
|
670
1055
|
end
|
671
|
-
context
|
672
|
-
it{ expect(duration(0)).to eq(
|
1056
|
+
context 'when zero' do
|
1057
|
+
it{ expect(duration(0)).to eq('[0m 0s]') }
|
673
1058
|
end
|
674
1059
|
end
|
675
|
-
|
1060
|
+
|
1061
|
+
describe '#ri' do
|
676
1062
|
subject { ri 'boom' }
|
677
1063
|
it { expect {subject}.to raise_error(RuntimeError, /boom/) }
|
678
1064
|
end
|
1065
|
+
|
679
1066
|
describe String do
|
680
|
-
let(:page_name) {
|
1067
|
+
let(:page_name) { 'my' }
|
681
1068
|
let(:page_object) { double }
|
682
|
-
before { stub_const(
|
683
|
-
describe
|
1069
|
+
before { stub_const('MyPage', page_object) }
|
1070
|
+
describe '#open' do
|
684
1071
|
subject { page_name.open(:exit) }
|
685
1072
|
before do
|
686
1073
|
expect(page_object).to receive(:open).with(:exit).once
|
687
1074
|
end
|
688
|
-
it {
|
1075
|
+
it { is_expected.to be_nil }
|
689
1076
|
end
|
690
|
-
describe
|
1077
|
+
describe '#given' do
|
691
1078
|
subject { page_name.given }
|
692
1079
|
before do
|
693
1080
|
allow(page_name).to receive(:as_page_class){ page_object }
|
694
1081
|
expect(page_object).to receive(:given).once
|
695
1082
|
end
|
696
|
-
it {
|
1083
|
+
it { is_expected.to be_nil }
|
697
1084
|
end
|
698
|
-
describe
|
1085
|
+
describe '#wait_for_opened' do
|
699
1086
|
subject { page_name.wait_for_opened }
|
700
1087
|
before do
|
701
1088
|
allow(page_name).to receive(:as_page_class){ page_object }
|
702
1089
|
expect(page_object).to receive(:wait_for_opened).once
|
703
1090
|
end
|
704
|
-
it {
|
1091
|
+
it { is_expected.to be_nil }
|
705
1092
|
end
|
706
|
-
describe
|
1093
|
+
describe '#as_page_class' do
|
707
1094
|
subject { page_name.as_page_class }
|
708
|
-
context
|
709
|
-
it {
|
1095
|
+
context 'when 1 word' do
|
1096
|
+
it { is_expected.to eql(page_object) }
|
710
1097
|
end
|
711
|
-
context
|
1098
|
+
context 'when more 1 word' do
|
712
1099
|
let(:page_name) { 'my super mega' }
|
713
|
-
before { stub_const(
|
714
|
-
it {
|
1100
|
+
before { stub_const('MySuperMegaPage', page_object) }
|
1101
|
+
it { is_expected.to eql(page_object) }
|
715
1102
|
end
|
716
|
-
|
717
|
-
context "when plural word" do
|
1103
|
+
context 'when plural word' do
|
718
1104
|
let(:page_name) { 'user notifications' }
|
719
|
-
before { stub_const(
|
720
|
-
it {
|
1105
|
+
before { stub_const('UserNotificationsPage', page_object) }
|
1106
|
+
it { is_expected.to eql(page_object) }
|
721
1107
|
end
|
722
1108
|
end
|
723
|
-
describe
|
1109
|
+
describe '#as_email_class' do
|
724
1110
|
subject { email_name.as_email_class }
|
725
1111
|
let(:my_email) { double }
|
726
|
-
context
|
1112
|
+
context 'when 1 word' do
|
727
1113
|
let(:email_name) { 'my' }
|
728
|
-
before { stub_const(
|
729
|
-
it {
|
1114
|
+
before { stub_const('MyEmail', my_email) }
|
1115
|
+
it { is_expected.to eql(my_email) }
|
730
1116
|
end
|
731
|
-
|
732
|
-
context "when more 1 word" do
|
1117
|
+
context 'when more 1 word' do
|
733
1118
|
let(:email_name) { 'my super mega' }
|
734
|
-
before { stub_const(
|
735
|
-
it {
|
1119
|
+
before { stub_const('MySuperMegaEmail', my_email) }
|
1120
|
+
it { is_expected.to eql(my_email) }
|
736
1121
|
end
|
737
|
-
|
738
|
-
context "when plural word" do
|
1122
|
+
context 'when plural word' do
|
739
1123
|
let(:email_name) { 'email notifications' }
|
740
|
-
before { stub_const(
|
741
|
-
it {
|
1124
|
+
before { stub_const('EmailNotificationsEmail', my_email) }
|
1125
|
+
it { is_expected.to eql(my_email) }
|
742
1126
|
end
|
743
1127
|
end
|
744
1128
|
end
|
745
|
-
end
|
1129
|
+
end
|