rubygene 0.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 (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'