cucumber_factory 2.3.0 → 2.4.1

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: 864d657afd1eb2d45bba31a210ed4025aed3756c5224d5c2a2bfb8d9b9baa469
4
- data.tar.gz: fc74f572c8518d5cb366e92a4799f6b74b176cc516c67cd6750432380404be49
3
+ metadata.gz: f76beddebb040ece5bb2d2abcdbfdf88faa7a8dbab377d5c629e90295e6cdc40
4
+ data.tar.gz: c6fd350598cb06ea39f2f9f1a56d097a17b0142a5c29eeb642b1da0ec9162403
5
5
  SHA512:
6
- metadata.gz: 75750f57520b8a9e535d8d26094d53fbff9678a41b3ccff12a01f0610f79cc876ee2b031a95be37e831da33d80fa7b8072ae6ef4c377be233dc87f4d2edc4994
7
- data.tar.gz: a409eaa3516d73efaf6da8d413bd426b48cd4b2aee19621982936fab6f0d79c830b8aae07b19d064b253f69445f4c26ab97700e08d14f0022ec9a54befbcd120
6
+ metadata.gz: c44055b4383af7bf6ede22171f6750649ab5f86ec8fa62e519b1e65f975b1a22639e26822d7ef406d04635ea076fd81f4e5f5d143532b09c7e964a5149f00d4c
7
+ data.tar.gz: a655404558a255c6bbe71984d45f3495c98b00ed76f98aa3401dd324c7cbaad7ee6df5eadb9a97ddb6de4c1a94cc24dc10e4a56e48a39073f8b7795bd3057d75
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: Tests
3
+ 'on':
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+ branches:
9
+ - master
10
+ jobs:
11
+ test:
12
+ runs-on: ubuntu-20.04
13
+ services:
14
+ postgres:
15
+ image: postgres:12.4
16
+ env:
17
+ POSTGRES_PASSWORD: postgres
18
+ options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
19
+ ports:
20
+ - 5432:5432
21
+ strategy:
22
+ fail-fast: false
23
+ matrix:
24
+ include:
25
+ - ruby: 2.5.3
26
+ gemfile: Gemfile.cucumber-1.3
27
+ - ruby: 2.5.3
28
+ gemfile: Gemfile.cucumber-2.4
29
+ - ruby: 2.5.3
30
+ gemfile: Gemfile.cucumber-3.0
31
+ - ruby: 2.5.3
32
+ gemfile: Gemfile.cucumber-3.1
33
+
34
+ - ruby: 2.6.6
35
+ gemfile: Gemfile.cucumber-4.1
36
+
37
+ - ruby: 2.7.2
38
+ gemfile: Gemfile.cucumber-5.3
39
+
40
+ - ruby: 3.0.0
41
+ gemfile: Gemfile.cucumber-4.1
42
+ - ruby: 3.0.0
43
+ gemfile: Gemfile.cucumber-5.3
44
+ - ruby: 3.0.0
45
+ gemfile: Gemfile.rails-7
46
+ env:
47
+ BUNDLE_GEMFILE: "${{ matrix.gemfile }}"
48
+ steps:
49
+ - uses: actions/checkout@v2
50
+ - name: Install ruby
51
+ uses: ruby/setup-ruby@v1
52
+ with:
53
+ ruby-version: "${{ matrix.ruby }}"
54
+ - name: Setup database
55
+ run: |
56
+ sudo apt-get install -y postgresql-client
57
+ PGPASSWORD=postgres psql -c 'create database cucumber_factory_test;' -U postgres -p 5432 -h localhost
58
+ - name: Bundle
59
+ run: |
60
+ gem install bundler:1.17.3
61
+ bundle install --no-deployment
62
+ - name: Run tests
63
+ run: bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -15,6 +15,24 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
15
15
 
16
16
  -
17
17
 
18
+ ## 2.4.1 - 2022-03-16
19
+
20
+ ### Compatible changes
21
+
22
+ - Enabled MFA for RubyGems
23
+
24
+ ## 2.4.0 - 2021-03-30
25
+
26
+ ### Compatible changes
27
+
28
+ - Added support for ActiveRecord >= 6.
29
+
30
+ ## 2.3.1 - 2020-10-01
31
+
32
+ ### Compatible changes
33
+
34
+ - Lowered the priority of all steps in this gem to avoid issues with overlapping steps.
35
+
18
36
  ## 2.3.0 - 2020-09-24
19
37
 
20
38
  ### Compatible changes
data/Gemfile CHANGED
@@ -1 +1 @@
1
- ./Gemfile.cucumber-2.4
1
+ Gemfile.cucumber-2.4
data/Gemfile.cucumber-1.3 CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gem 'cucumber', '~> 1.3.20'
5
5
  gem 'activesupport', '~> 4.2.0'
6
6
  gem 'activerecord', '~> 4.2.0'
7
- gem 'mysql2'
7
+ gem 'pg', ' < 1'
8
8
 
9
9
  # Development dependencies
10
10
  gem 'rspec', '> 3.0'
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cucumber_factory (2.3.0)
4
+ cucumber_factory (2.4.1)
5
5
  activerecord
6
6
  activesupport
7
7
  cucumber
@@ -41,7 +41,7 @@ GEM
41
41
  diff-lcs (1.3)
42
42
  factory_bot (4.11.1)
43
43
  activesupport (>= 3.0.0)
44
- gemika (0.4.0)
44
+ gemika (0.5.0)
45
45
  gherkin (2.12.2)
46
46
  multi_json (~> 1.3)
47
47
  i18n (0.9.5)
@@ -52,7 +52,7 @@ GEM
52
52
  minitest (5.12.0)
53
53
  multi_json (1.14.1)
