bddgenx 0.1.15 → 0.1.17

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0da9cd3383cb0aee1913bbc15027ca76e162583229057b73c875c635b39c9638
4
- data.tar.gz: 20509237489c3e314c8092d06ec36bbbd6e366cd34c0103d7520ba98c5ddc8e6
3
+ metadata.gz: eae91a2de34a4ea84503ab6015501479f2a2483dafaa3b2a88d1930fc3271c0f
4
+ data.tar.gz: d14373f08e54d394f993954acc6fff5c2ef275b942b2e0e381f3f65a02b0d986
5
5
  SHA512:
6
- metadata.gz: 30f2a4569e8332add1094d37de9db31ce39740b1c1c2414b474595fd2c41c3f64a106144f007903da15e97c93bcc9995532becf4ccb034fd280943af5f1ba347
7
- data.tar.gz: d1ca7cd92079d1560cf59579a4cd90798616613e086956cbbc3480fd6c99fddd0c42c51293f67fad46aeb4987175b0b9210b79efd9b95d85654eab9aa1656136
6
+ metadata.gz: 1630a5697a6f519bf92ecfd5f895b088fab0d4305f23efd5ea77204d1b292940c1381f9f282483116edb970890f7e6fd399dabc2a7468748fdb69fc552ba89db
7
+ data.tar.gz: b2528be1f5c6a3ab8ea4555e168e2fbc7ca9677eb0ba76cc64c72c691d7478c69f12018a7ca8230dd57702dbf2c77e4e3bd00572cec3c6430a3f8b3d2e52fdf7
data/README.md CHANGED
@@ -10,6 +10,12 @@ bdd_generator/
10
10
  ├── doc/
11
11
  │ ├── configuracao-padra.md
12
12
  │ └── configuracao-rake.md
13
+ ├── assets/
14
+ │ └── fonts/
15
+ │ ├── DejaVuSansMono.ttf
16
+ │ ├── DejaVuSansMono-Bold.ttf
17
+ │ ├── DejaVuSansMono-Oblique.ttf
18
+ │ └── DejaVuSansMono-BoldOblique.ttf
13
19
  ├── input/ # Arquivos .txt com histórias de usuário
14
20
  ├── features/ # Arquivos .feature gerados
15
21
  ├── steps/ # Arquivos com step definitions
data/Rakefile ADDED
@@ -0,0 +1,54 @@
1
+ require 'rake'
2
+ require_relative 'lib/bddgenx.rb'
3
+ require_relative 'lib/bddgenx/pdf_exporter'
4
+ require_relative 'lib/bddgenx/integrations/jira'
5
+ require_relative 'lib/bddgenx/integrations/testlink'
6
+
7
+ namespace :bddgenx do
8
+
9
+ desc "Gerar arquivos .feature, steps, rastreabilidade e backups"
10
+ task :gerar do
11
+ arquivos = Bddgenx::CLI.todos_arquivos('input')
12
+ arquivos.each do |arquivo|
13
+ puts "🔁 Executando: ruby bddgen.rb"
14
+ system("ruby lib/bddgen.rb")
15
+ end
16
+
17
+ end
18
+
19
+ desc "Exportar todos os arquivos .feature para PDF"
20
+ task :pdf do
21
+ puts "📦 Exportando para PDF..."
22
+ Bddgenx::PDFExporter.exportar_todos
23
+ end
24
+
25
+ desc "Enviar todos os cenários para o Jira"
26
+ task :jira do
27
+ jira = Bddgenx::Integrations::Jira.new(
28
+ username: ENV['JIRA_USER'],
29
+ api_token: ENV['JIRA_TOKEN'],
30
+ site: ENV['JIRA_SITE'],
31
+ project_key: ENV['JIRA_PROJECT']
32
+ )
33
+
34
+ Dir.glob("features/*.feature") do |arquivo|
35
+ conteudo = File.read(arquivo)
36
+ titulo = File.basename(arquivo, ".feature").gsub('_', ' ').capitalize
37
+ jira.enviar_cenario(titulo, conteudo)
38
+ end
39
+ end
40
+
41
+ desc "Enviar todos os cenários para o TestLink"
42
+ task :testlink do
43
+ testlink = Bddgen::Integrations::TestLink.new(
44
+ ENV['TESTLINK_TOKEN'],
45
+ ENV['TESTLINK_URL']
46
+ )
47
+
48
+ Dir.glob("features/*.feature") do |arquivo|
49
+ conteudo = File.readlines(arquivo).reject { |l| l.strip.start_with?("#") || l.strip.empty? }
50
+ titulo = File.basename(arquivo, ".feature").gsub('_', ' ').capitalize
51
+ testlink.criar_caso_teste(ENV['TESTLINK_PLAN_ID'].to_i, titulo, conteudo)
52
+ end
53
+ end
54
+ end
@@ -22,21 +22,22 @@ module Bddgenx
22
22
  conteudo = File.read(origem, encoding: 'utf-8')
23
23
 
24
24
  Prawn::Document.generate(destino) do |pdf|
25
- fonte_existe = File.exist?("fonts/DejaVuSansMono.ttf")
25
+ fonte_existe = File.exist?("assets/fonts/DejaVuSansMono.ttf")
26
+ font_dir = File.expand_path("assets/fonts", __dir__)
26
27
 
27
- if fonte_existe
28
+ if File.exist?(File.join(font_dir, "DejaVuSansMono.ttf"))
28
29
  pdf.font_families.update(
29
30
  "DejaVu" => {
30
- normal: "fonts/DejaVuSansMono.ttf",
31
- bold: "fonts/DejaVuSansMono-Bold.ttf",
32
- italic: "fonts/DejaVuSansMono-Oblique.ttf",
33
- bold_italic: "fonts/DejaVuSansMono-BoldOblique.ttf"
31
+ normal: File.join(font_dir, "DejaVuSansMono.ttf"),
32
+ bold: File.join(font_dir, "DejaVuSansMono-Bold.ttf"),
33
+ italic: File.join(font_dir, "DejaVuSansMono-Oblique.ttf"),
34
+ bold_italic: File.join(font_dir, "DejaVuSansMono-BoldOblique.ttf")
34
35
  }
35
36
  )
36
37
  pdf.font "DejaVu"
37
38
  else
38
- puts "⚠️ Fonte personalizada não encontrada. Usando fonte padrão."
39
- pdf.font "Courier" # embutida no Prawn
39
+ puts "⚠️ Fonte não encontrada: #{font_dir}"
40
+ pdf.font "Courier"
40
41
  end
41
42
 
42
43
  pdf.font_size 10
@@ -4,14 +4,14 @@ require_relative 'utils/verificador'
4
4
  module Bddgenx
5
5
  class StepsGenerator
6
6
  PADROES = {
7
- 'pt' => %w[Dado Quando Então E],
8
- 'en' => %w[Given When Then And]
7
+ 'pt' => %w[Dado Quando Então E Mas Regra Contexto],
8
+ 'en' => %w[Given When Then And But Rule Context]
9
9
  }
10
10
 
11
11
  TIPOS_BLOCOS = %w[
12
12
  CONTEXT SUCCESS FAILURE ERROR EXCEPTION
13
13
  VALIDATION PERMISSION EDGE_CASE PERFORMANCE
14
- EXAMPLES REGRA RULE
14
+ EXAMPLES RULE
15
15
  ]
16
16
 
17
17
  def self.gerar_passos(historia, nome_arquivo_feature)
@@ -22,7 +22,7 @@ module Bddgenx
22
22
  grupos_examples = dividir_examples(historia[:blocos]["EXAMPLES"]) if historia[:blocos]["EXAMPLES"]&.any?
23
23
 
24
24
  TIPOS_BLOCOS.each do |tipo|
25
- blocos = tipo == "REGRA" || tipo == "RULE" ? historia[:regras] : historia[:blocos][tipo]
25
+ blocos = tipo == "RULE" ? historia[:regras] : historia[:blocos][tipo]
26
26
  next unless blocos.is_a?(Array)
27
27
 
28
28
  passos = blocos.dup
@@ -1,3 +1,3 @@
1
1
  module Bddgenx
2
- VERSION = "0.1.15"
2
+ VERSION = "0.1.17"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bddgenx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.15
4
+ version: 0.1.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Nascimento
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-05-11 00:00:00.000000000 Z
11
+ date: 2025-05-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Transforma arquivos .txt com histórias em arquivos .feature, com steps,
14
14
  rastreabilidade e integração com CI/CD.
@@ -20,8 +20,13 @@ extensions: []
20
20
  extra_rdoc_files: []
21
21
  files:
22
22
  - README.md
23
+ - Rakefile
23
24
  - bin/bddgenx
24
25
  - lib/bddgenx.rb
26
+ - lib/bddgenx/assets/fonts/DejaVuSansMono-Bold.ttf
27
+ - lib/bddgenx/assets/fonts/DejaVuSansMono-BoldOblique.ttf
28
+ - lib/bddgenx/assets/fonts/DejaVuSansMono-Oblique.ttf
29
+ - lib/bddgenx/assets/fonts/DejaVuSansMono.ttf
25
30
  - lib/bddgenx/backup.rb
26
31
  - lib/bddgenx/cli.rb
27
32
  - lib/bddgenx/generator.rb