rubygene 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/.rspec +3 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +6 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +152 -0
  8. data/Rakefile +6 -0
  9. data/bin/console +14 -0
  10. data/bin/rubygene +207 -0
  11. data/bin/setup +8 -0
  12. data/lib/SkeletonApi/.gitignore +1 -0
  13. data/lib/SkeletonApi/Gemfile +6 -0
  14. data/lib/SkeletonApi/README.md +36 -0
  15. data/lib/SkeletonApi/Rakefile +11 -0
  16. data/lib/SkeletonApi/cucumber.yml +13 -0
  17. data/lib/SkeletonApi/features/services/.gitkeep +0 -0
  18. data/lib/SkeletonApi/features/specifications/.gitkeep +0 -0
  19. data/lib/SkeletonApi/features/steps_definitions/.gitkeep +0 -0
  20. data/lib/SkeletonApi/features/support/config/dev.yaml +1 -0
  21. data/lib/SkeletonApi/features/support/config/hmg.yaml +1 -0
  22. data/lib/SkeletonApi/features/support/env.rb +13 -0
  23. data/lib/SkeletonApi/results/report.html +0 -0
  24. data/lib/SkeletonApi/results/report.json +0 -0
  25. data/lib/SkeletonMobile/.gitignore +1 -0
  26. data/lib/SkeletonMobile/Gemfile +7 -0
  27. data/lib/SkeletonMobile/README.md +37 -0
  28. data/lib/SkeletonMobile/cucumber.yml +7 -0
  29. data/lib/SkeletonMobile/features/screens/.gitkeep +0 -0
  30. data/lib/SkeletonMobile/features/specifications/.gitkeep +0 -0
  31. data/lib/SkeletonMobile/features/steps_definitions/.gitkeep +0 -0
  32. data/lib/SkeletonMobile/features/support/appium.txt +4 -0
  33. data/lib/SkeletonMobile/features/support/env.rb +25 -0
  34. data/lib/SkeletonMobile/features/support/helper.rb +11 -0
  35. data/lib/SkeletonMobile/features/support/hooks.rb +23 -0
  36. data/lib/SkeletonMobile/features/support/page_helper.rb +3 -0
  37. data/lib/SkeletonMobile/results/report.html +0 -0
  38. data/lib/SkeletonMobile/results/report.json +0 -0
  39. data/lib/SkeletonMobile/results/screenshots/.gitkeep +0 -0
  40. data/lib/SkeletonWeb/.gitignore +1 -0
  41. data/lib/SkeletonWeb/Gemfile +10 -0
  42. data/lib/SkeletonWeb/README.md +49 -0
  43. data/lib/SkeletonWeb/Rakefile +23 -0
  44. data/lib/SkeletonWeb/cucumber.yml +15 -0
  45. data/lib/SkeletonWeb/features/pages/.gitkeep +0 -0
  46. data/lib/SkeletonWeb/features/specifications/.gitkeep +0 -0
  47. data/lib/SkeletonWeb/features/steps_definitions/.gitkeep +0 -0
  48. data/lib/SkeletonWeb/features/support/config/dev.yml +1 -0
  49. data/lib/SkeletonWeb/features/support/config/hmg.yml +1 -0
  50. data/lib/SkeletonWeb/features/support/env.rb +34 -0
  51. data/lib/SkeletonWeb/features/support/helper.rb +22 -0
  52. data/lib/SkeletonWeb/features/support/hooks.rb +15 -0
  53. data/lib/SkeletonWeb/features/support/page_helper.rb +6 -0
  54. data/lib/SkeletonWeb/results/report.html +0 -0
  55. data/lib/SkeletonWeb/results/report.json +0 -0
  56. data/lib/SkeletonWeb/results/screenshots/.gitkeep +0 -0
  57. data/lib/generate_ruby_tests/generate_ruby_test_helper.rb +59 -0
  58. data/lib/generate_ruby_tests/version.rb +3 -0
  59. data/lib/generate_ruby_tests.rb +5 -0
  60. data/lib/locales/en.yml +7 -0
  61. data/lib/locales/pt.yml +7 -0
  62. data/lib/templates/feature.tt +8 -0
  63. data/lib/templates/page.tt +6 -0
  64. data/lib/templates/screens.tt +5 -0
  65. data/lib/templates/services.tt +8 -0
  66. data/lib/templates/steps.tt +5 -0
  67. data/rubygene.gemspec +30 -0
  68. metadata +198 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 60d6e9b47a4c0fc6bc66119f816f7a96d3c0bc93
