howitzer 2.0.3 → 2.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.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +8 -2
  3. data/.travis.yml +3 -3
  4. data/CHANGELOG.md +27 -11
  5. data/Gemfile +1 -0
  6. data/ISSUE_TEMPLATE.md +16 -0
  7. data/README.md +2 -1
  8. data/Rakefile +18 -2
  9. data/bin/howitzer +7 -6
  10. data/features/cli_help.feature +1 -1
  11. data/features/cli_new.feature +51 -11
  12. data/features/cli_update.feature +44 -4
  13. data/features/cli_version.feature +1 -1
  14. data/features/step_definitions/common_steps.rb +5 -0
  15. data/generators/base_generator.rb +30 -16
  16. data/generators/config/config_generator.rb +13 -3
  17. data/generators/config/templates/boot.rb +1 -1
  18. data/generators/config/templates/capybara.rb +2 -128
  19. data/generators/config/templates/default.yml +20 -3
  20. data/generators/config/templates/drivers/browserstack.rb +19 -0
  21. data/generators/config/templates/drivers/crossbrowsertesting.rb +25 -0
  22. data/generators/config/templates/drivers/headless_chrome.rb +16 -0
  23. data/generators/config/templates/drivers/phantomjs.rb +20 -0
  24. data/generators/config/templates/drivers/poltergeist.rb +11 -0
  25. data/generators/config/templates/drivers/sauce.rb +21 -0
  26. data/generators/config/templates/drivers/selenium.rb +24 -0
  27. data/generators/config/templates/drivers/selenium_grid.rb +27 -0
  28. data/generators/config/templates/drivers/testingbot.rb +20 -0
  29. data/generators/config/templates/drivers/webkit.rb +6 -0
  30. data/generators/cucumber/cucumber_generator.rb +2 -2
  31. data/generators/cucumber/templates/cucumber.rake +0 -8
  32. data/generators/cucumber/templates/env.rb +1 -1
  33. data/generators/cucumber/templates/transformers.rb +11 -25
  34. data/generators/emails/emails_generator.rb +2 -2
  35. data/generators/emails/templates/example_email.rb +1 -1
  36. data/generators/prerequisites/prerequisites_generator.rb +3 -3
  37. data/generators/prerequisites/templates/base.rb +1 -1
  38. data/generators/prerequisites/templates/{factory_girl.rb → factory_bot.rb} +6 -6
  39. data/generators/prerequisites/templates/users.rb +1 -1
  40. data/generators/root/root_generator.rb +2 -2
  41. data/generators/root/templates/.rubocop.yml +2 -2
  42. data/generators/root/templates/Gemfile.erb +14 -18
  43. data/generators/rspec/rspec_generator.rb +2 -2
  44. data/generators/rspec/templates/spec_helper.rb +1 -1
  45. data/generators/tasks/tasks_generator.rb +2 -2
  46. data/generators/turnip/templates/spec_helper.rb +1 -1
  47. data/generators/turnip/turnip_generator.rb +2 -2
  48. data/generators/web/web_generator.rb +2 -2
  49. data/howitzer.gemspec +3 -1
  50. data/lib/howitzer/capybara_helpers.rb +25 -8
  51. data/lib/howitzer/gmail_api.rb +7 -0
  52. data/lib/howitzer/gmail_api/client.rb +22 -0
  53. data/lib/howitzer/mail_adapters/gmail.rb +93 -0
  54. data/lib/howitzer/mail_adapters/mailgun.rb +2 -2
  55. data/lib/howitzer/mail_adapters/mailtrap.rb +105 -0
  56. data/lib/howitzer/mailtrap_api.rb +7 -0
  57. data/lib/howitzer/mailtrap_api/client.rb +52 -0
  58. data/lib/howitzer/version.rb +1 -1
  59. data/lib/howitzer/web/page.rb +13 -1
  60. data/lib/howitzer/web/page_dsl.rb +1 -1
  61. data/spec/config/custom.yml +1 -1
  62. data/spec/spec_helper.rb +1 -0
  63. data/spec/unit/generators/base_generator_spec.rb +23 -12
  64. data/spec/unit/generators/config_generator_spec.rb +27 -6
  65. data/spec/unit/generators/cucumber_generator_spec.rb +8 -8
  66. data/spec/unit/generators/emails_generator_spec.rb +2 -2
  67. data/spec/unit/generators/prerequisites_generator_spec.rb +7 -7
  68. data/spec/unit/generators/root_generator_spec.rb +25 -22
  69. data/spec/unit/generators/rspec_generator_spec.rb +4 -4
  70. data/spec/unit/generators/tasks_generator_spec.rb +2 -2
  71. data/spec/unit/generators/turnip_generator_spec.rb +7 -7
  72. data/spec/unit/generators/web_generator_spec.rb +3 -3
  73. data/spec/unit/lib/capybara_helpers_spec.rb +2 -1
  74. data/spec/unit/lib/gmail_api/client_spec.rb +26 -0
  75. data/spec/unit/lib/mail_adapters/gmail_spec.rb +128 -0
  76. data/spec/unit/lib/mail_adapters/mailgun_spec.rb +13 -18
  77. data/spec/unit/lib/mail_adapters/mailtrap_spec.rb +130 -0
  78. data/spec/unit/lib/mailgun_api/client_spec.rb +31 -9
  79. data/spec/unit/lib/mailtrap_api/client_spec.rb +67 -0
  80. data/spec/unit/lib/web/page_spec.rb +30 -1
  81. metadata +63 -8
  82. data/features/support/transformers.rb +0 -3
  83. data/spec/support/mailgun_unit_client.rb +0 -68
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bb8410811f708378094fa35c54437e100e62efc6
4
- data.tar.gz: 9b2fa233a0ccc0ce63c8a4f410a053228dd6bace
3
+ metadata.gz: 39ab334fafa5a0aa09e730c1e1d04cf190fae186
4
+ data.tar.gz: 1533320ec072148e36f181a1eab235ae44c6cdc6
5
5
  SHA512:
