SaudeiD 0.2.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 +7 -0
- data/.gitignore +13 -0
- data/.rspec +3 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +10 -0
- data/LICENSE.txt +21 -0
- data/README.md +37 -0
- data/Rakefile +8 -0
- data/SaudeiD.gemspec +30 -0
- data/bin/SaudeiD +146 -0
- data/bin/console +15 -0
- data/bin/saudeid +146 -0
- data/bin/setup +8 -0
- data/lib/SaudeiD/SaudeiD_helper.rb +41 -0
- data/lib/SaudeiD/version.rb +5 -0
- data/lib/SaudeiD.rb +7 -0
- data/lib/SkeletonApi/.gitignore +1 -0
- data/lib/SkeletonApi/.rubocop.yml +62 -0
- data/lib/SkeletonApi/.solargraph.yml +16 -0
- data/lib/SkeletonApi/Gemfile +18 -0
- data/lib/SkeletonApi/README.md +36 -0
- data/lib/SkeletonApi/cucumber.yml +11 -0
- data/lib/SkeletonApi/features/specs/.gitkeep +0 -0
- data/lib/SkeletonApi/features/steps_definitions/.gitkeep +0 -0
- data/lib/SkeletonApi/features/support/config/environments/dev.yml +5 -0
- data/lib/SkeletonApi/features/support/config/environments/qa.yml +5 -0
- data/lib/SkeletonApi/features/support/data/factories/.gitkeep +0 -0
- data/lib/SkeletonApi/features/support/data/models/.gitkeep +0 -0
- data/lib/SkeletonApi/features/support/data/schemas/.gitkeep +0 -0
- data/lib/SkeletonApi/features/support/env.rb +28 -0
- data/lib/SkeletonApi/features/support/helper.rb +6 -0
- data/lib/SkeletonApi/features/support/hooks.rb +53 -0
- data/lib/SkeletonApi/features/support/services/.gitkeep +0 -0
- data/lib/SkeletonApi/report/.gitkeep +0 -0
- data/lib/SkeletonApi/report/junit/.gitkeep +0 -0
- data/lib/SkeletonWeb/.gitignore +8 -0
- data/lib/SkeletonWeb/.rubocop.yml +53 -0
- data/lib/SkeletonWeb/.solargraph.yml +16 -0
- data/lib/SkeletonWeb/Gemfile +13 -0
- data/lib/SkeletonWeb/README.md +49 -0
- data/lib/SkeletonWeb/cucumber.yml +17 -0
- data/lib/SkeletonWeb/features/specs/.gitkeep +0 -0
- data/lib/SkeletonWeb/features/steps_definitions/.gitkeep +0 -0
- data/lib/SkeletonWeb/features/support/config/elements.yml +2 -0
- data/lib/SkeletonWeb/features/support/config/environments/dev.yml +1 -0
- data/lib/SkeletonWeb/features/support/config/environments/qa.yml +1 -0
- data/lib/SkeletonWeb/features/support/env.rb +49 -0
- data/lib/SkeletonWeb/features/support/helper.rb +37 -0
- data/lib/SkeletonWeb/features/support/hooks.rb +56 -0
- data/lib/SkeletonWeb/features/support/pages/base_page.rb +3 -0
- data/lib/SkeletonWeb/report/.gitkeep +0 -0
- data/lib/SkeletonWeb/report/junit/.gitkeep +0 -0
- data/lib/SkeletonWeb/report/screenshots/test_failed/.gitkeep +0 -0
- data/lib/SkeletonWeb/report/screenshots/test_passed/.gitkeep +0 -0
- data/lib/locales/en.yml +17 -0
- data/lib/locales/pt.yml +16 -0
- data/lib/templates/feature.tt +8 -0
- data/lib/templates/page.tt +8 -0
- data/lib/templates/services.tt +10 -0
- data/lib/templates/steps.tt +5 -0
- data/sig/SaudeiD.rbs +4 -0
- metadata +191 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gem 'awesome_print', '1.8'
|
4
|
+
gem 'cucumber', '5.2'
|
5
|
+
gem 'dotenv', '2.7'
|
6
|
+
gem 'factory_bot'
|
7
|
+
gem 'faker'
|
8
|
+
gem 'google-cloud-pubsub', '~> 2.9', '>= 2.9.2'
|
9
|
+
gem 'httparty'
|
10
|
+
gem 'json_matchers'
|
11
|
+
gem 'pg', '1.2.3'
|
12
|
+
gem 'pry', '0.12.2'
|
13
|
+
gem 'report_builder', '1.8'
|
14
|
+
gem 'rspec', '3.10'
|
15
|
+
gem 'rspec_junit_formatter', '~> 0.2.3'
|
16
|
+
gem 'selenium-webdriver', '3.142.7'
|
17
|
+
gem 'solargraph'
|
18
|
+
gem 'touch_action'
|
@@ -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
|
+
---
|
2
|
+
default: -p pretty -p json -p html -p qa -p env_qa -p xml
|
3
|
+
ci: -p pretty -p json -p html -p qa -p env_qa -p xml
|
4
|
+
|
5
|
+
pretty: -f pretty
|
6
|
+
progress: -f progress
|
7
|
+
json: -f json --out=report/report.json
|
8
|
+
html: -f html --out=report/report.html
|
9
|
+
xml: -f junit --out=report/junit
|
10
|
+
qa: ENV_TYPE=qa
|
11
|
+
env_qa: ENV_PREFIX=qa
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'awesome_print'
|
2
|
+
require 'cucumber'
|
3
|
+
require 'dotenv/load'
|
4
|
+
require 'factory_bot'
|
5
|
+
require 'faker'
|
6
|
+
require 'google/cloud/pubsub'
|
7
|
+
require 'httparty'
|
8
|
+
require 'httparty/request'
|
9
|
+
require 'httparty/response/headers'
|
10
|
+
require 'pg'
|
11
|
+
require 'pry'
|
12
|
+
require 'report_builder'
|
13
|
+
require 'rspec'
|
14
|
+
require 'json_matchers/rspec'
|
15
|
+
|
16
|
+
require_relative 'helper'
|
17
|
+
require_relative 'data/models/model'
|
18
|
+
|
19
|
+
World(Helper)
|
20
|
+
|
21
|
+
World(FactoryBot::Syntax::Methods)
|
22
|
+
|
23
|
+
Dotenv.load('../.env')
|
24
|
+
|
25
|
+
CONFIG = YAML.load_file(File.join(Dir.pwd, "features/support/config/environments/#{ENV['ENV_TYPE']}.yml"))
|
26
|
+
ENV['GOOGLE_APPLICATION_CREDENTIALS'] = File.join(Dir.pwd, '../path_file.json')
|
27
|
+
|
28
|
+
JsonMatchers.schema_root = File.join(Dir.pwd, 'features/support/data/schemas')
|
@@ -0,0 +1,53 @@
|
|
1
|
+
Before do
|
2
|
+
@service = ->(klass) { klass.new }
|
3
|
+
|
4
|
+
@pubsub = Google::Cloud::PubSub.new
|
5
|
+
end
|
6
|
+
|
7
|
+
After do |scenario|
|
8
|
+
exception_message(scenario)
|
9
|
+
end
|
10
|
+
|
11
|
+
def exception_message(scenario)
|
12
|
+
scene = scenario.failed?
|
13
|
+
return unless scene == true
|
14
|
+
|
15
|
+
print_reason(scenario)
|
16
|
+
end
|
17
|
+
|
18
|
+
def print_reason(scenario)
|
19
|
+
puts "\n--------------------------------------------------------------------------------------------"
|
20
|
+
puts 'Reason:'
|
21
|
+
puts "\n - Request body: #{@payload.to_json}"
|
22
|
+
puts "\n - Response code: #{@response.response.code}"
|
23
|
+
puts "\n - Response body: #{@response.parsed_response.to_json}"
|
24
|
+
puts "\nš„š„š„šššš„š„š„ #{scenario.exception.message}"
|
25
|
+
puts "--------------------------------------------------------------------------------------------\n"
|
26
|
+
end
|
27
|
+
|
28
|
+
AfterConfiguration do |config|
|
29
|
+
config.on_event(:test_case_finished) do |event|
|
30
|
+
puts "\n--------------------------------------------------------------------------------------------------"
|
31
|
+
puts 'Results:'
|
32
|
+
puts " - Scenario......: #{event.test_case.name}"
|
33
|
+
puts " - Result..: [ #{event.result.passed? ? 'ā
]' : 'ā ]'}"
|
34
|
+
puts "--------------------------------------------------------------------------------------------------\n"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
at_exit do
|
39
|
+
@infos = {
|
40
|
+
'Data do Teste' => Time.now.strftime('%d/%B/%Y'),
|
41
|
+
'Hora do Teste' => Time.now.strftime('%HH%MM%SS')
|
42
|
+
}
|
43
|
+
ReportBuilder.configure do |config|
|
44
|
+
config.input_path = 'report/report.json'
|
45
|
+
config.report_path = 'report/report'
|
46
|
+
config.report_types = [:html]
|
47
|
+
config.include_images = true
|
48
|
+
config.report_title = '[SAUDE ID] MY - TITLE'
|
49
|
+
config.additional_info = @infos
|
50
|
+
config.collor = 'indigo'
|
51
|
+
end
|
52
|
+
ReportBuilder.build_report
|
53
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,53 @@
|
|
1
|
+
---
|
2
|
+
AllCops:
|
3
|
+
NewCops: disable
|
4
|
+
SuggestExtensions: false
|
5
|
+
|
6
|
+
Style/Documentation:
|
7
|
+
Enabled: false
|
8
|
+
|
9
|
+
Style/FrozenStringLiteralComment:
|
10
|
+
Enabled: false
|
11
|
+
|
12
|
+
Naming/MethodName:
|
13
|
+
Enabled: false
|
14
|
+
|
15
|
+
Naming/AsciiIdentifiers:
|
16
|
+
Enabled: false
|
17
|
+
|
18
|
+
Layout/LineLength:
|
19
|
+
Max: 190
|
20
|
+
|
21
|
+
Metrics/BlockLength:
|
22
|
+
Max: 50
|
23
|
+
|
24
|
+
Metrics/MethodLength:
|
25
|
+
Exclude:
|
26
|
+
Max: 20
|
27
|
+
|
28
|
+
Metrics/AbcSize:
|
29
|
+
Enabled: false
|
30
|
+
|
31
|
+
Metrics/ModuleLength:
|
32
|
+
Enabled: false
|
33
|
+
|
34
|
+
Metrics/CyclomaticComplexity:
|
35
|
+
Max: 10
|
36
|
+
|
37
|
+
Metrics/ClassLength:
|
38
|
+
Enabled: false
|
39
|
+
|
40
|
+
Style/RedundantSort:
|
41
|
+
Enabled: false
|
42
|
+
|
43
|
+
Style/SingleArgumentDig:
|
44
|
+
Enabled: false
|
45
|
+
|
46
|
+
Style/HashSyntax:
|
47
|
+
Enabled: false
|
48
|
+
|
49
|
+
Style/RedundantRegexpEscape:
|
50
|
+
Enabled: false
|
51
|
+
|
52
|
+
Lint/MissingSuper:
|
53
|
+
Enabled: false
|
@@ -0,0 +1,13 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gem 'awesome_print', '1.8'
|
4
|
+
gem 'capybara', '3.36.0'
|
5
|
+
gem 'cucumber', '5.2'
|
6
|
+
gem 'dotenv', '2.7'
|
7
|
+
gem 'pry', '0.12.2'
|
8
|
+
gem 'report_builder', '1.8'
|
9
|
+
gem 'rspec', '3.10'
|
10
|
+
gem 'rspec_junit_formatter', '~> 0.2.3'
|
11
|
+
gem 'selenium-webdriver', '3.142.7'
|
12
|
+
gem 'solargraph'
|
13
|
+
gem 'touch_action'
|
@@ -0,0 +1,49 @@
|
|
1
|
+
## Getting Started ##
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
### Installing gems ###
|
6
|
+
To install gems type:
|
7
|
+
```shell
|
8
|
+
bundle install
|
9
|
+
```
|
10
|
+
|
11
|
+
### Drivers: ###
|
12
|
+
Install and include in PATH
|
13
|
+
- [chromedriver](https://sites.google.com/a/chromium.org/chromedriver/)
|
14
|
+
- [phantomjs](http://phantomjs.org/)
|
15
|
+
- [internetExplorerDriver](http://www.seleniumhq.org/download/)
|
16
|
+
- [Firefox Geckodriver](https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver)
|
17
|
+
|
18
|
+
Install [Webdriver Safari extension](http://selenium-release.storage.googleapis.com/2.48/SafariDriver.safariextz).
|
19
|
+
|
20
|
+
|
21
|
+
### Run tests in DEV with Chrome###
|
22
|
+
Type this in the tests folder:
|
23
|
+
```shell
|
24
|
+
bundle exec cucumber -p ci -p html -p headless -p dev
|
25
|
+
```
|
26
|
+
|
27
|
+
### Run tests in DEV with headless###
|
28
|
+
Type this in the tests folder:
|
29
|
+
```shell
|
30
|
+
bundle exec cucumber -p ci -p html -p headless -p dev
|
31
|
+
```
|
32
|
+
|
33
|
+
### Run tests in HMG with Chrome###
|
34
|
+
Type this in the tests folder:
|
35
|
+
```shell
|
36
|
+
bundle exec cucumber -p pretty -p html -p no_headless -p hmg
|
37
|
+
```
|
38
|
+
|
39
|
+
### Run tests in HMG with headless###
|
40
|
+
Type this in the tests folder:
|
41
|
+
```shell
|
42
|
+
bundle exec cucumber -p ci -p html -p headless -p hmg
|
43
|
+
```
|
44
|
+
|
45
|
+
### Run with tags###
|
46
|
+
Type this in the tests folder:
|
47
|
+
```shell
|
48
|
+
bundle exec cucumber --tags @run
|
49
|
+
```
|
@@ -0,0 +1,17 @@
|
|
1
|
+
---
|
2
|
+
default: -p pretty -p qa -p chrome -p html -p json -p xml --publish-quiet
|
3
|
+
ci: -p pretty -p qa -p chrome_headless -p html -p json -p xml --publish-quiet
|
4
|
+
|
5
|
+
source: --no-source
|
6
|
+
progress: --format progress
|
7
|
+
pretty: --format pretty
|
8
|
+
dev: ENV_TYPE=dev
|
9
|
+
qa: ENV_TYPE=qa
|
10
|
+
html: --format html --out=report/report.html
|
11
|
+
json: --format json --out=report/report.json
|
12
|
+
xml: --format junit --out=report/junit
|
13
|
+
screen: screenshot=true
|
14
|
+
chrome: BROWSER=chrome
|
15
|
+
chrome_headless: BROWSER=chrome_headless
|
16
|
+
firefox: BROWSER=firefox
|
17
|
+
firefox_headless: BROWSER=firefox_headless
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
URL_BASE: https://www.google.com/
|
@@ -0,0 +1 @@
|
|
1
|
+
URL_BASE: https://www.google.com/
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'awesome_print'
|
2
|
+
require 'capybara'
|
3
|
+
require 'capybara/cucumber'
|
4
|
+
require 'capybara/rspec'
|
5
|
+
require 'date'
|
6
|
+
require 'dotenv/load'
|
7
|
+
require 'pry'
|
8
|
+
require 'report_builder'
|
9
|
+
require 'rspec'
|
10
|
+
require 'rspec/expectations'
|
11
|
+
require 'selenium-webdriver'
|
12
|
+
require 'touch_action'
|
13
|
+
|
14
|
+
require_relative 'helper'
|
15
|
+
|
16
|
+
include Helper
|
17
|
+
|
18
|
+
CONFIG = YAML.load_file(File.join(Dir.pwd, "features/support/config/environments/#{ENV['ENV_TYPE']}.yml"))
|
19
|
+
EL = YAML.load_file('features/support/config/elements.yml')
|
20
|
+
|
21
|
+
@browser = ENV['BROWSER']
|
22
|
+
|
23
|
+
case @browser
|
24
|
+
when 'firefox'
|
25
|
+
@driver = :selenium
|
26
|
+
when 'firefox_headless'
|
27
|
+
@driver = :selenium_headless
|
28
|
+
when 'chrome'
|
29
|
+
@driver = :selenium_chrome
|
30
|
+
when 'chrome_headless'
|
31
|
+
Capybara.register_driver :selenium_chrome_headless do |app|
|
32
|
+
chrome_options = Selenium::WebDriver::Chrome::Options.new.tap do |options|
|
33
|
+
options.add_argument '--headless'
|
34
|
+
options.add_argument '--disable-gpu'
|
35
|
+
options.add_argument '--no-sandbox'
|
36
|
+
options.add_argument '--disable-site-isolation-trials'
|
37
|
+
end
|
38
|
+
Capybara::Selenium::Driver.new(app, browser: :chrome, options: chrome_options)
|
39
|
+
end
|
40
|
+
@driver = :selenium_chrome_headless
|
41
|
+
else
|
42
|
+
p 'Invalid browser'
|
43
|
+
end
|
44
|
+
|
45
|
+
Capybara.configure do |config|
|
46
|
+
config.default_driver = @driver
|
47
|
+
config.app_host = CONFIG['URL_BASE']
|
48
|
+
config.default_max_wait_time = 15
|
49
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# !/usr/bin/env ruby
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
module Helper
|
6
|
+
include Capybara::DSL
|
7
|
+
|
8
|
+
def take_screenshot(scenario)
|
9
|
+
scn_name = scenario.name.gsub(%r{([_@#!%()\-=;><,{}\~\[\]\.\/\?\"\*\^\$\+\-]+)}, '_')
|
10
|
+
screenshot = scenario.failed? ? "#{Dir.pwd}/report/screenshots/test_failed/#{scn_name}.png" : "#{Dir.pwd}/report/screenshots/test_passed/#{scn_name}.png"
|
11
|
+
screenshot = screenshot.tr!(' ', '_') if screenshot.include?(' ')
|
12
|
+
page.save_screenshot(screenshot)
|
13
|
+
attach(screenshot, 'image/png')
|
14
|
+
end
|
15
|
+
|
16
|
+
def wait_until_text_exist(element, text)
|
17
|
+
300.times do
|
18
|
+
find(element).assert_text(text) == true
|
19
|
+
break
|
20
|
+
rescue StandardError
|
21
|
+
sleep 0.1
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def wait_until_element_exist(element)
|
26
|
+
300.times do
|
27
|
+
find(element, wait: 0.5)
|
28
|
+
break
|
29
|
+
rescue StandardError
|
30
|
+
sleep 0.1
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def element_wait(time)
|
35
|
+
sleep(time)
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
Before do
|
2
|
+
window = Capybara.current_session.current_window
|
3
|
+
window.resize_to(1366, 768)
|
4
|
+
window.maximize
|
5
|
+
|
6
|
+
@page = ->(klass) { klass.new }
|
7
|
+
end
|
8
|
+
|
9
|
+
After do |scenario|
|
10
|
+
take_screenshot(scenario)
|
11
|
+
|
12
|
+
exception_message(scenario)
|
13
|
+
end
|
14
|
+
|
15
|
+
def exception_message(scenario)
|
16
|
+
scene = scenario.failed?
|
17
|
+
return unless scene == true
|
18
|
+
|
19
|
+
print_reason(scenario)
|
20
|
+
end
|
21
|
+
|
22
|
+
def print_reason(scenario)
|
23
|
+
log("\n-------------")
|
24
|
+
log("\nINCONSISTENCY")
|
25
|
+
log("\n-------------")
|
26
|
+
log("\nš„š„š„ #{scenario.exception.message.split('(')[0]}")
|
27
|
+
end
|
28
|
+
|
29
|
+
AfterConfiguration do |config|
|
30
|
+
config.on_event(:test_case_finished) do |event|
|
31
|
+
puts "\n--------------------------------------------------------------------------------------------------"
|
32
|
+
puts 'Results:'
|
33
|
+
puts " - Scenario: #{event.test_case.name}"
|
34
|
+
puts " - Result..: [ #{event.result.passed? ? 'ā
]' : 'ā ]'}"
|
35
|
+
puts "--------------------------------------------------------------------------------------------------\n"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
at_exit do
|
40
|
+
@infos = {
|
41
|
+
'Browser' => Capybara.default_driver.to_s.capitalize,
|
42
|
+
'Environment' => ENV['ENV_TYPE'],
|
43
|
+
'Data do Teste' => Time.now.strftime('%d/%B/%Y'),
|
44
|
+
'Hora do Teste' => Time.now.strftime('%H:%M:%S')
|
45
|
+
}
|
46
|
+
|
47
|
+
ReportBuilder.configure do |config|
|
48
|
+
config.input_path = 'report/report.json'
|
49
|
+
config.report_path = 'report/report'
|
50
|
+
config.report_types = [:html]
|
51
|
+
config.report_title = '[SaudeId] - My Title'
|
52
|
+
config.additional_info = @infos
|
53
|
+
config.color = 'indigo'
|
54
|
+
end
|
55
|
+
ReportBuilder.build_report
|
56
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/locales/en.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
en:
|
2
|
+
first_scenario: "First Scenario"
|
3
|
+
background: "Background"
|
4
|
+
feature: "Feature"
|
5
|
+
scenario: "Scenario"
|
6
|
+
given: "Given"
|
7
|
+
when: "When"
|
8
|
+
then: "Then"
|
9
|
+
describe: description
|
10
|
+
context: description
|
11
|
+
it: does something
|
12
|
+
comments:
|
13
|
+
insert_steps: "Insert steps"
|
14
|
+
elements: "Declare all the elements of this page"
|
15
|
+
actions: "Declare all actions of this page"
|
16
|
+
services: "Where is the configuration of a particular request"
|
17
|
+
|
data/lib/locales/pt.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
pt:
|
2
|
+
first_scenario: "Primeiro CenƔrio"
|
3
|
+
background: "Contexto"
|
4
|
+
feature: "Funcionalidade"
|
5
|
+
scenario: "CenƔrio"
|
6
|
+
given: "Dado"
|
7
|
+
when: "Quando"
|
8
|
+
then: "Entao"
|
9
|
+
describe: descrição
|
10
|
+
context: descrição
|
11
|
+
it: faz alguma coisa
|
12
|
+
comments:
|
13
|
+
insert_steps: "Insira os passos"
|
14
|
+
elements: "Declare todos os elementos da pƔgina"
|
15
|
+
actions: "Declare todas as aƧƵes da pƔgina"
|
16
|
+
services: "Onde fica as configuraƧÅes de uma determinada requisição"
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<%= "#language: #{options[:lang]}" %>
|
2
|
+
<%= I18n.translate( :feature ) %>: <%= config[:name] %>
|
3
|
+
|
4
|
+
<%= I18n.translate( :background ) %>:
|
5
|
+
# <%= I18n.translate( "comments.insert_steps" ) %>
|
6
|
+
|
7
|
+
<%= I18n.translate( :scenario ) %>: <%= I18n.translate( :first_scenario ) %>
|
8
|
+
# <%= I18n.translate( "comments.insert_steps" ) %>
|
data/sig/SaudeiD.rbs
ADDED