4
+ data.tar.gz: 04e53d56213399059b9dde063444b840cc39b1c0
5
+ SHA512:
6
+ metadata.gz: 680e6dea73e4b68dd3f2e2cb2a99cd465f5b4981625870b588a15256e98338fb4067bb2c8e17182b4b38719b31fcc8d9ba9fccc6a8f0d6809ab6b5e41c40f242
7
+ data.tar.gz: 190d79820501fd6942106c6e77084da7a1faf98adc9fdb366174171cca29f3fb58f194faedb6ff90c4b8bf7db5adf62da3b4e0512e20d9c2d635a4834d73b998
data/.gitignore ADDED
@@ -0,0 +1,22 @@
1
+ .idea/
2
+ /.bundle/
3
+ /doc/
4
+ /pkg/
5
+ /spec/reports/
6
+ /tmp/
7
+ *.bundle
8
+ *.so
9
+ *.o
10
+ *.a
11
+ mkmf.log
12
+ .irb-history
13
+ .DS_Store
14
+ Gemfile.lock
15
+ coverage/
16
+ File::NULL
17
+ /.yardoc
18
+ /_yardoc/
19
+ /coverage/
20
+
21
+ # rspec failure tracking
22
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at brunobatista101@gmail.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in generate_ruby_tests.gemspec
6
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 brunobatista25
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,152 @@
1
+ # GenerateRubyTests
2
+
3
+ Bem vindo a gem RubyGene é uma gem baseada na gem [Magneton](https://github.com/concretesolutions/magneton).
4
+
5
+ O intuito da gem RubyGene é conseguir gerar projetos já configurados para um projeto Web, Mobile ou Api. Todos eles baseados na estrutura de um projeto em cucumber.
6
+
7
+ ## Instalação
8
+
9
+ Adicione este comando no terminal:
10
+
11
+ ```ruby
12
+ gem install generate_ruby_tests
13
+ ```
14
+
15
+ # Usando a gem
16
+
17
+
18
+ ## Gerar um projeto Web
19
+
20
+ ```ruby
21
+ rubygene new_web nome_do_projeto
22
+ ```
23
+
24
+ Onde irá gerar um projeto deste modelo, já com tudo configurado:
25
+
26
+ Features: Onde fica as funcionalidades do projeto;
27
+
28
+ Steps: Onde são realizados os testes de fato;
29
+
30
+ Pages: Onde fica mapeado os elementos e metódos de uma determinada página;
31
+
32
+ Support: Onde fica as configuraçōes do projeto;
33
+
34
+ Results: Onde fica o resultado dos testes e relatórios.
35
+
36
+ ## Gerar um projeto Api
37
+
38
+ ```ruby
39
+ rubygene new_api nome_do_projeto
40
+ ```
41
+
42
+ Onde irá gerar um projeto deste modelo, já com tudo configurado:
43
+
44
+ Features: Onde fica as funcionalidades do projeto;
45
+
46
+ Steps: Onde são realizados os testes de fato;
47
+
48
+ Services: Onde fica as configuraçōes do serviço;
49
+
50
+ Support: Onde fica as configuraçōes do projeto;
51
+
52
+ Results: Onde fica o resultado dos testes e relatórios.
53
+
54
+ ## Gerar um projeto Mobile
55
+
56
+ ```ruby
57
+ rubygene new_mobile nome_do_projeto
58
+ ```
59
+
60
+ Onde irá gerar um projeto deste modelo, já com tudo configurado:
61
+
62
+ Features: Onde fica as funcionalidades do projeto;
63
+
64
+ Steps: Onde são realizados os testes de fato;
65
+
66
+ Screens: Onde fica mapeado os elementos e metódos de uma determinada screen;
67
+
68
+ Support: Onde fica as configuraçōes do projeto;
69
+
70
+ Results: Onde fica o resultado dos testes e relatórios.
71
+
72
+ E tambem é possivel gerar os steps,features,services,pages etc... sozinhos
73
+
74
+ ## Gerar um step
75
+
76
+ ```ruby
77
+ rubygene generate step nome_do_step
78
+ ```
79
+
80
+ ## Gerar um feature
81
+
82
+ ```ruby
83
+ rubygene generate feature nome_da_feature
84
+ ```
85
+
86
+ ## Gerar um page
87
+
88
+ ```ruby
89
+ rubygene generate page nome_da_page
90
+ ```
91
+
92
+ ## Gerar um screens
93
+
94
+ ```ruby
95
+ rubygene generate screen nome_da_screen
96
+ ```
97
+
98
+ ## Gerar um services
99
+
100
+ ```ruby
101
+ rubygene generate service nome_do_service
102
+ ```
103
+
104
+ Agora se precisar criar uma feature, page e step também tem um atalho pra isso :)
105
+
106
+ ## Gerar feature,page,step
107
+
108
+ ```ruby
109
+ rubygene generate all_web
110
+ ```
111
+
112
+ Agora se precisar criar uma feature, screens e step também tem um atalho pra isso :)
113
+
114
+ ## Gerar feature,screens,step
115
+
116
+ ```ruby
117
+ rubygene generate all_mobile
118
+ ```
119
+
120
+ Agora se precisar criar uma feature, services e step também tem um atalho pra isso :)
121
+
122
+ ## Gerar feature,services,step
123
+
124
+ ```ruby
125
+ rubygene generate all_api
126
+ ```
127
+
128
+ Por padrão tudo e gerado em inglês caso precise utilizar em português rode com o `--lang=pt`
129
+
130
+ ```ruby
131
+ rubygene generate all_api --lang=pt
132
+ ```
133
+
134
+ ## Para Proximas versōes
135
+
136
+ - Adicionar gerador pra JsonSchema
137
+ - Adicionar gerador de projeto calabash
138
+ - Adicionar gerador para projetos Rspec pra Web, Mobile e Api.
139
+
140
+ ## Contribuição
141
+
142
+ Relatórios de bugs e solicitações de recebimento são bem-vindos no GitHub em https://github.com/brunobatista25/rubygene. Este projeto destina-se a ser um espaço seguro e acolhedor para colaboração, e espera-se que os contribuintes adiram à [Contributor Covenant](http://contributor-covenant.org) Código de conduta.
143
+
144
+ ## Licença
145
+
146
+ A gema está disponível como código aberto sob os termos do
147
+ [MIT License](https://opensource.org/licenses/MIT).
148
+
149
+ ## Código de conduta
150
+
151
+ Espera-se que todos que interagem nas bases de código do projeto RubyGene, rastreadores de problemas, salas de bate-papo e listas de discussão sigam o
152
+ [code of conduct](https://github.com/brunobatista25/rubygene/blob/master/CODE_OF_CONDUCT.md).
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "generate_ruby_tests"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/rubygene ADDED
@@ -0,0 +1,207 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+
4
+ require 'thor'
5
+ require 'thor/group'
6
+ require 'i18n'
7
+ require 'gherkin' # Used here as a translation source
8
+ require 'json'
9
+ require 'yaml'
10
+
11
+ require File.join(File.dirname(__FILE__),
12
+ '../lib/generate_ruby_tests/generate_ruby_test_helper')
13
+ require_relative '../lib/generate_ruby_tests/version'
14
+
15
+ module GeneCapybara
16
+ # Definição de todos os geradores de gemas
17
+ class Generate < Thor
18
+ include Thor::Actions
19
+
20
+ desc 'feature [RESOURCE_NAME]', 'Generates a feature'
21
+ option :lang,
22
+ banner: 'any of the gherkin supported languages',
23
+ default: :en
24
+ def feature(name)
25
+ I18n.config.default_locale = options[:lang]
26
+ in_root_project_folder?
27
+ create_feature_file(name)
28
+ end
29
+
30
+ desc 'step [RESOURCE_NAME]', 'Generates a step'
31
+ option :lang,
32
+ banner: 'any of the gherkin supported languages',
33
+ default: :en
34
+ def step(name)
35
+ I18n.config.default_locale = options[:lang]
36
+ in_root_project_folder?
37
+ create_steps_file name
38
+ end
39
+
40
+ desc 'page [RESOURCE_NAME]', 'Generates pages'
41
+ option :lang,
42
+ banner: 'any of the gherkin supported languages',
43
+ default: :en
44
+ def page(name)
45
+ I18n.config.default_locale = options[:lang]
46
+ in_root_project_folder?
47
+ create_page_file name
48
+ end
49
+
50
+ desc 'screens [RESOURCE_NAME]', 'Generates screens'
51
+ option :lang,
52
+ banner: 'any of the gherkin supported languages',
53
+ default: :en
54
+ def screen(name)
55
+ I18n.config.default_locale = options[:lang]
56
+ in_root_project_folder?
57
+ create_screens_file name
58
+ end
59
+
60
+ desc 'services [RESOURCE_NAME]', 'Generates services'
61
+ option :lang,
62
+ banner: 'any of the gherkin supported languages',
63
+ default: :en
64
+ def service(name)
65
+ I18n.config.default_locale = options[:lang]
66
+ in_root_project_folder?
67
+ create_service_file name
68
+ end
69
+
70
+ desc 'all_web [RESOURCE_NAME]', 'Generates features, steps and pages'
71
+ option :lang,
72
+ banner: 'any of the gherkin supported languages',
73
+ default: :en
74
+ def all_web(name)
75
+ I18n.config.default_locale = options[:lang]
76
+ in_root_project_folder?
77
+ create_feature_file(name)
78
+ create_steps_file name
79
+ create_page_file name
80
+ end
81
+
82
+ desc 'all_mobile [RESOURCE_NAME]', 'Generates features, steps and screens'
83
+ option :lang,
84
+ banner: 'any of the gherkin supported languages',
85
+ default: :en
86
+ def all_mobile(name)
87
+ I18n.config.default_locale = options[:lang]
88
+ in_root_project_folder?
89
+ create_feature_file(name)
90
+ create_steps_file name
91
+ create_screens_file name
92
+ end
93
+
94
+ desc 'all_api [RESOURCE_NAME]', 'Generates feature and steps'
95
+ option :lang,
96
+ banner: 'any of the gherkin supported languages',
97
+ default: :en
98
+ def all_api(name)
99
+ I18n.config.default_locale = options[:lang]
100
+ in_root_project_folder?
101
+ create_feature_file(name)
102
+ create_steps_file name
103
+ create_service_file name
104
+ end
105
+
106
+ def self.source_root
107
+ File.join(File.dirname(__FILE__), '..', 'lib', 'templates')
108
+ end
109
+ end
110
+ end
111
+
112
+ module GeneCapybara
113
+ # Definição dos grupos geradores
114
+ class GeneCapybaraRunner < Thor
115
+ include Thor::Actions
116
+
117
+ map '-v' => :version
118
+ map '--version' => :version
119
+
120
+ default_task :help
121
+
122
+ register GeneCapybara::Generate, 'generate',
123
+ 'generate [GENERATOR] [RESOURCE_NAME]',
124
+ 'Generates various resources'
125
+ register GeneCapybara::Generate, 'g',
126
+ 'g [GENERATOR] [RESOURCE_NAME]',
127
+ 'Generates various resources'
128
+
129
+ desc 'new web PROJECT_NAME',
130
+ 'Generates the structure of a new project that uses '\
131
+ 'Capybara, SitePrism, Selenium and Cucumber'
132
+ option :lang,
133
+ banner: 'any of the gherkin supported languages',
134
+ default: :en
135
+ def new_web(name)
136
+ I18n.config.default_locale = options[:lang]
137
+ # Thor sera responsavel por procurar
138
+ # arquivos e possiveis conflitos
139
+ directory File.join(File.dirname(__FILE__),
140
+ '../lib/SkeletonWeb'), name
141
+ end
142
+
143
+ desc 'new api PROJECT_NAME',
144
+ 'Generates the structure of api'
145
+ option :lang,
146
+ banner: 'any of the gherkin supported languages',
147
+ default: :en
148
+ def new_api(name)
149
+ I18n.config.default_locale = options[:lang]
150
+ # Thor sera responsavel por procurar
151
+ # arquivos e possiveis conflitos
152
+ directory File.join(File.dirname(__FILE__),
153
+ '../lib/SkeletonApi'), name
154
+ end
155
+
156
+ desc 'new mobile PROJECT_NAME',
157
+ 'Generates the structure of mobile'
158
+ option :lang,
159
+ banner: 'any of the gherkin supported languages',
160
+ default: :en
161
+ def new_mobile(name)
162
+ I18n.config.default_locale = options[:lang]
163
+ # Thor sera responsavel por procurar
164
+ # arquivos e possiveis conflitos
165
+ directory File.join(File.dirname(__FILE__),
166
+ '../lib/SkeletonMobile'), name
167
+ end
168
+
169
+ desc 'version', 'Shows the gem version'
170
+ def version
171
+ puts "GeneCapybara Version #{GeneCapybara::VERSION}"
172
+ end
173
+
174
+ def self.source_root
175
+ File.join(File.dirname(__FILE__), '..', 'lib', 'templates')
176
+ end
177
+
178
+ # Substituindo o metodo initialize para carregar todos os
179
+ # traducoes suportadas pelo cucumber gem
180
+ def initialize(*args)
181
+ super
182
+ # Loading gherkin accepted translations
183
+ translations_file_path = File.join(
184
+ Gem.loaded_specs['gherkin'].full_gem_path,
185
+ 'lib', 'gherkin', 'i18n.json')
186
+ # Analisando o arquivo JSON
187
+ # Removendo a sequencia * | e toda a alternativa
188
+ # opcoes para as traducoes do cucumber
189
+ translations_json = JSON.parse(File.read(translations_file_path)
190
+ .gsub(/\*\|/, '')
191
+ .gsub(/\|.*\"/, '"'))
192
+ # Convertendo traducoes para YAML e armazenando em um arquivo temporario
193
+ translations_temp_file = Tempfile.new(['translations', '.yml'])
194
+ File.write(translations_temp_file, translations_json.to_yaml)
195
+ # Carregando as traducoes do pepino e do
196
+ # locales pasta desta gem
197
+ locales_folder_path = File.join(File.dirname(__FILE__),
198
+ '../lib/locales')
199
+ I18n.load_path = Dir[translations_temp_file,
200
+ File.join(locales_folder_path, '*.yml')]
201
+ I18n.backend.load_translations
202
+ I18n.config.enforce_available_locales = true
203
+ end
204
+ end
205
+ end
206
+
207
+ GeneCapybara::GeneCapybaraRunner.start
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1 @@
1
+ .DS_Store
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'cucumber'
4
+ gem 'httparty'
5
+ gem 'rspec'
6
+ gem 'byebug'
@@ -0,0 +1,36 @@
1
+ ## Getting Started ##
2
+
3
+ ### Installing gems ###
4
+ To install gems type:
5
+ ```shell
6
+ bundle install
7
+ ```
8
+
9
+ ### Run tests in DEV###
10
+ Type this in the tests folder:
11
+ ```shell
12
+ bundle exec cucumber
13
+ ```
14
+ ### Run tests in HMG ###
15
+ Type this in the tests folder:
16
+ ```shell
17
+ bundle exec cucumber -p json -p hmg
18
+ ```
19
+
20
+ ### HTML Report###
21
+ Type this in the tests folder:
22
+ ```shell
23
+ bundle exec cucumber -p html -p hmg
24
+ ```
25
+
26
+ ### Json Report###
27
+ Type this in the tests folder:
28
+ ```shell
29
+ bundle exec cucumber -p json -p hmg
30
+ ```
31
+
32
+ ### Run with tags###
33
+ Type this in the tests folder:
34
+ ```shell
35
+ bundle exec cucumber --tags @run
36
+ ```
@@ -0,0 +1,11 @@
1
+ desc "Executar os testes em dev"
2
+ task :test_dev do
3
+ puts "Executando test:dev"
4
+ sh "bundle exec cucumber -p pretty -p html -p dev"
5
+ end
6
+
7
+ desc "Executar os testes em hmg"
8
+ task :test_hmg do
9
+ puts "Executando test:hmg"
10
+ sh "bundle exec cucumber -p pretty -p html -p hmg"
11
+ end
@@ -0,0 +1,13 @@
1
+ ## YAML Templatesss
2
+ ---
3
+ default: -p ci -p json -p dev
4
+
5
+ pretty: --format pretty
6
+ ci: --format progress
7
+
8
+ html: --format html --out=results/report.html
9
+ json: --format json --out=results/report.json
10
+
11
+ dev: ENVIRONMENT=dev
12
+ hmg: ENVIRONMENT=hmg
13
+
File without changes
File without changes
@@ -0,0 +1 @@
1
+ url_default: https://www.google.com/
@@ -0,0 +1 @@
1
+ url_default: https://www.google.com/
@@ -0,0 +1,13 @@
1
+ require 'byebug'
2
+ require 'cucumber'
3
+ require 'httparty'
4
+ require 'httparty/request'
5
+ require 'httparty/response/headers'
6
+ require 'rspec'
7
+
8
+ ENVIRONMENT = ENV['ENVIRONMENT']
9
+
10
+ CONFIG = YAML.load_file(File.dirname(__FILE__) + "/config/#{ENVIRONMENT}.yml")
11
+
12
+ Dir[File.join(File.dirname(__FILE__),
13
+ '../services/*_services.rb')].each { |file| require_relative file }
File without changes
File without changes
@@ -0,0 +1 @@
1
+ .DS_Store
@@ -0,0 +1,7 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'appium_console'
4
+ gem 'appium_lib'
5
+ gem 'byebug'
6
+ gem 'cucumber'
7
+ gem 'rspec'