6
- metadata.gz: 2ec55c0135ef0929e65808aa5a1d61aa62b96b40f29ab0ce13fb57b6c0dd14ff5730358d3a7812e66c999f758f3c9b4b6aeeb3c5b62b1547a6fbbe0e096c2e45
7
- data.tar.gz: 7f02cc2ba7ffe493e812b84fa2167c120af2bd7f2238e88c334e70dd5fced7d5b9f8f1c0f0057dd47f3d944e0ae0e3f4b54cb2bc6dd5e9aceefadd20d9a9d126
6
+ metadata.gz: a80f2f50436fc008eec03015827aaa0eb8948d3b60e3c043501479abafa9642bc5621c461903ad70b962585396e23d3fbc8300c8e73a0a3e650ff0e4253eab74
7
+ data.tar.gz: 65ba1c76f707b5d8854b211eaae7c1a6374204310659d79cc4270f2d610453283faa14740f7c00d5d2d43203b5dd417af8a2321783933ee42d6e58a58d84e032
@@ -8,7 +8,7 @@ AllCops:
8
8
  LineLength:
9
9
  Max: 120
10
10
 
11
- Style/CaseIndentation:
11
+ Layout/CaseIndentation:
12
12
  Enabled: false
13
13
 
14
14
  Style/EmptyElse:
@@ -18,11 +18,17 @@ Lint/AmbiguousRegexpLiteral:
18
18
  Enabled: false
19
19
 
20
20
  Lint/AmbiguousBlockAssociation:
21
- Enabled: false
21
+ Enabled: false
22
+
23
+ Lint/RescueWithoutErrorClass:
24
+ Enabled: false
22
25
 
23
26
  Style/CaseEquality:
24
27
  Enabled: false
25
28
 
29
+ Style/YodaCondition:
30
+ Enabled: false
31
+
26
32
  MethodLength:
27
33
  Max: 30
28
34
 
@@ -2,6 +2,6 @@ language: ruby
2
2
  before_install:
3
3
  - gem install bundler
4
4
  rvm:
5
- - 2.2.7
6
- - 2.3.4
7
- - 2.4.1
5
+ - 2.2.8
6
+ - 2.3.5
7
+ - 2.4.2
@@ -1,8 +1,24 @@
1
- ## [In git](https://github.com/strongqa/howitzer/compare/v2.0.3...master)
1
+ ## [In git](https://github.com/strongqa/howitzer/compare/v2.1.0...master)
2
2
 
3
3
  ### New Features
4
4
 