54
54
  multi_test (0.1.2)
55
- mysql2 (0.5.3)
55
+ pg (0.21.0)
56
56
  rake (12.3.3)
57
57
  rspec (3.9.0)
58
58
  rspec-core (~> 3.9.0)
@@ -83,7 +83,7 @@ DEPENDENCIES
83
83
  database_cleaner (~> 1.0.0)
84
84
  factory_bot (< 5)
85
85
  gemika
86
- mysql2
86
+ pg (< 1)
87
87
  rake (>= 10.0.4)
88
88
  rspec (> 3.0)
89
89
 
data/Gemfile.cucumber-2.4 CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gem 'cucumber', '~> 2.4.0'
5
5
  gem 'activesupport', '~> 4.2.0'
6
6
  gem 'activerecord', '~> 4.2.0'
7
- gem 'mysql2'
7
+ gem 'pg', ' < 1'
8
8
 
9
9
  # Development dependencies
10
10
  gem 'rspec', '~> 3.0'
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cucumber_factory (2.3.0)
4
+ cucumber_factory (2.4.1)
5
5
  activerecord
6
6
  activesupport
7
7
  cucumber
@@ -46,7 +46,7 @@ GEM
46
46
  diff-lcs (1.3)
47
47
  factory_bot (4.11.1)
48
48
  activesupport (>= 3.0.0)
49
- gemika (0.3.2)
49
+ gemika (0.5.0)
50
50
  gherkin (4.1.3)
51
51
  i18n (0.9.5)
52
52
  concurrent-ruby (~> 1.0)
@@ -56,7 +56,7 @@ GEM
56
56
  minitest (5.11.3)
57
57
  multi_json (1.13.1)
58
58
  multi_test (0.1.2)
59
- mysql2 (0.4.10)
59
+ pg (0.21.0)
60
60
  rake (12.3.0)
61
61
  rspec (3.7.0)
62
62
  rspec-core (~> 3.7.0)
@@ -87,9 +87,9 @@ DEPENDENCIES
87
87
  database_cleaner
88
88
  factory_bot (< 5)
89
89
  gemika
90
- mysql2
90
+ pg (< 1)
91
91
  rake
92
92
  rspec (~> 3.0)
93
93
 
94
94
  BUNDLED WITH
95
- 1.17.3
95
+ 2.3.0
data/Gemfile.cucumber-3.0 CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gem 'cucumber', '~> 3.0.0'
5
5
  gem 'activesupport', '~> 5.0.0'
6
6
  gem 'activerecord', '~> 5.0.0'
7
- gem 'mysql2'
7
+ gem 'pg', ' < 1'
8
8
 
9
9
  # Development dependencies
10
10
  gem 'rspec', '~> 3.0'
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cucumber_factory (2.3.0)
4
+ cucumber_factory (2.4.1)
5
5
  activerecord
6
6
  activesupport
7
7
  cucumber
@@ -51,7 +51,7 @@ GEM
51
51
  diff-lcs (1.3)
52
52
  factory_bot (5.1.1)
53
53
  activesupport (>= 4.2.0)
54
- gemika (0.3.2)
54
+ gemika (0.5.0)
55
55
  gherkin (4.1.3)
56
56
  i18n (0.9.5)
57
57
  concurrent-ruby (~> 1.0)
@@ -61,7 +61,7 @@ GEM
61
61
  minitest (5.11.3)
62
62
  multi_json (1.13.1)
63
63
  multi_test (0.1.2)
64
- mysql2 (0.4.10)
64
+ pg (0.21.0)
65
65
  rake (12.3.0)
66
66
  rspec (3.7.0)
67
67
  rspec-core (~> 3.7.0)
@@ -92,7 +92,7 @@ DEPENDENCIES
92
92
  database_cleaner
93
93
  factory_bot
94
94
  gemika
95
- mysql2
95
+ pg (< 1)
96
96
  rake
97
97
  rspec (~> 3.0)
98
98
 
data/Gemfile.cucumber-3.1 CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gem 'cucumber', '~> 3.1.0'
5
5
  gem 'activesupport', '~> 5.1.0'
6
6
  gem 'activerecord', '~> 5.1.0'
7
- gem 'mysql2'
7
+ gem 'pg'
8
8
 
9
9
  # Development dependencies
10
10
  gem 'rspec', '~> 3.0'
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cucumber_factory (2.3.0)
4
+ cucumber_factory (2.4.1)
5
5
  activerecord
6
6
  activesupport
7
7
  cucumber
@@ -51,7 +51,7 @@ GEM
51
51
  diff-lcs (1.3)
52
52
  factory_bot (5.1.1)
53
53
  activesupport (>= 4.2.0)
54
- gemika (0.3.2)
54
+ gemika (0.5.0)
55
55
  gherkin (5.0.0)
56
56
  i18n (0.9.5)
57
57
  concurrent-ruby (~> 1.0)
@@ -61,7 +61,7 @@ GEM
61
61
  minitest (5.11.3)
62
62
  multi_json (1.13.1)
63
63
  multi_test (0.1.2)
64
- mysql2 (0.4.10)
64
+ pg (1.2.3)
65
65
  rake (12.3.0)
66
66
  rspec (3.7.0)
67
67
  rspec-core (~> 3.7.0)
@@ -92,7 +92,7 @@ DEPENDENCIES
92
92
  database_cleaner
93
93
  factory_bot
94
94
  gemika
95
- mysql2
95
+ pg
96
96
  rake
97
97
  rspec (~> 3.0)
98
98
 
