air_test 0.1.4.6 → 0.1.4.8

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: a59915f52de9feac17a2cd37b5f529601e4fd57dbf9c6ec6242e230d6a0275b2
4
- data.tar.gz: 1253e103ecd49b1e436a08b23f15307caa56a0cf53647bc894d3f9224d35ea84
3
+ metadata.gz: 837427e06f82d4ef5ac6e6998b6b550e94daccce986a095f1506c8efd9774673
4
+ data.tar.gz: 0b0697b5bf5d4fd7fbf7e8facd391c86db0bed0de5392f5099dd0682c993a559
5
5
  SHA512:
6
- metadata.gz: 63f017bb20f8ec612d13d3b41fa0a73c33cfa5349833db415fb1b81a1f3d57c8a09fb8a6357b5f5edc5f87779a23cfeb8ab847a597323a8c8706c54011d240f8
7
- data.tar.gz: 3e40393adb92914c870f5c7bf9925557bb98ee8dd79f025554e4cf7c8e02f017df62c3a3e99d841bdad6ac9fed99075ed6df4de1da7b77daa40a5748cd64ac2e
6
+ metadata.gz: 73031bab7c56ce4005432e22f2446203ec282f2232efad9c01c994d5a90abbe2cd660677b3415754c910a8e48ade7f3f9578e6d0b8b939e7fae1238f880fe95b
7
+ data.tar.gz: '079a8ed3f0d7d4218139d8f9cb4d666d5d13c3b11f3ab88c48c3d109f7532b32bec789ed40c68b65d1bcf1944252de9a069d10f0ab61167546e5a944bc055ed3'
@@ -20,10 +20,12 @@ module AirTest
20
20
  url = @notion.extract_ticket_url(ticket)
21
21
  puts "\nšŸ“‹ Processing: FDR#{ticket_id} - #{title}"
22
22
  parsed_data = @notion.parse_ticket_content(ticket["id"])
23
- next unless parsed_data && parsed_data[:feature] && !parsed_data[:feature].empty?
23
+ unless parsed_data && parsed_data[:feature] && !parsed_data[:feature].empty?
24
+ puts "āš ļø Skipping ticket FDR#{ticket_id} due to missing or empty feature."
25
+ next
26
+ end
24
27
 
25
- slug = parsed_data[:feature].downcase.gsub(/[^a-z0-9]+/, "-").gsub(/^-|-$/, "")
26
- branch = "air_test/#{ticket_id}-#{slug}"
28
+ branch = "air_test/#{ticket_id}-#{title.downcase.gsub(/[^a-z0-9]+/, "-").gsub(/^-|-$/, "")}"
27
29
  spec_path = @spec.generate_spec_from_parsed_data(ticket_id, parsed_data)
28
30
  step_path = @spec.generate_step_definitions_for_spec(spec_path)
29
31
  files_to_commit = [spec_path]
@@ -8,7 +8,7 @@ module AirTest
8
8
  class SpecGenerator
9
9
  # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
10
10
  def generate_spec_from_parsed_data(ticket_id, parsed_data, output_dir: "spec/features")
11
- feature_slug = parsed_data[:feature].downcase.gsub(/[^a-z0-9]+/, "-").gsub(/^-|-$/, "")
11
+ feature_slug = parsed_data[:feature].downcase.gsub(/[^a-z0-9]+/, "-").gsub(/^-|-$/, "").slice(0, 50)
12
12
  filename = "#{feature_slug}_fdr#{ticket_id}.rb"
13
13
  filepath = File.join(output_dir, filename)
14
14
  FileUtils.mkdir_p(output_dir)
@@ -2,7 +2,6 @@
2
2
 
3
3
  # Ensure the main gem is loaded
4
4
  require "air_test"
5
- puts ">>> Loading AirTest Rake tasks from #{__FILE__}"
6
5
  namespace :air_test do
7
6
  desc "Generate specs and PR from Notion tickets"
8
7
  task :generate_specs_from_notion, [:limit] do |_task, args|
@@ -22,7 +21,7 @@ namespace :air_test do
22
21
 
23
22
  limit = (args[:limit] || 5).to_i
24
23
  puts "šŸš€ Starting AirTest with limit: #{limit}"
25
-
24
+
26
25
  begin
27
26
  runner = AirTest::Runner.new
28
27
  runner.run(limit: limit)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AirTest
4
- VERSION = "0.1.4.6"
4
+ VERSION = "0.1.4.8"
5
5
  end
data/lib/air_test.rb CHANGED
@@ -20,4 +20,4 @@ require_relative "air_test/github_client"
20
20
  require_relative "air_test/runner"
21
21
 
22
22
  # Load Rails engine if Rails is available (for Rake task support)
23
- require_relative "air_test/engine" if defined?(Rails)
23
+ require_relative "air_test/engine" if defined?(Rails)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: air_test
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4.6
4
+ version: 0.1.4.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - julien bouland