5
- ### Bugfixes
5
+ ### Bug-fixes
6
+
7
+ ## [v2.1.0](https://github.com/strongqa/howitzer/compare/v2.0.3...v2.1.0)
8
+
9
+ ### New Features
10
+ - Integrate CrossBrowserTesting
11
+ - Add Mailtrap support
12
+ - Add Gmail support
13
+ - Add Colorized output
14
+ - Add new option **user_agent** to allow custom user agent setup
15
+ - **mailgun_sleep_time** deprecated, **mail_sleep_time** used instead for all mail adapters
16
+ - Split Capybara drivers configuration to separate files
17
+ - Migrate FactoryGirl to FactoryBot
18
+ - Support Cucumber 3
19
+
20
+ ### Bug-fixes
21
+ - [#231](https://github.com/strongqa/howitzer/issues/231) **window_maximized** option fixed for chrome browser on MacOS
6
22
 
7
23
  ## [v2.0.3](https://github.com/strongqa/howitzer/compare/v2.0.2...v2.0.3)
8
24
 
@@ -11,7 +27,7 @@
11
27
  - Stop supported **mailgun_idle_timeout** deprecated setting
12
28
  - Added maintenance instructions for releasing
13
29
 
14
- ### Bugfixes
30
+ ### Bug-fixes
15
31
  - [#222](https://github.com/strongqa/howitzer/issues/222) fix issue with incorrect iframe scope identifying
16
32
 
17
33
  ## [v2.0.2](https://github.com/strongqa/howitzer/compare/v2.0.1...v2.0.2)
@@ -26,7 +42,7 @@
26
42
  - Add element_presence argument validation
27
43
  - Review and improve tests quality
28
44
 
29
- ### Bugfixes
45
+ ### Bug-fixes
30
46
  - Fix element capybara options merging
31
47
  - [#211](https://github.com/strongqa/howitzer/issues/211) Validation for iframe does not operate as intended
32
48
  - [#210](https://github.com/strongqa/howitzer/issues/210) Options like "wait" can not be used with iframe methods
@@ -42,7 +58,7 @@
42
58
  - Implement wait_for_xxx_element method for sync
43
59
  - Implement within_xxx_element method like Capybara.within
44
60
 
45
- ### Bugfixes
61
+ ### Bug-fixes
46
62
  - [#188](https://github.com/strongqa/howitzer/issues/188) Page validation by element presence does not work properly
47
63
  - [#191](https://github.com/strongqa/howitzer/issues/191) Generated project is broken
48
64
  - [#195](https://github.com/strongqa/howitzer/issues/195) Incorrect parameters passing in lambda locators
@@ -54,7 +70,7 @@
54
70
  ## [v2.0.0](https://github.com/strongqa/howitzer/compare/v1.1.1...v2.0.0)
55
71
 
56
72
  ### New Features
57
- - Added REST API prerequisites with FactoryGirl
73
+ - Added REST API prerequisites with FactoryBot
58
74
  - Added Turnip supporting
59
75
  - Restricted using several bdd frameworks at the same time
60
76
  - Removed Opera browser supporting
@@ -80,7 +96,7 @@
80
96
 
81
97
  ## [v1.1.1](https://github.com/strongqa/howitzer/compare/v1.1.0...v1.1.1)
82
98
 
83
- ### Bugfixes
99
+ ### Bug-fixes
84
100
  - fixed problem with Mailgun
85
101
  - fixed problems with gems
86
102
 
@@ -103,7 +119,7 @@
103
119
  - Integrated YardDoc
104
120
  - Integrated Gitter
105
121
 
106
- ### Bugfixes
122
+ ### Bug-fixes
107
123
  - Fixed issue with loading ActiveSupport
108
124
 
109
125
  ## [v1.0.2](https://github.com/strongqa/howitzer/compare/v1.0.1...v1.0.2)
@@ -121,14 +137,14 @@
121
137
  - Rewritten command line interface and covered by acceptance tests fully
122
138
  - Simplified DataStorage clearing after each tests
123
139
 
124
- ### Bugfixes
140
+ ### Bug-fixes
125
141
  - Fixed reset session after each scenario against to IE
126
142
  - Corrected default Cucumber and Rspec formatters
127
143
  - Minor bug fixing and code refactoring
128
144
 
129
145
  ## [v1.0.1](https://github.com/strongqa/howitzer/compare/v1.0...v1.0.1)
130
146
 
131
- ### Bugfixes
147
+ ### Bug-fixes
132
148
  - Fixed unit tests
133
149
  - Fixed correct Ruby version supporting
134
150
 
@@ -145,7 +161,7 @@ It is major release, so there are many new features, refactoring, unit tests, co
145
161
 
146
162
  * Added supporting poltergeist driver
147
163
 
148
- ### Bugfixes
164
+ ### Bug-fixes
149
165
 
150
166
  * Fixed problem with dependencies
151
167
 
data/Gemfile CHANGED
@@ -9,5 +9,6 @@ end
9
9
  gemspec
10
10
 
11
11
  group :development do
12
+ gem 'fakeweb', git: 'https://github.com/chrisk/fakeweb.git', branch: 'master'
12
13
  gem 'rubocop'
13
14
  end
@@ -0,0 +1,16 @@
1
+ ## Meta
2
+ Howitzer Version:
3
+ <!-- 2.0.3 -->
4
+ Driver and browser information:
5
+ <!-- selenium 3.4 ChromeDriver 2.29.461571 Chrome 59 -->
6
+ Gem Versions:
7
+ <!-- Gem versions involved in the issue -->
8
+
9
+ ## Expected Behavior
10
+
11
+ ## Actual Behavior
12
+
13
+ ## Steps to reproduce
14
+ <!--
15
+ Please be sure to include the code that is creating the issue along with HTML the code is being run against
16
+ -->
data/README.md CHANGED
@@ -25,7 +25,8 @@
25
25
  - Fast installation and configuration of the complete testing infrastructure (takes less than 5 minutes).
26
26
  - Elegant, intuitive and powerful Ruby language underneath.
27
27
  - Possibility to choose your favorite BDD tool (Cucumber, RSpec or Turnip).
28
- - Integration with SauceLabs, Testingbot, BrowserStack and MailGun web services.
28
+ - Integration with SauceLabs, Testingbot, BrowserStack, CrossBrowserTesting cloud services.
29
+ - Integration with MailGun, Gmail, Mailtrap email services.
29
30
  - Easy tests support based on the best patterns, techniques, principles.
30
31
  - Ability to execute tests against to both browserless driver and actual browsers with no changes in your tests.
31
32
 
data/Rakefile CHANGED
@@ -15,8 +15,24 @@ Cucumber::Rake::Task.new(:cucumber, 'Run all cucumber features') do |t|
15
15
  t.fork = false
16
16
  end
17
17
 
18
+ RuboCop::RakeTask.new
19
+
18
20
  YARD::Rake::YardocTask.new { |_t| }
19
21
 
20
- RuboCop::RakeTask.new
22
+ namespace :yard do
23
+ desc 'Validate yard coverage'
24
+ task :validate do
25
+ log = StringIO.new
26
+ YARD::Logger.instance(log)
27
+ doc = YARD::CLI::Yardoc.new
28
+ doc.use_document_file = false
29
+ doc.use_yardopts_file = false
30
+ doc.generate = false
31
+ doc.run('--list-undoc')
32
+ output = log.string
33
+ puts output
34
+ exit(1) unless output.include?('100.00% documented')
35
+ end
36
+ end
21
37
 
22
- task default: %i[rubocop spec cucumber]
38
+ task default: %i[rubocop yard:validate spec cucumber]
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ require 'colorized_string'
2
3
  require 'gli'
3
4
  require_relative '../lib/howitzer/version'
4
5
 
@@ -26,9 +27,9 @@ module HowitzerCli
26
27
  validate_options(options)
27
28
  load_generators
28
29
  path_to_dir = File.join(Dir.pwd, args.first)
29
- puts ' * New project directory creation ...'
30
+ puts ColorizedString.new(' * New project directory creation ...').light_cyan
30
31
  Dir.mkdir(path_to_dir)
31
- puts " Created new './#{args.first}' folder"
32
+ puts " #{ColorizedString.new('Created').light_green} './#{args.first}' folder"
32
33
  Dir.chdir(path_to_dir)
33
34
  Howitzer::ConfigGenerator.new(options)
34
35
  Howitzer::WebGenerator.new(options)
@@ -43,9 +44,9 @@ module HowitzerCli
43
44
  elsif options['turnip']
44
45
  Howitzer::TurnipGenerator.new(options)
45
46
  end
46
- puts '[WARN] Extra parameters were skipped' if args.size > 1
47
+ puts ColorizedString.new('[WARN] Extra parameters were skipped').yellow if args.size > 1
47
48
  elsif args.size.zero?
48
- exit_now!('Please specify <PROJECT NAME>', 64)
49
+ exit_now!(ColorizedString.new('Please specify <PROJECT NAME>').red, 64)
49
50
  end
50
51
  end
51
52
  end
@@ -80,11 +81,11 @@ module HowitzerCli
80
81
  def validate_options(options)
81
82
  return if [options[:cucumber], options[:rspec], options[:turnip]].count { |el| el } == 1
82
83
 
83
- exit_now!('Provide --cucumber, --rspec or --turnip option', 64)
84
+ exit_now!(ColorizedString.new('Provide --cucumber, --rspec or --turnip option').red, 64)
84
85
  end
85
86
 
86
87
  def check_project_presence
87
- exit_now!('Current directory is not Howitzer project', 126) unless howitzer_project?
88
+ exit_now!(ColorizedString.new('Current directory is not Howitzer project').red, 126) unless howitzer_project?
88
89
  end
89
90
 
90
91
  def howitzer_project?
@@ -2,7 +2,7 @@ Feature: Howitzer CLI Help
2
2
 
3
3
  Scenario Outline: Run with help global option
4
4
  When I run `howitzer <option>`
5
- Then the output should contain exactly:
5
+ Then the output should be exactly:
6
6
  """
7
7
  NAME
8
8
  howitzer - Ruby based framework for acceptance testing
@@ -54,12 +54,22 @@ Feature: Howitzer CLI New Project Creation
54
54
  Then the output should contain exactly:
55
55
  """
56
56
  * New project directory creation ...
57
- Created new './test_automation' folder
57
+ Created './test_automation' folder
58
58
  * Config files generation ...
59
59
  Added 'config/boot.rb' file
60
60
  Added 'config/custom.yml' file
61
61
  Added 'config/capybara.rb' file
62
62
  Added 'config/default.yml' file
63
+ Added 'config/drivers/browserstack.rb' file
64
+ Added 'config/drivers/crossbrowsertesting.rb' file
65
+ Added 'config/drivers/headless_chrome.rb' file
66
+ Added 'config/drivers/phantomjs.rb' file
67
+ Added 'config/drivers/poltergeist.rb' file
68
+ Added 'config/drivers/sauce.rb' file
69
+ Added 'config/drivers/selenium.rb' file
70
+ Added 'config/drivers/selenium_grid.rb' file
71
+ Added 'config/drivers/testingbot.rb' file
72
+ Added 'config/drivers/webkit.rb' file
63
73
  * PageOriented pattern structure generation ...
64
74
  Added 'web/pages/example_page.rb' file
65
75
  Added 'web/sections/menu_section.rb' file
@@ -73,7 +83,7 @@ Feature: Howitzer CLI New Project Creation
73
83
  Added 'Rakefile' file
74
84
  Added template 'Gemfile.erb' with params '{:r=>true, :rspec=>true, :c=>false, :cucumber=>false, :t=>false, :turnip=>false}' to destination 'Gemfile'
75
85
  * Pre-requisites integration to the framework ...
76
- Added 'prerequisites/factory_girl.rb' file
86
+ Added 'prerequisites/factory_bot.rb' file
77
87
  Added 'prerequisites/factories/users.rb' file
78
88
  Added 'prerequisites/models/base.rb' file
79
89
  Added 'prerequisites/models/user.rb' file
@@ -92,7 +102,7 @@ Feature: Howitzer CLI New Project Creation
92
102
  | test_automation/emails/example_email.rb |
93
103
  | test_automation/web/sections/menu_section.rb |
94
104
  | test_automation/web/pages/example_page.rb |
95
- | test_automation/prerequisites/factory_girl.rb |
105
+ | test_automation/prerequisites/factory_bot.rb |
96
106
  | test_automation/prerequisites/factories/users.rb |
97
107
  | test_automation/prerequisites/models/base.rb |
98
108
  | test_automation/prerequisites/models/user.rb |
@@ -115,12 +125,22 @@ Feature: Howitzer CLI New Project Creation
115
125
  Then the output should contain exactly:
116
126
  """
117
127
  * New project directory creation ...
118
- Created new './test_automation' folder
128
+ Created './test_automation' folder
119
129
  * Config files generation ...
120
130
  Added 'config/boot.rb' file
121
131
  Added 'config/custom.yml' file
122
132
  Added 'config/capybara.rb' file
123
133
  Added 'config/default.yml' file
134
+ Added 'config/drivers/browserstack.rb' file
135
+ Added 'config/drivers/crossbrowsertesting.rb' file
136
+ Added 'config/drivers/headless_chrome.rb' file
137
+ Added 'config/drivers/phantomjs.rb' file
138
+ Added 'config/drivers/poltergeist.rb' file
139
+ Added 'config/drivers/sauce.rb' file
140
+ Added 'config/drivers/selenium.rb' file
141
+ Added 'config/drivers/selenium_grid.rb' file
142
+ Added 'config/drivers/testingbot.rb' file
143
+ Added 'config/drivers/webkit.rb' file
124
144
  * PageOriented pattern structure generation ...
125
145
  Added 'web/pages/example_page.rb' file
126
146
  Added 'web/sections/menu_section.rb' file
@@ -134,7 +154,7 @@ Feature: Howitzer CLI New Project Creation
134
154
  Added 'Rakefile' file
135
155
  Added template 'Gemfile.erb' with params '{:c=>true, :cucumber=>true, :r=>false, :rspec=>false, :t=>false, :turnip=>false}' to destination 'Gemfile'
136
156
  * Pre-requisites integration to the framework ...
137
- Added 'prerequisites/factory_girl.rb' file
157
+ Added 'prerequisites/factory_bot.rb' file
138
158
  Added 'prerequisites/factories/users.rb' file
139
159
  Added 'prerequisites/models/base.rb' file
140
160
  Added 'prerequisites/models/user.rb' file
@@ -161,7 +181,7 @@ Feature: Howitzer CLI New Project Creation
161
181
  | test_automation/features/example.feature |
162
182
  | test_automation/web/sections/menu_section.rb |
163
183
  | test_automation/web/pages/example_page.rb |
164
- | test_automation/prerequisites/factory_girl.rb |
184
+ | test_automation/prerequisites/factory_bot.rb |
165
185
  | test_automation/prerequisites/factories/users.rb |
166
186
  | test_automation/prerequisites/models/base.rb |
167
187
  | test_automation/prerequisites/models/user.rb |
@@ -183,12 +203,22 @@ Feature: Howitzer CLI New Project Creation
183
203
  Then the output should contain exactly:
184
204
  """
185
205
  * New project directory creation ...
186
- Created new './test_automation' folder
206
+ Created './test_automation' folder
187
207
  * Config files generation ...
188
208
  Added 'config/boot.rb' file
189
209
  Added 'config/custom.yml' file
190
210
  Added 'config/capybara.rb' file
191
211
  Added 'config/default.yml' file
212
+ Added 'config/drivers/browserstack.rb' file
213
+ Added 'config/drivers/crossbrowsertesting.rb' file
214
+ Added 'config/drivers/headless_chrome.rb' file
215
+ Added 'config/drivers/phantomjs.rb' file
216
+ Added 'config/drivers/poltergeist.rb' file
217
+ Added 'config/drivers/sauce.rb' file
218
+ Added 'config/drivers/selenium.rb' file
219
+ Added 'config/drivers/selenium_grid.rb' file
220
+ Added 'config/drivers/testingbot.rb' file
221
+ Added 'config/drivers/webkit.rb' file
192
222
  * PageOriented pattern structure generation ...
193
223
  Added 'web/pages/example_page.rb' file
194
224
  Added 'web/sections/menu_section.rb' file
@@ -202,7 +232,7 @@ Feature: Howitzer CLI New Project Creation
202
232
  Added 'Rakefile' file
203
233
  Added template 'Gemfile.erb' with params '{:t=>true, :turnip=>true, :c=>false, :cucumber=>false, :r=>false, :rspec=>false}' to destination 'Gemfile'
204
234
  * Pre-requisites integration to the framework ...
205
- Added 'prerequisites/factory_girl.rb' file
235
+ Added 'prerequisites/factory_bot.rb' file
206
236
  Added 'prerequisites/factories/users.rb' file
207
237
  Added 'prerequisites/models/base.rb' file
208
238
  Added 'prerequisites/models/user.rb' file
@@ -293,12 +323,22 @@ Feature: Howitzer CLI New Project Creation
293
323
  Then the output should contain exactly:
294
324
  """
295
325
  * New project directory creation ...
296
- Created new './test_automation' folder
326
+ Created './test_automation' folder
297
327
  * Config files generation ...
298
328
  Added 'config/boot.rb' file
299
329
  Added 'config/custom.yml' file
300
330
  Added 'config/capybara.rb' file
301
331
  Added 'config/default.yml' file
332
+ Added 'config/drivers/browserstack.rb' file
333
+ Added 'config/drivers/crossbrowsertesting.rb' file
334
+ Added 'config/drivers/headless_chrome.rb' file
335
+ Added 'config/drivers/phantomjs.rb' file
336
+ Added 'config/drivers/poltergeist.rb' file
337
+ Added 'config/drivers/sauce.rb' file
338
+ Added 'config/drivers/selenium.rb' file
339
+ Added 'config/drivers/selenium_grid.rb' file
340
+ Added 'config/drivers/testingbot.rb' file
341
+ Added 'config/drivers/webkit.rb' file
302
342
  * PageOriented pattern structure generation ...
303
343
  Added 'web/pages/example_page.rb' file
304
344
  Added 'web/sections/menu_section.rb' file
@@ -312,7 +352,7 @@ Feature: Howitzer CLI New Project Creation
312
352
  Added 'Rakefile' file
313
353
  Added template 'Gemfile.erb' with params '{:r=>true, :rspec=>true, :c=>false, :cucumber=>false, :t=>false, :turnip=>false}' to destination 'Gemfile'
314
354
  * Pre-requisites integration to the framework ...
315
- Added 'prerequisites/factory_girl.rb' file
355
+ Added 'prerequisites/factory_bot.rb' file
316
356
  Added 'prerequisites/factories/users.rb' file
317
357
  Added 'prerequisites/models/base.rb' file
318
358
  Added 'prerequisites/models/user.rb' file
@@ -331,7 +371,7 @@ Feature: Howitzer CLI New Project Creation
331
371
  | test_automation/emails/example_email.rb |
332
372
  | test_automation/web/sections/menu_section.rb |
333
373
  | test_automation/web/pages/example_page.rb |
334
- | test_automation/prerequisites/factory_girl.rb |
374
+ | test_automation/prerequisites/factory_bot.rb |
335
375
  | test_automation/prerequisites/factories/users.rb |
336
376
  | test_automation/prerequisites/models/base.rb |
337
377
  | test_automation/prerequisites/models/user.rb |
@@ -13,6 +13,16 @@ Feature: Howitzer CLI Update Existing Project
13
13
  Identical 'config/custom.yml' file
14
14
  Identical 'config/capybara.rb' file
15
15
  Added 'config/default.yml' file
16
+ Identical 'config/drivers/browserstack.rb' file
17
+ Identical 'config/drivers/crossbrowsertesting.rb' file
18
+ Identical 'config/drivers/headless_chrome.rb' file
19
+ Identical 'config/drivers/phantomjs.rb' file
20
+ Identical 'config/drivers/poltergeist.rb' file
21
+ Identical 'config/drivers/sauce.rb' file
22
+ Identical 'config/drivers/selenium.rb' file
23
+ Identical 'config/drivers/selenium_grid.rb' file
24
+ Identical 'config/drivers/testingbot.rb' file
25
+ Identical 'config/drivers/webkit.rb' file
16
26
  * PageOriented pattern structure generation ...
17
27
  Identical 'web/pages/example_page.rb' file
18
28
  Identical 'web/sections/menu_section.rb' file
@@ -21,7 +31,7 @@ Feature: Howitzer CLI Update Existing Project
21
31
  * Email example generation ...
22
32
  Identical '/emails/example_email.rb' file
23
33
  * Pre-requisites integration to the framework ...
24
- Identical 'prerequisites/factory_girl.rb' file
34
+ Identical 'prerequisites/factory_bot.rb' file
25
35
  Identical 'prerequisites/factories/users.rb' file
26
36
  Identical 'prerequisites/models/base.rb' file
27
37
  Identical 'prerequisites/models/user.rb' file
@@ -47,6 +57,16 @@ Feature: Howitzer CLI Update Existing Project
47
57
  Identical 'config/custom.yml' file
48
58
  Identical 'config/capybara.rb' file
49
59
  Identical 'config/default.yml' file
60
+ Identical 'config/drivers/browserstack.rb' file
61
+ Identical 'config/drivers/crossbrowsertesting.rb' file
62
+ Identical 'config/drivers/headless_chrome.rb' file
63
+ Identical 'config/drivers/phantomjs.rb' file
64
+ Identical 'config/drivers/poltergeist.rb' file
65
+ Identical 'config/drivers/sauce.rb' file
66
+ Identical 'config/drivers/selenium.rb' file
67
+ Identical 'config/drivers/selenium_grid.rb' file
68
+ Identical 'config/drivers/testingbot.rb' file
69
+ Identical 'config/drivers/webkit.rb' file
50
70
  * PageOriented pattern structure generation ...
51
71
  Identical 'web/pages/example_page.rb' file
52
72
  Identical 'web/sections/menu_section.rb' file
@@ -55,7 +75,7 @@ Feature: Howitzer CLI Update Existing Project
55
75
  * Email example generation ...
56
76
  Identical '/emails/example_email.rb' file
57
77
  * Pre-requisites integration to the framework ...
58
- Identical 'prerequisites/factory_girl.rb' file
78
+ Identical 'prerequisites/factory_bot.rb' file
59
79
  Identical 'prerequisites/factories/users.rb' file
60
80
  Identical 'prerequisites/models/base.rb' file
61
81
  Identical 'prerequisites/models/user.rb' file
@@ -85,6 +105,16 @@ Feature: Howitzer CLI Update Existing Project
85
105
  Identical 'config/custom.yml' file
86
106
  Identical 'config/capybara.rb' file
87
107
  Added 'config/default.yml' file
108
+ Identical 'config/drivers/browserstack.rb' file
109
+ Identical 'config/drivers/crossbrowsertesting.rb' file
110
+ Identical 'config/drivers/headless_chrome.rb' file
111
+ Identical 'config/drivers/phantomjs.rb' file
112
+ Identical 'config/drivers/poltergeist.rb' file
113
+ Identical 'config/drivers/sauce.rb' file
114
+ Identical 'config/drivers/selenium.rb' file
115
+ Identical 'config/drivers/selenium_grid.rb' file
116
+ Identical 'config/drivers/testingbot.rb' file
117
+ Identical 'config/drivers/webkit.rb' file
88
118
  * PageOriented pattern structure generation ...
89
119
  Identical 'web/pages/example_page.rb' file
90
120
  Identical 'web/sections/menu_section.rb' file
@@ -93,7 +123,7 @@ Feature: Howitzer CLI Update Existing Project
93
123
  * Email example generation ...
94
124
  Identical '/emails/example_email.rb' file
95
125
  * Pre-requisites integration to the framework ...
96
- Identical 'prerequisites/factory_girl.rb' file
126
+ Identical 'prerequisites/factory_bot.rb' file
97
127
  Identical 'prerequisites/factories/users.rb' file
98
128
  Identical 'prerequisites/models/base.rb' file
99
129
  Identical 'prerequisites/models/user.rb' file
@@ -125,6 +155,16 @@ Feature: Howitzer CLI Update Existing Project
125
155
  Identical 'config/custom.yml' file
126
156
  Identical 'config/capybara.rb' file
127
157
  Identical 'config/default.yml' file
158
+ Identical 'config/drivers/browserstack.rb' file
159
+ Identical 'config/drivers/crossbrowsertesting.rb' file
160
+ Identical 'config/drivers/headless_chrome.rb' file
161
+ Identical 'config/drivers/phantomjs.rb' file
162
+ Identical 'config/drivers/poltergeist.rb' file
163
+ Identical 'config/drivers/sauce.rb' file
164
+ Identical 'config/drivers/selenium.rb' file
165
+ Identical 'config/drivers/selenium_grid.rb' file
166
+ Identical 'config/drivers/testingbot.rb' file
167
+ Identical 'config/drivers/webkit.rb' file
128
168
  * PageOriented pattern structure generation ...
129
169
  Identical 'web/pages/example_page.rb' file
130
170
  Identical 'web/sections/menu_section.rb' file
@@ -133,7 +173,7 @@ Feature: Howitzer CLI Update Existing Project
133
173
  * Email example generation ...
134
174
  Identical '/emails/example_email.rb' file
135
175
  * Pre-requisites integration to the framework ...
136
- Identical 'prerequisites/factory_girl.rb' file
176
+ Identical 'prerequisites/factory_bot.rb' file
137
177
  Identical 'prerequisites/factories/users.rb' file
138
178
  Identical 'prerequisites/models/base.rb' file
139
179
  Identical 'prerequisites/models/user.rb' file