@@ -0,0 +1,20 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Runtime dependencies
4
+ gem 'cucumber', '~> 4.1.0'
5
+ gem 'activesupport', '~> 6.0.0'
6
+ gem 'activerecord', '~> 6.0.0'
7
+ gem 'pg'
8
+
9
+ # Development dependencies
10
+ gem 'rspec', '~> 3.0'
11
+ gem 'rake'
12
+ gem 'database_cleaner'
13
+ gem 'gemika'
14
+
15
+ # Test dependencies
16
+ gem 'factory_bot'
17
+ gem 'carrierwave'
18
+
19
+ # Gem under test
20
+ gem 'cucumber_factory', :path => '.'
@@ -0,0 +1,140 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cucumber_factory (2.4.1)
5
+ activerecord
6
+ activesupport
7
+ cucumber
8
+ cucumber_priority (>= 0.2.0)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ activemodel (6.0.3.6)
14
+ activesupport (= 6.0.3.6)
15
+ activerecord (6.0.3.6)
16
+ activemodel (= 6.0.3.6)
17
+ activesupport (= 6.0.3.6)
18
+ activesupport (6.0.3.6)
19
+ concurrent-ruby (~> 1.0, >= 1.0.2)
20
+ i18n (>= 0.7, < 2)
21
+ minitest (~> 5.1)
22
+ tzinfo (~> 1.1)
23
+ zeitwerk (~> 2.2, >= 2.2.2)
24
+ addressable (2.7.0)
25
+ public_suffix (>= 2.0.2, < 5.0)
26
+ builder (3.2.4)
27
+ carrierwave (2.2.1)
28
+ activemodel (>= 5.0.0)
29
+ activesupport (>= 5.0.0)
30
+ addressable (~> 2.6)
31
+ image_processing (~> 1.1)
32
+ marcel (~> 1.0.0)
33
+ mini_mime (>= 0.1.3)
34
+ ssrf_filter (~> 1.0)
35
+ concurrent-ruby (1.1.8)
36
+ cucumber (4.1.0)
37
+ builder (~> 3.2, >= 3.2.3)
38
+ cucumber-core (~> 7.1, >= 7.1.0)
39
+ cucumber-create-meta (~> 1.0.0, >= 1.0.0)
40
+ cucumber-cucumber-expressions (~> 10.1, >= 10.1.0)
41
+ cucumber-gherkin (~> 14.0, >= 14.0.1)
42
+ cucumber-html-formatter (~> 7.0, >= 7.0.0)
43
+ cucumber-messages (~> 12.2, >= 12.2.0)
44
+ cucumber-wire (~> 3.1, >= 3.1.0)
45
+ diff-lcs (~> 1.3, >= 1.3, < 1.4)
46
+ multi_test (~> 0.1, >= 0.1.2)
47
+ sys-uname (~> 1.0, >= 1.0.2)
48
+ cucumber-core (7.1.0)
49
+ cucumber-gherkin (~> 14.0, >= 14.0.1)
50
+ cucumber-messages (~> 12.2, >= 12.2.0)
51
+ cucumber-tag-expressions (~> 2.0, >= 2.0.4)
52
+ cucumber-create-meta (1.0.0)
53
+ cucumber-messages (~> 12.2, >= 12.2.0)
54
+ sys-uname (~> 1.2, >= 1.2.1)
55
+ cucumber-cucumber-expressions (10.3.0)
56
+ cucumber-gherkin (14.2.0)
57
+ cucumber-messages (~> 12.4, >= 12.4.0)
58
+ cucumber-html-formatter (7.2.0)
59
+ cucumber-messages (~> 12.4, >= 12.4.0)
60
+ cucumber-messages (12.4.0)
61
+ protobuf-cucumber (~> 3.10, >= 3.10.8)
62
+ cucumber-tag-expressions (2.0.4)
63
+ cucumber-wire (3.1.0)
64
+ cucumber-core (~> 7.1, >= 7.1.0)
65
+ cucumber-cucumber-expressions (~> 10.1, >= 10.1.0)
66
+ cucumber-messages (~> 12.2, >= 12.2.0)
67
+ cucumber_priority (0.3.2)
68
+ cucumber
69
+ database_cleaner (2.0.1)
70
+ database_cleaner-active_record (~> 2.0.0)
71
+ database_cleaner-active_record (2.0.0)
72
+ activerecord (>= 5.a)
73
+ database_cleaner-core (~> 2.0.0)
74
+ database_cleaner-core (2.0.1)
75
+ diff-lcs (1.3)
76
+ factory_bot (6.1.0)
77
+ activesupport (>= 5.0.0)
78
+ ffi (1.15.0)
79
+ gemika (0.5.0)
80
+ i18n (1.8.9)
81
+ concurrent-ruby (~> 1.0)
82
+ image_processing (1.12.1)
83
+ mini_magick (>= 4.9.5, < 5)
84
+ ruby-vips (>= 2.0.17, < 3)
85
+ marcel (1.0.0)
86
+ middleware (0.1.0)
87
+ mini_magick (4.11.0)
88
+ mini_mime (1.0.3)
89
+ minitest (5.14.4)
90
+ multi_test (0.1.2)
91
+ pg (1.2.3)
92
+ protobuf-cucumber (3.10.8)
93
+ activesupport (>= 3.2)
94
+ middleware
95
+ thor
96
+ thread_safe
97
+ public_suffix (4.0.6)
98
+ rake (13.0.3)
99
+ rspec (3.10.0)
100
+ rspec-core (~> 3.10.0)
101
+ rspec-expectations (~> 3.10.0)
102
+ rspec-mocks (~> 3.10.0)
103
+ rspec-core (3.10.1)
104
+ rspec-support (~> 3.10.0)
105
+ rspec-expectations (3.10.1)
106
+ diff-lcs (>= 1.2.0, < 2.0)
107
+ rspec-support (~> 3.10.0)
108
+ rspec-mocks (3.10.2)
109
+ diff-lcs (>= 1.2.0, < 2.0)
110
+ rspec-support (~> 3.10.0)
111
+ rspec-support (3.10.2)
112
+ ruby-vips (2.1.0)
113
+ ffi (~> 1.12)
114
+ ssrf_filter (1.0.7)
115
+ sys-uname (1.2.2)
116
+ ffi (~> 1.1)
117
+ thor (1.1.0)
118
+ thread_safe (0.3.6)
119
+ tzinfo (1.2.9)
120
+ thread_safe (~> 0.1)
121
+ zeitwerk (2.4.2)
122
+
123
+ PLATFORMS
124
+ ruby
125
+
126
+ DEPENDENCIES
127
+ activerecord (~> 6.0.0)
128
+ activesupport (~> 6.0.0)
129
+ carrierwave
130
+ cucumber (~> 4.1.0)
131
+ cucumber_factory!
132
+ database_cleaner
133
+ factory_bot
134
+ gemika
135
+ pg
136
+ rake
137
+ rspec (~> 3.0)
138
+
139
+ BUNDLED WITH
140
+ 2.1.4
@@ -0,0 +1,20 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Runtime dependencies
4
+ gem 'cucumber', '~> 5.3.0'
5
+ gem 'activesupport', '~> 6.1.0'
6
+ gem 'activerecord', '~> 6.1.0'
7
+ gem 'pg'
8
+
9
+ # Development dependencies
10
+ gem 'rspec', '~> 3.0'
11
+ gem 'rake'
12
+ gem 'database_cleaner'
13
+ gem 'gemika'
14
+
15
+ # Test dependencies
16
+ gem 'factory_bot'
17
+ gem 'carrierwave'
18
+
19
+ # Gem under test
20
+ gem 'cucumber_factory', :path => '.'
@@ -0,0 +1,140 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cucumber_factory (2.4.1)
5
+ activerecord
6
+ activesupport
7
+ cucumber
8
+ cucumber_priority (>= 0.2.0)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ activemodel (6.1.3.1)
14
+ activesupport (= 6.1.3.1)
15
+ activerecord (6.1.3.1)
16
+ activemodel (= 6.1.3.1)
17
+ activesupport (= 6.1.3.1)
18
+ activesupport (6.1.3.1)
19
+ concurrent-ruby (~> 1.0, >= 1.0.2)
20
+ i18n (>= 1.6, < 2)
21
+ minitest (>= 5.1)
22
+ tzinfo (~> 2.0)
23
+ zeitwerk (~> 2.3)
24
+ addressable (2.7.0)
25
+ public_suffix (>= 2.0.2, < 5.0)
26
+ builder (3.2.4)
27
+ carrierwave (2.2.1)
28
+ activemodel (>= 5.0.0)
29
+ activesupport (>= 5.0.0)
30
+ addressable (~> 2.6)
31
+ image_processing (~> 1.1)
32
+ marcel (~> 1.0.0)
33
+ mini_mime (>= 0.1.3)
34
+ ssrf_filter (~> 1.0)
35
+ concurrent-ruby (1.1.8)
36
+ cucumber (5.3.0)
37
+ builder (~> 3.2, >= 3.2.4)
38
+ cucumber-core (~> 8.0, >= 8.0.1)
39
+ cucumber-create-meta (~> 2.0, >= 2.0.2)
40
+ cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
41
+ cucumber-gherkin (~> 15.0, >= 15.0.2)
42
+ cucumber-html-formatter (~> 9.0, >= 9.0.0)
43
+ cucumber-messages (~> 13.1, >= 13.1.0)
44
+ cucumber-wire (~> 4.0, >= 4.0.1)
45
+ diff-lcs (~> 1.4, >= 1.4.4)
46
+ multi_test (~> 0.1, >= 0.1.2)
47
+ sys-uname (~> 1.2, >= 1.2.1)
48
+ cucumber-core (8.0.1)
49
+ cucumber-gherkin (~> 15.0, >= 15.0.2)
50
+ cucumber-messages (~> 13.0, >= 13.0.1)
51
+ cucumber-tag-expressions (~> 2.0, >= 2.0.4)
52
+ cucumber-create-meta (2.0.4)
53
+ cucumber-messages (~> 13.1, >= 13.1.0)
54
+ sys-uname (~> 1.2, >= 1.2.1)
55
+ cucumber-cucumber-expressions (10.3.0)
56
+ cucumber-gherkin (15.0.2)
57
+ cucumber-messages (~> 13.0, >= 13.0.1)
58
+ cucumber-html-formatter (9.0.0)
59
+ cucumber-messages (~> 13.0, >= 13.0.1)
60
+ cucumber-messages (13.2.1)
61
+ protobuf-cucumber (~> 3.10, >= 3.10.8)
62
+ cucumber-tag-expressions (2.0.4)
63
+ cucumber-wire (4.0.1)
64
+ cucumber-core (~> 8.0, >= 8.0.1)
65
+ cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
66
+ cucumber-messages (~> 13.0, >= 13.0.1)
67
+ cucumber_priority (0.3.2)
68
+ cucumber
69
+ database_cleaner (2.0.1)
70
+ database_cleaner-active_record (~> 2.0.0)
71
+ database_cleaner-active_record (2.0.0)
72
+ activerecord (>= 5.a)
73
+ database_cleaner-core (~> 2.0.0)
74
+ database_cleaner-core (2.0.1)
75
+ diff-lcs (1.4.4)
76
+ factory_bot (6.1.0)
77
+ activesupport (>= 5.0.0)
78
+ ffi (1.15.0)
79
+ gemika (0.5.0)
80
+ i18n (1.8.9)
81
+ concurrent-ruby (~> 1.0)
82
+ image_processing (1.12.1)
83
+ mini_magick (>= 4.9.5, < 5)
84
+ ruby-vips (>= 2.0.17, < 3)
85
+ marcel (1.0.0)
86
+ middleware (0.1.0)
87
+ mini_magick (4.11.0)
88
+ mini_mime (1.0.3)
89
+ minitest (5.14.4)
90
+ multi_test (0.1.2)
91
+ pg (1.2.3)
92
+ protobuf-cucumber (3.10.8)
93
+ activesupport (>= 3.2)
94
+ middleware
95
+ thor
96
+ thread_safe
97
+ public_suffix (4.0.6)
98
+ rake (13.0.3)
99
+ rspec (3.10.0)
100
+ rspec-core (~> 3.10.0)
101
+ rspec-expectations (~> 3.10.0)
102
+ rspec-mocks (~> 3.10.0)
103
+ rspec-core (3.10.1)
104
+ rspec-support (~> 3.10.0)
105
+ rspec-expectations (3.10.1)
106
+ diff-lcs (>= 1.2.0, < 2.0)
107
+ rspec-support (~> 3.10.0)
108
+ rspec-mocks (3.10.2)
109
+ diff-lcs (>= 1.2.0, < 2.0)
110
+ rspec-support (~> 3.10.0)
111
+ rspec-support (3.10.2)
112
+ ruby-vips (2.1.0)
113
+ ffi (~> 1.12)
114
+ ssrf_filter (1.0.7)
115
+ sys-uname (1.2.2)
116
+ ffi (~> 1.1)
117
+ thor (1.1.0)
118
+ thread_safe (0.3.6)
119
+ tzinfo (2.0.4)
120
+ concurrent-ruby (~> 1.0)
121
+ zeitwerk (2.4.2)
122
+
123
+ PLATFORMS
124
+ ruby
125
+
126
+ DEPENDENCIES
127
+ activerecord (~> 6.1.0)
128
+ activesupport (~> 6.1.0)
129
+ carrierwave
130
+ cucumber (~> 5.3.0)
131
+ cucumber_factory!
132
+ database_cleaner
133
+ factory_bot
134
+ gemika
135
+ pg
136
+ rake
137
+ rspec (~> 3.0)
138
+
139
+ BUNDLED WITH
140
+ 2.1.4
data/Gemfile.lock CHANGED
@@ -1 +1 @@
1
- ./Gemfile.cucumber-2.4.lock
1
+ Gemfile.cucumber-2.4.lock
data/Gemfile.rails-7 ADDED
@@ -0,0 +1,20 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Runtime dependencies
4
+ gem 'cucumber', '~> 5.3.0'
5
+ gem 'activesupport', '~> 7.0.0'
6
+ gem 'activerecord', '~> 7.0.0'
7
+ gem 'pg'
8
+
9
+ # Development dependencies
10
+ gem 'rspec', '~> 3.0'
11
+ gem 'rake'
12
+ gem 'database_cleaner'
13
+ gem 'gemika'
14
+
15
+ # Test dependencies
16
+ gem 'factory_bot'
17
+ gem 'carrierwave'
18
+
19
+ # Gem under test
20
+ gem 'cucumber_factory', :path => '.'
@@ -0,0 +1,138 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cucumber_factory (2.4.1)
5
+ activerecord
6
+ activesupport
7
+ cucumber
8
+ cucumber_priority (>= 0.2.0)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ activemodel (7.0.0)
14
+ activesupport (= 7.0.0)
15
+ activerecord (7.0.0)
16
+ activemodel (= 7.0.0)
17
+ activesupport (= 7.0.0)
18
+ activesupport (7.0.0)
19
+ concurrent-ruby (~> 1.0, >= 1.0.2)
20
+ i18n (>= 1.6, < 2)
21
+ minitest (>= 5.1)
22
+ tzinfo (~> 2.0)
23
+ addressable (2.8.0)
24
+ public_suffix (>= 2.0.2, < 5.0)
25
+ builder (3.2.4)
26
+ carrierwave (2.2.2)
27
+ activemodel (>= 5.0.0)
28
+ activesupport (>= 5.0.0)
29
+ addressable (~> 2.6)
30
+ image_processing (~> 1.1)
31
+ marcel (~> 1.0.0)
32
+ mini_mime (>= 0.1.3)
33
+ ssrf_filter (~> 1.0)
34
+ concurrent-ruby (1.1.9)
35
+ cucumber (5.3.0)
36
+ builder (~> 3.2, >= 3.2.4)
37
+ cucumber-core (~> 8.0, >= 8.0.1)
38
+ cucumber-create-meta (~> 2.0, >= 2.0.2)
39
+ cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
40
+ cucumber-gherkin (~> 15.0, >= 15.0.2)
41
+ cucumber-html-formatter (~> 9.0, >= 9.0.0)
42
+ cucumber-messages (~> 13.1, >= 13.1.0)
43
+ cucumber-wire (~> 4.0, >= 4.0.1)
44
+ diff-lcs (~> 1.4, >= 1.4.4)
45
+ multi_test (~> 0.1, >= 0.1.2)
46
+ sys-uname (~> 1.2, >= 1.2.1)
47
+ cucumber-core (8.0.1)
48
+ cucumber-gherkin (~> 15.0, >= 15.0.2)
49
+ cucumber-messages (~> 13.0, >= 13.0.1)
50
+ cucumber-tag-expressions (~> 2.0, >= 2.0.4)
51
+ cucumber-create-meta (2.0.4)
52
+ cucumber-messages (~> 13.1, >= 13.1.0)
53
+ sys-uname (~> 1.2, >= 1.2.1)
54
+ cucumber-cucumber-expressions (10.3.0)
55
+ cucumber-gherkin (15.0.2)
56
+ cucumber-messages (~> 13.0, >= 13.0.1)
57
+ cucumber-html-formatter (9.0.0)
58
+ cucumber-messages (~> 13.0, >= 13.0.1)
59
+ cucumber-messages (13.2.1)
60
+ protobuf-cucumber (~> 3.10, >= 3.10.8)
61
+ cucumber-tag-expressions (2.0.4)
62
+ cucumber-wire (4.0.1)
63
+ cucumber-core (~> 8.0, >= 8.0.1)
64
+ cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
65
+ cucumber-messages (~> 13.0, >= 13.0.1)
66
+ cucumber_priority (0.3.2)
67
+ cucumber
68
+ database_cleaner (2.0.1)
69
+ database_cleaner-active_record (~> 2.0.0)
70
+ database_cleaner-active_record (2.0.1)
71
+ activerecord (>= 5.a)
72
+ database_cleaner-core (~> 2.0.0)
73
+ database_cleaner-core (2.0.1)
74
+ diff-lcs (1.4.4)
75
+ factory_bot (6.2.0)
76
+ activesupport (>= 5.0.0)
77
+ ffi (1.15.4)
78
+ gemika (0.6.1)
79
+ i18n (1.8.11)
80
+ concurrent-ruby (~> 1.0)
81
+ image_processing (1.12.1)
82
+ mini_magick (>= 4.9.5, < 5)
83
+ ruby-vips (>= 2.0.17, < 3)
84
+ marcel (1.0.2)
85
+ middleware (0.1.0)
86
+ mini_magick (4.11.0)
87
+ mini_mime (1.1.2)
88
+ minitest (5.15.0)
89
+ multi_test (0.1.2)
90
+ pg (1.2.3)
91
+ protobuf-cucumber (3.10.8)
92
+ activesupport (>= 3.2)
93
+ middleware
94
+ thor
95
+ thread_safe
96
+ public_suffix (4.0.6)
97
+ rake (13.0.6)
98
+ rspec (3.10.0)
99
+ rspec-core (~> 3.10.0)
100
+ rspec-expectations (~> 3.10.0)
101
+ rspec-mocks (~> 3.10.0)
102
+ rspec-core (3.10.1)
103
+ rspec-support (~> 3.10.0)
104
+ rspec-expectations (3.10.1)
105
+ diff-lcs (>= 1.2.0, < 2.0)
106
+ rspec-support (~> 3.10.0)
107
+ rspec-mocks (3.10.2)
108
+ diff-lcs (>= 1.2.0, < 2.0)
109
+ rspec-support (~> 3.10.0)
110
+ rspec-support (3.10.3)
111
+ ruby-vips (2.1.4)
112
+ ffi (~> 1.12)
113
+ ssrf_filter (1.0.7)
114
+ sys-uname (1.2.2)
115
+ ffi (~> 1.1)
116
+ thor (1.1.0)
117
+ thread_safe (0.3.6)
118
+ tzinfo (2.0.4)
119
+ concurrent-ruby (~> 1.0)
120
+
121
+ PLATFORMS
122
+ x86_64-linux
123
+
124
+ DEPENDENCIES
125
+ activerecord (~> 7.0.0)
126
+ activesupport (~> 7.0.0)
127
+ carrierwave
128
+ cucumber (~> 5.3.0)
129
+ cucumber_factory!
130
+ database_cleaner
131
+ factory_bot
132
+ gemika
133
+ pg
134
+ rake
135
+ rspec (~> 3.0)
136
+
137
+ BUNDLED WITH
138
+ 2.3.0
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- cucumber_factory [![Build Status](https://travis-ci.org/makandra/cucumber_factory.svg?branch=master)](https://travis-ci.org/makandra/cucumber_factory)
1
+ cucumber_factory [![Tests](https://github.com/makandra/cucumber_factory/workflows/Tests/badge.svg)](https://github.com/makandra/cucumber_factory/actions?query=branch:master)
2
2
  ================
3
3
 
4
4
  Create ActiveRecord objects without step definitions
@@ -222,23 +222,22 @@ Development
222
222
  There are tests in `spec`. We only accept PRs with tests. To run tests:
223
223
 
224
224
  - Install the Ruby version stated in `.ruby-version`
225
- - Create a local MySQL/MariaDB database named `cucumber_factory_test`
225
+ - Create a local PostgreSQL database:
226
226
  ```
227
- $ mysql -u root -p
228
- > create database cucumber_factory_test;
227
+ $ sudo -u postgres psql -c 'create database cucumber_factory_test;'
229
228
  ```
230
229
 
231
230
  - Copy `spec/support/database.sample.yml` to `spec/support/database.yml` and enter your local credentials for the test databases
232
231
  - Install development dependencies using `bundle install`
233
232
  - Run tests with the default symlinked Gemfile using `bundle exec rspec` or explicit with `BUNDLE_GEMFILE=Gemfile.cucumber-x.x bundle exec rspec spec`
234
233
 
235
- We recommend to test large changes against multiple versions of Ruby and multiple dependency sets. Supported combinations are configured in `.travis.yml`. We provide some rake tasks to help with this:
234
+ We recommend to test large changes against multiple versions of Ruby and multiple dependency sets. Supported combinations are configured in .github/workflows/test.yml. We provide some rake tasks to help with this:
236
235
 
237
236
  For each ruby version do (you need to change it manually):
238
237
  - Install development dependencies using `rake matrix:install`
239
238
  - Run tests using `rake matrix:spec`
240
239
 
241
- Note that we have configured Travis CI to automatically run tests in all supported Ruby versions and dependency sets after each push. We will only merge pull requests after a green Travis build.
240
+ Note that we have configured GitHub Actions to automatically run tests in all supported Ruby versions and dependency sets after each push. We will only merge pull requests after a green workflow build.
242
241
 
243
242
  If you would like to contribute:
244
243
 
@@ -11,6 +11,7 @@ Gem::Specification.new do |s|
11
11
  s.summary = %q{Create records from Cucumber features without writing step definitions.}
12
12
  s.description = %q{Cucumber Factory allows you to create ActiveRecord models from your Cucumber features without writing step definitions for each model.}
13
13
  s.license = 'MIT'
14
+ s.metadata = { 'rubygems_mfa_required' => 'true' }
14
15
 
15
16
  s.files = `git ls-files`.split("\n")
16
17
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -4,12 +4,12 @@ module CucumberFactory
4
4
 
5
5
  ATTRIBUTES_PATTERN = '( with the .+?)?( (?:which|who|that) is .+?)?' # ... with the year 1979 which is science fiction
6
6
  TEXT_ATTRIBUTES_PATTERN = ' (?:with|and) these attributes:'
7
- UPDATE_ATTR_PATTERN = '(?: (?:has|belongs to)( the .+?))?(?:(?: and| but|,)*( is .+?))?' # ... belongs to the collection "Fantasy" and is trending
7
+ UPDATE_ATTR_PATTERN = '(?: (?:has|belongs to)( the .+?)|(?: and| but|,)*( is .+?))' # ... belongs to the collection "Fantasy" and is trending
8
8
  TEXT_UPDATE_ATTR_PATTERN = '(?: and|,)* has these attributes:'
9
9
 
10
10
  RECORD_PATTERN = 'there is an? (.+?)( \(.+?\))?' # Given there is a movie (comedy)
11
11
  NAMED_RECORD_PATTERN = '(?:"([^\"]*)"|\'([^\']*)\') is an? (.+?)( \(.+?\))?' # Given "LotR" is a movie
12
- RECORD_UPDATE_PATTERN = 'the (.+?) (above|".+?"|\'.+?\')' # Given the movie "LotR" ...
12
+ RECORD_UPDATE_PATTERN = 'the ([^"\',]+?) (above|".+?"|\'.+?\')' # Given the movie "LotR" ...
13
13
 
14
14
  NAMED_RECORDS_VARIABLE = :'@named_cucumber_factory_records'
15
15
 
@@ -45,7 +45,7 @@ module CucumberFactory
45
45
 
46
46
  UPDATE_STEP_DESCRIPTOR = {
47
47
  :kind => :And,
48
- :pattern => /^#{RECORD_UPDATE_PATTERN}#{UPDATE_ATTR_PATTERN}$/,
48
+ :pattern => /^#{RECORD_UPDATE_PATTERN}#{UPDATE_ATTR_PATTERN}+$/,
49
49
  :block => lambda { |a1, a2, a3, a4| CucumberFactory::Factory.send(:parse_update, self, a1, a2, a3, a4) }
50
50
  }
51
51
 
@@ -65,7 +65,7 @@ module CucumberFactory
65
65
 
66
66
  UPDATE_STEP_DESCRIPTOR_WITH_TEXT_ATTRIBUTES = {
67
67
  :kind => :And,
68
- :pattern => /^#{RECORD_UPDATE_PATTERN}#{UPDATE_ATTR_PATTERN}#{TEXT_UPDATE_ATTR_PATTERN}$/,
68
+ :pattern => /^#{RECORD_UPDATE_PATTERN}#{UPDATE_ATTR_PATTERN}*#{TEXT_UPDATE_ATTR_PATTERN}$/,
69
69
  :block => lambda { |a1, a2, a3, a4, a5| CucumberFactory::Factory.send(:parse_update, self, a1, a2, a3, a4, a5) },
70
70
  :priority => true
71
71
  }
@@ -88,7 +88,8 @@ module CucumberFactory
88
88
  main.instance_eval {
89
89
  kind = descriptor[:kind]
90
90
  object = send(kind, *[descriptor[:pattern]].compact, &descriptor[:block])
91
- object.overridable(:priority => descriptor[:priority] ? 1 : 0) if kind != :Before
91
+ # cucumber_factory steps get a low priority due to their generic syntax
92
+ object.overridable(:priority => descriptor[:priority] ? -1 : -2) if kind != :Before
92
93
  object
93
94
  }
94
95
  end
@@ -1,3 +1,3 @@
1
1
  module CucumberFactory
2
- VERSION = '2.3.0'
2
+ VERSION = '2.4.1'
3
3
  end
@@ -1 +1 @@
1
- spec/assets/file.txt
1
+ file.txt
@@ -175,7 +175,10 @@ describe 'steps provided by cucumber_factory' do
175
175
  it "should give created_at precedence over id when saying 'above' if the primary key is not numeric" do
176
176
  invoke_cucumber_step('there is a uuid user with the name "Jane" and the id "jane"')
177
177
  invoke_cucumber_step('there is a uuid user with the name "John" and the id "john"')
178
- UuidUser.find_by_name("John").update_attributes!(:created_at => 1.day.ago)
178
+
179
+ uuid_user = UuidUser.find_by_name("John")
180
+ ActiveRecord::VERSION::MAJOR >= 6 ? uuid_user.update!(:created_at => 1.day.ago) : uuid_user.update_attributes!(:created_at => 1.day.ago)
181
+
179
182
  invoke_cucumber_step('there is a movie with the title "Before Sunset" and the uuid reviewer above')
180
183
  before_sunset = Movie.find_by_title!("Before Sunset")
181
184
  before_sunset.uuid_reviewer.name.should == "Jane"
@@ -184,7 +187,10 @@ describe 'steps provided by cucumber_factory' do
184
187
  it "should ignore created_at if the primary key is numeric" do
185
188
  invoke_cucumber_step('there is a user with the name "Jane"')
186
189
  invoke_cucumber_step('there is a user with the name "John"')
187
- User.find_by_name("John").update_attributes!(:created_at => 1.day.ago)
190
+
191
+ user = User.find_by_name("John")
192
+ ActiveRecord::VERSION::MAJOR >= 6 ? user.update!(:created_at => 1.day.ago) : user.update_attributes!(:created_at => 1.day.ago)
193
+
188
194
  invoke_cucumber_step('there is a movie with the title "Before Sunset" and the reviewer above')
189
195
  before_sunset = Movie.find_by_title!("Before Sunset")
190
196
  before_sunset.reviewer.name.should == "John"
@@ -198,7 +204,10 @@ describe 'steps provided by cucumber_factory' do
198
204
 
199
205
  it "should reload an object assigned to a belongs_to before assigning" do
200
206
  invoke_cucumber_step('"Jane" is a user who is deleted')
201
- User.last.update_attributes(:deleted => false)
207
+
208
+ user = User.last
209
+ ActiveRecord::VERSION::MAJOR >= 6 ? user.update!(:deleted => false) : user.update_attributes!(:deleted => false)
210
+
202
211
  proc { invoke_cucumber_step('there is a movie with the title "Before Sunset" and the reviewer "Jane"') }.should_not raise_error
203
212
  end
204
213
 
@@ -0,0 +1,6 @@
1
+ postgresql:
2
+ database: cucumber_factory_test
3
+ host: localhost
4
+ username: postgres
5
+ password: postgres
6
+ port: 5432
@@ -1,5 +1,5 @@
1
- mysql:
1
+ postgres:
2
2
  database: cucumber_factory_test
3
3
  host: localhost
4
- username: root
5
- password: secret
4
+ username: postgres
5
+ password: postgres
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber_factory
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henning Koch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-24 00:00:00.000000000 Z
11
+ date: 2022-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -73,10 +73,10 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
+ - ".github/workflows/test.yml"
76
77
  - ".gitignore"
77
78
  - ".rspec"
78
79
  - ".ruby-version"
79
- - ".travis.yml"
80
80
  - CHANGELOG.md
81
81
  - Gemfile
82
82
  - Gemfile.cucumber-1.3
@@ -87,7 +87,13 @@ files:
87
87
  - Gemfile.cucumber-3.0.lock
88
88
  - Gemfile.cucumber-3.1
89
89
  - Gemfile.cucumber-3.1.lock
90
+ - Gemfile.cucumber-4.1
91
+ - Gemfile.cucumber-4.1.lock
92
+ - Gemfile.cucumber-5.3
93
+ - Gemfile.cucumber-5.3.lock
90
94
  - Gemfile.lock
95
+ - Gemfile.rails-7
96
+ - Gemfile.rails-7.lock
91
97
  - LICENSE
92
98
  - README.md
93
99
  - Rakefile
@@ -106,9 +112,9 @@ files:
106
112
  - spec/cucumber_factory/steps_spec.rb
107
113
  - spec/spec_helper.rb
108
114
  - spec/support/cucumber_helper.rb
115
+ - spec/support/database.github.yml
109
116
  - spec/support/database.rb
110
117
  - spec/support/database.sample.yml
111
- - spec/support/database.travis.yml
112
118
  - spec/support/factories/factories.rb
113
119
  - spec/support/models/job_offer.rb
114
120
  - spec/support/models/machinist_model.rb
@@ -123,7 +129,8 @@ files:
123
129
  homepage: http://github.com/makandra/cucumber_factory
124
130
  licenses:
125
131
  - MIT
126
- metadata: {}
132
+ metadata:
133
+ rubygems_mfa_required: 'true'
127
134
  post_install_message:
128
135
  rdoc_options: []
129
136
  require_paths:
@@ -139,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
146
  - !ruby/object:Gem::Version
140
147
  version: '0'
141
148
  requirements: []
142
- rubygems_version: 3.1.2
149
+ rubygems_version: 3.3.9
143
150
  signing_key:
144
151
  specification_version: 4
145
152
  summary: Create records from Cucumber features without writing step definitions.
data/.travis.yml DELETED
@@ -1,32 +0,0 @@
1
- rvm:
2
- - 2.1.10
3
- - 2.5.3
4
-
5
- gemfile:
6
- - Gemfile.cucumber-1.3
7
- - Gemfile.cucumber-2.4
8
- - Gemfile.cucumber-3.0
9
- - Gemfile.cucumber-3.1
10
-
11
- dist: trusty
12
-
13
- matrix:
14
- exclude:
15
- - gemfile: Gemfile.cucumber-3.1
16
- rvm: 2.1.10 # cucumber 3 wants ruby >= 2.2
17
- - gemfile: Gemfile.cucumber-3.0
18
- rvm: 2.1.10 # cucumber 3 wants ruby >= 2.2
19
-
20
- install:
21
- # Replace default Travis CI bundler script with a version that doesn't
22
- # explode when lockfile doesn't match recently bumped version
23
- - bundle install --no-deployment --jobs=3 --retry=3 --path=${BUNDLE_PATH:-vendor/bundle}
24
-
25
- before_script:
26
- - mysql -e 'create database IF NOT EXISTS cucumber_factory_test;'
27
-
28
- script: bundle exec rake current_rspec
29
-
30
- sudo: false
31
-
32
- cache: bundler
@@ -1,4 +0,0 @@
1
- mysql:
2
- database: cucumber_factory_test
3
- username: travis
4
- password: