e2e 0.7.1 → 0.7.2

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: e58fc07c8356119f92b3c2be2849227d2be09a4f0e0e6410916b1672b60d50d9
4
- data.tar.gz: 0bfe39f3c8bca7b434dae7ca3922ffe08db1bf6fe351a5cf6ed1759a11d688bb
3
+ metadata.gz: 8b1979d8cb29dc3f972388c02f2e9b650d46bbb3a6e77d5df9a2b73469c3147f
4
+ data.tar.gz: 142e1b3e1f5f0d340d1500c403fc2a5bdda313a2eedc91b3a572f1d552b55d61
5
5
  SHA512:
6
- metadata.gz: 1574bb81c3de068d48e255e5c9b4515ce5fac93ed07e2238599c597eaa0b6dadd3e10aee0bad5f5ff4efe45dd6582f249e39f2b7e78e7f4cb95974644a6b2f58
7
- data.tar.gz: 54a2aba91a6e02d3ad3bd628c7dc8f99abbba91930bf83285bd259873f0e89eb2d6f9b41bceda895982eb5826051fc0114ae7e0a719518e4fff8bff22942f579
6
+ metadata.gz: 34870c3c1ce7dc4a649377763117170a84a9bcd43f3c530798965948d4b0a5ca979049f8cfffcff36ab923e89b34c54d436b271d1629fb13ce03c1d6087e2e4e
7
+ data.tar.gz: 341af70802d3e123fde8d0fb58b8bc25c5d795857cd6d913378304ecd3b5e8c6f97195e2f5d407d9c514a8e4cd3a05b78488c7d7970149f0cf1a51b71f2551ee
data/CHANGELOG.md CHANGED
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.7.2] - 2026-08-13
11
+
12
+ ### Added
13
+
14
+ - `E2E.config.ensure_vite_assets` (`:auto` by default) builds ViteRuby test assets once before the e2e suite (RSpec `before(:suite)`, Minitest `before_setup`). Modes: `:auto` (build when ViteRuby is loaded), `:build` (require ViteRuby), `:warn`, `:skip`. Serialized with a flock so only one process compiles; ViteRuby skips compile when the watched-files digest is unchanged. Escape hatch: `SKIP_VITE_TEST_BUILD=1`.
15
+ - Install generator documents `ensure_vite_assets` in the helper template.
16
+
17
+ ### Fixed
18
+
19
+ - Inertia / vite_rails apps no longer silently run e2e against a stale `public/vite-test` bundle when specs are started without a manual `bin/vite build --mode=test`.
20
+
10
21
  ## [0.7.1] - 2026-08-05
11
22
 
12
23
  ### Fixed
data/README.md CHANGED
@@ -336,6 +336,9 @@ E2E.configure do |config|
336
336
  config.wait_timeout = 5 # Seconds to wait in auto-waiting matchers (default: 5)
337
337
  config.navigation_wait_until = "domcontentloaded" # Avoid hangs on third-party iframes
338
338
  config.navigation_timeout = 30 # Seconds for page.goto
339
+ # Vite / Inertia: ensure public/vite-test is fresh before the suite
340
+ # :auto (default) | :build | :warn | :skip — or SKIP_VITE_TEST_BUILD=1
341
+ config.ensure_vite_assets = :auto
339
342
  config.flash_selectors = {
340
343
  any: "[role='alert'], [role='status'], .flash",
341
344
  notice: "[role='status'], .flash.notice",
@@ -344,6 +347,18 @@ E2E.configure do |config|
344
347
  end
345
348
  ```
346
349
 
350
+ ### Vite / Inertia assets
351
+
352
+ Apps using `vite_rails` with `config/vite.json` `test.autoBuild: false` serve prebuilt files from `public/vite-test`. If that bundle is older than your frontend, e2e fails with missing buttons/pages instead of a clear asset error.
353
+
354
+ With `ensure_vite_assets: :auto` (default), the gem calls `ViteRuby.commands.build` once before the suite. ViteRuby skips the real compile when nothing changed. A file lock keeps a single builder if several processes start together.
355
+
356
+ ```bash
357
+ # Prefer either of these when building manually / in CI:
358
+ bin/vite build --mode=test
359
+ RAILS_ENV=test bin/vite build
360
+ ```
361
+
347
362
  ### Multiple Browsers
348
363
 
349
364
  One of the key advantages of Playwright is true cross-browser testing. You can easily switch engines:
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- e2e (0.7.1)
4
+ e2e (0.7.2)
5
5
  playwright-ruby-client (>= 1.40.0)
6
6
  rack
7
7
  rackup
@@ -92,29 +92,29 @@ GEM
92
92
  benchmark (0.5.0)
93
93
  bigdecimal (4.1.2)
94
94
  builder (3.3.0)
95
- concurrent-ruby (1.3.7)
95
+ concurrent-ruby (1.3.8)
96
96
  crass (1.0.7)
97
97
  date (3.5.1)
98
98
  diff-lcs (1.6.2)
99
99
  drb (2.2.3)
100
- erb (6.0.4)
100
+ erb (6.0.7)
101
101
  erubi (1.13.1)
102
102
  globalid (1.4.0)
103
103
  activesupport (>= 6.1)
104
104
  i18n (1.15.2)
105
105
  concurrent-ruby (~> 1.0)
106
- io-console (0.8.2)
106
+ io-console (0.9.2)
107
107
  irb (1.18.0)
108
108
  pp (>= 0.6.0)
109
109
  prism (>= 1.3.0)
110
110
  rdoc (>= 4.0.0)
111
111
  reline (>= 0.4.2)
112
- json (2.21.1)
112
+ json (2.21.2)
113
113
  language_server-protocol (3.17.0.6)
114
114
  lefthook (2.1.10)
115
115
  lint_roller (1.1.0)
116
116
  logger (1.7.0)
117
- loofah (2.25.1)
117
+ loofah (2.25.2)
118
118
  crass (~> 1.0.2)
119
119
  nokogiri (>= 1.12.0)
120
120
  mail (2.9.1)
@@ -135,7 +135,7 @@ GEM
135
135
  drb (~> 2.0)
136
136
  prism (~> 1.5)
137
137
  mutex_m (0.3.0)
138
- net-imap (0.6.4.1)
138
+ net-imap (0.6.6)
139
139
  date
140
140
  net-protocol
141
141
  net-pop (0.1.2)
@@ -162,10 +162,10 @@ GEM
162
162
  nokogiri (1.19.4-x86_64-linux-musl)
163
163
  racc (~> 1.4)
164
164
  parallel (2.1.0)
165
- parser (3.3.11.1)
165
+ parser (3.3.12.0)
166
166
  ast (~> 2.4.1)
167
167
  racc
168
- playwright-ruby-client (1.61.0)
168
+ playwright-ruby-client (1.62.0)
169
169
  base64
170
170
  concurrent-ruby (>= 1.1.6)
171
171
  mime-types (>= 3.0)
@@ -174,7 +174,7 @@ GEM
174
174
  prettyprint (0.2.0)
175
175
  prism (1.9.0)
176
176
  racc (1.8.1)
177
- rack (2.2.23)
177
+ rack (2.2.24)
178
178
  rack-test (2.2.0)
179
179
  rack (>= 1.3)
180
180
  rackup (1.0.1)
@@ -198,8 +198,8 @@ GEM
198
198
  activesupport (>= 5.0.0)
199
199
  minitest
200
200
  nokogiri (>= 1.6)
201
- rails-html-sanitizer (1.7.0)
202
- loofah (~> 2.25)
201
+ rails-html-sanitizer (1.7.1)
202
+ loofah (~> 2.25, >= 2.25.2)
203
203
  nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
204
204
  railties (7.0.10)
205
205
  actionpack (= 7.0.10)
@@ -210,7 +210,7 @@ GEM
210
210
  zeitwerk (~> 2.5)
211
211
  rainbow (3.1.1)
212
212
  rake (13.4.2)
213
- rbs (4.0.3)
213
+ rbs (4.1.3)
214
214
  logger
215
215
  prism (>= 1.6.0)
216
216
  tsort
@@ -220,7 +220,7 @@ GEM
220
220
  rbs (>= 4.0.0)
221
221
  tsort
222
222
  regexp_parser (2.12.0)
223
- reline (0.6.3)
223
+ reline (0.7.0)
224
224
  io-console (~> 0.5)
225
225
  rspec (3.13.2)
226
226
  rspec-core (~> 3.13.0)
@@ -235,7 +235,7 @@ GEM
235
235
  diff-lcs (>= 1.2.0, < 2.0)
236
236
  rspec-support (~> 3.13.0)
237
237
  rspec-support (3.13.7)
238
- rubocop (1.87.0)
238
+ rubocop (1.88.2)
239
239
  json (~> 2.3)
240
240
  language_server-protocol (~> 3.17.0.2)
241
241
  lint_roller (~> 1.1.0)
@@ -259,13 +259,13 @@ GEM
259
259
  rubocop (~> 1.86, >= 1.86.2)
260
260
  ruby-progressbar (1.13.0)
261
261
  securerandom (0.4.1)
262
- simplecov (1.0.1)
262
+ simplecov (1.1.1)
263
263
  sqlite3 (1.7.3)
264
264
  mini_portile2 (~> 2.8.0)
265
- standard (1.55.0)
265
+ standard (1.56.0)
266
266
  language_server-protocol (~> 3.17.0.2)
267
267
  lint_roller (~> 1.0)
268
- rubocop (~> 1.87.0)
268
+ rubocop (~> 1.88.0)
269
269
  standard-custom (~> 1.0.0)
270
270
  standard-performance (~> 1.8)
271
271
  standard-custom (1.0.2)
@@ -287,7 +287,7 @@ GEM
287
287
  base64
288
288
  websocket-extensions (>= 0.1.0)
289
289
  websocket-extensions (0.1.5)
290
- zeitwerk (2.8.2)
290
+ zeitwerk (2.8.3)
291
291
 
292
292
  PLATFORMS
293
293
  aarch64-linux-gnu
@@ -333,24 +333,24 @@ CHECKSUMS
333
333
  benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
334
334
  bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
335
335
  builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
336
- concurrent-ruby (1.3.7) sha256=4412caec3a5ea2e5fdc52076724c071a81f2c0593d83b2ac8cbb8ca63b3151b0
336
+ concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
337
337
  crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295
338
338
  date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
339
339
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
340
340
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
341
- e2e (0.7.1)
342
- erb (6.0.4) sha256=38e3803694be357fe2bfe312487c74beaf9fb4e5beb3e22498952fe1645b95d9
341
+ e2e (0.7.2)
342
+ erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
343
343
  erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
344
344
  globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
345
345
  i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
346
- io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
346
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
347
347
  irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
348
- json (2.21.1) sha256=13a43df75d95641443f5702dff350f237164a9d811ff0f2c2800d4d980220583
348
+ json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
349
349
  language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
350
350
  lefthook (2.1.10) sha256=cc9c06bd8ea689e8b8016eab9769e54d696d07951860c1c6d28e8f6812e61b65
351
351
  lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
352
352
  logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
353
- loofah (2.25.1) sha256=d436c73dbd0c1147b16c4a41db097942d217303e1f7728704b37e4df9f6d2e04
353
+ loofah (2.25.2) sha256=2007f746959ac65552456e04b433e83deb22759ab38c838b4445c70e43425918
354
354
  mail (2.9.1) sha256=06574eca475253d6c18145dd70af80d0eb970182d55053497c5f4d797ea160e8
355
355
  marcel (1.2.1) sha256=1678e9360e32f9eafa917c80029e2f6d10b2715c66a4b87b6d0da9b9cd1f859f
356
356
  method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
@@ -360,7 +360,7 @@ CHECKSUMS
360
360
  mini_portile2 (2.8.9) sha256=0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289
361
361
  minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1
362
362
  mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
363
- net-imap (0.6.4.1) sha256=29f0360d75a7efd3539f16ac1957dea5c0a51ddeceb348db4553c3120914ea0d
363
+ net-imap (0.6.6) sha256=96aa4ee50df3060203e649efc341f53480b791d49e150f2fdebf68beb141a8df
364
364
  net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
365
365
  net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
366
366
  net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
@@ -374,39 +374,39 @@ CHECKSUMS
374
374
  nokogiri (1.19.4-x86_64-linux-gnu) sha256=379fae440b28915e3f19d752ce2dcf8465ed2b2fbefd2a7ca0dd497bc981a06a
375
375
  nokogiri (1.19.4-x86_64-linux-musl) sha256=17dfb7c1fa194ae02fbf7c51a7afc8d278045ab3fdacfd86f91d02d7b274470b
376
376
  parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356
377
- parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54
378
- playwright-ruby-client (1.61.0) sha256=1f5c5f0307a2f6bd70b4fa797020a30eef5680caf8d5bd9ccc8d3937f6666e08
377
+ parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
378
+ playwright-ruby-client (1.62.0) sha256=44eb6051ab7987f68a1288a7db7892403e59680116739987729c5fecfdb55715
379
379
  pp (0.6.4) sha256=dfcb0fce700c41456265922884f9fe195d7fbb0674a3578e6c0f69588e82b570
380
380
  prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
381
381
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
382
382
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
383
- rack (2.2.23) sha256=a8fe9d7e07064770b8ec123663fded8a59ef7e2b6db5cda7173d45a5718ab69c
383
+ rack (2.2.24) sha256=ef16526a0d871c43753452338c754040a664c8b41bf0dd7450b85f7772adca5f
384
384
  rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
385
385
  rackup (1.0.1) sha256=ba86604a28989fe1043bff20d819b360944ca08156406812dca6742b24b3c249
386
386
  rails (7.0.10) sha256=866eb2c53d3184543fdb770d7ea308e4ee518063226a9e176229f3c7a9537c25
387
387
  rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
388
- rails-html-sanitizer (1.7.0) sha256=28b145cceaf9cc214a9874feaa183c3acba036c9592b19886e0e45efc62b1e89
388
+ rails-html-sanitizer (1.7.1) sha256=e797a7c9b01e567307e317c576b49ab4168017e63eea4dba9ce3cb587e2f22c2
389
389
  railties (7.0.10) sha256=d52a8b7a61ad941121a15a6596b2150e05c70b199c3afc9e9b73e63b3b1a57a7
390
390
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
391
391
  rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
392
- rbs (4.0.3) sha256=5a7bf70e2628549d9a1f44eae447b2cfe55968a9c60cfff52693a4bdcc020e14
392
+ rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
393
393
  rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
394
394
  regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
395
- reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
395
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
396
396
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
397
397
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
398
398
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
399
399
  rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
400
400
  rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
401
- rubocop (1.87.0) sha256=b9d9ddf55116a513f8ef2c7ae660662d8b49301f118d3f0df61865b33a5c188d
401
+ rubocop (1.88.2) sha256=8def251c90cd955feb4daa3edc0ab56893250c4ce90ef81e6c80c03f9a939bbf
402
402
  rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
403
403
  rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
404
404
  rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
405
405
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
406
406
  securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
407
- simplecov (1.0.1) sha256=419d93c40484159d20b40e26e9a83cdd4c3afa2f3fd443bb8946c301cd658d75
407
+ simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
408
408
  sqlite3 (1.7.3) sha256=fa77f63c709548f46d4e9b6bb45cda52aa3881aa12cc85991132758e8968701c
409
- standard (1.55.0) sha256=8a8f2c3e681a4db3aafde1b301561b0f3d7c5f06c160167cb744a4d7baf0426e
409
+ standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
410
410
  standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
411
411
  standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
412
412
  thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
@@ -418,7 +418,7 @@ CHECKSUMS
418
418
  webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131
419
419
  websocket-driver (0.8.2) sha256=97c556b019bf3410b4961002ac501621e9322d3f8a7bc02161a09301cc4c4146
420
420
  websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
421
- zeitwerk (2.8.2) sha256=7212a61311083c604184b1ea2574b9aa05cd14f855a0841c06985cabe9181d12
421
+ zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
422
422
 
423
423
  BUNDLED WITH
424
424
  4.0.5
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- e2e (0.7.1)
4
+ e2e (0.7.2)
5
5
  playwright-ruby-client (>= 1.40.0)
6
6
  rack
7
7
  rackup
@@ -111,7 +111,7 @@ GEM
111
111
  activesupport (>= 6.1)
112
112
  i18n (1.15.2)
113
113
  concurrent-ruby (~> 1.0)
114
- io-console (0.8.2)
114
+ io-console (0.9.2)
115
115
  irb (1.18.0)
116
116
  pp (>= 0.6.0)
117
117
  prism (>= 1.3.0)
@@ -180,7 +180,7 @@ GEM
180
180
  prettyprint (0.2.0)
181
181
  prism (1.9.0)
182
182
  racc (1.8.1)
183
- rack (3.2.6)
183
+ rack (3.2.7)
184
184
  rack-session (2.1.2)
185
185
  base64 (>= 0.1.0)
186
186
  rack (>= 3.0.0)
@@ -221,7 +221,7 @@ GEM
221
221
  zeitwerk (~> 2.6)
222
222
  rainbow (3.1.1)
223
223
  rake (13.4.2)
224
- rbs (4.1.2)
224
+ rbs (4.1.3)
225
225
  logger
226
226
  prism (>= 1.6.0)
227
227
  tsort
@@ -231,7 +231,7 @@ GEM
231
231
  rbs (>= 4.0.0)
232
232
  tsort
233
233
  regexp_parser (2.12.0)
234
- reline (0.6.3)
234
+ reline (0.7.0)
235
235
  io-console (~> 0.5)
236
236
  rspec (3.13.2)
237
237
  rspec-core (~> 3.13.0)
@@ -270,15 +270,15 @@ GEM
270
270
  rubocop (~> 1.86, >= 1.86.2)
271
271
  ruby-progressbar (1.13.0)
272
272
  securerandom (0.4.1)
273
- simplecov (1.0.3)
274
- sqlite3 (2.9.5-aarch64-linux-gnu)
275
- sqlite3 (2.9.5-aarch64-linux-musl)
276
- sqlite3 (2.9.5-arm-linux-gnu)
277
- sqlite3 (2.9.5-arm-linux-musl)
278
- sqlite3 (2.9.5-arm64-darwin)
279
- sqlite3 (2.9.5-x86_64-darwin)
280
- sqlite3 (2.9.5-x86_64-linux-gnu)
281
- sqlite3 (2.9.5-x86_64-linux-musl)
273
+ simplecov (1.1.1)
274
+ sqlite3 (2.9.6-aarch64-linux-gnu)
275
+ sqlite3 (2.9.6-aarch64-linux-musl)
276
+ sqlite3 (2.9.6-arm-linux-gnu)
277
+ sqlite3 (2.9.6-arm-linux-musl)
278
+ sqlite3 (2.9.6-arm64-darwin)
279
+ sqlite3 (2.9.6-x86_64-darwin)
280
+ sqlite3 (2.9.6-x86_64-linux-gnu)
281
+ sqlite3 (2.9.6-x86_64-linux-musl)
282
282
  standard (1.56.0)
283
283
  language_server-protocol (~> 3.17.0.2)
284
284
  lint_roller (~> 1.0)
@@ -357,12 +357,12 @@ CHECKSUMS
357
357
  date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
358
358
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
359
359
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
360
- e2e (0.7.1)
360
+ e2e (0.7.2)
361
361
  erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
362
362
  erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
363
363
  globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
364
364
  i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
365
- io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
365
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
366
366
  irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
367
367
  json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
368
368
  language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
@@ -397,7 +397,7 @@ CHECKSUMS
397
397
  prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
398
398
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
399
399
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
400
- rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
400
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
401
401
  rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
402
402
  rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
403
403
  rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
@@ -407,10 +407,10 @@ CHECKSUMS
407
407
  railties (7.1.6) sha256=2a10e97f2eaca66d11f0fef4b1f4d826e6ee28d4cf01ff16624420dd45e7de1c
408
408
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
409
409
  rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
410
- rbs (4.1.2) sha256=050eb1d8b508f1233bed929c0f2c7052302f7adf295230d9cb314e9024078f48
410
+ rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
411
411
  rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
412
412
  regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
413
- reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
413
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
414
414
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
415
415
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
416
416
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
@@ -422,15 +422,15 @@ CHECKSUMS
422
422
  rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
423
423
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
424
424
  securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
425
- simplecov (1.0.3) sha256=38ef0514f16ae7562f0d0f4df02610071115103d301b6de7dacbcc000082e39b
426
- sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc
427
- sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d
428
- sqlite3 (2.9.5-arm-linux-gnu) sha256=1bdfca0c7d63998c60b0f4a8e3c8df2d33800ccc4abd2d612eddbbbc92a4c48b
429
- sqlite3 (2.9.5-arm-linux-musl) sha256=bae1109d12b2e9f588455967729b008e1ff4feb7761749df695019c9079913c6
430
- sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2
431
- sqlite3 (2.9.5-x86_64-darwin) sha256=8e9caae38bd7ebb29cbeee3e7ab1d12dc2327d9a1b92c7fcf0dda05589627a81
432
- sqlite3 (2.9.5-x86_64-linux-gnu) sha256=233dbcb6714148dd23bc5aeb33e8efd6eac974969564ddd5794c23d5f52b231e
433
- sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2
425
+ simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
426
+ sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
427
+ sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
428
+ sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
429
+ sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
430
+ sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
431
+ sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
432
+ sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
433
+ sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
434
434
  standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
435
435
  standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
436
436
  standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- e2e (0.7.1)
4
+ e2e (0.7.2)
5
5
  playwright-ruby-client (>= 1.40.0)
6
6
  rack
7
7
  rackup
@@ -105,7 +105,7 @@ GEM
105
105
  activesupport (>= 6.1)
106
106
  i18n (1.15.2)
107
107
  concurrent-ruby (~> 1.0)
108
- io-console (0.8.2)
108
+ io-console (0.9.2)
109
109
  irb (1.18.0)
110
110
  pp (>= 0.6.0)
111
111
  prism (>= 1.3.0)
@@ -173,7 +173,7 @@ GEM
173
173
  prettyprint (0.2.0)
174
174
  prism (1.9.0)
175
175
  racc (1.8.1)
176
- rack (3.2.6)
176
+ rack (3.2.7)
177
177
  rack-session (2.1.2)
178
178
  base64 (>= 0.1.0)
179
179
  rack (>= 3.0.0)
@@ -214,7 +214,7 @@ GEM
214
214
  zeitwerk (~> 2.6)
215
215
  rainbow (3.1.1)
216
216
  rake (13.4.2)
217
- rbs (4.1.2)
217
+ rbs (4.1.3)
218
218
  logger
219
219
  prism (>= 1.6.0)
220
220
  tsort
@@ -224,7 +224,7 @@ GEM
224
224
  rbs (>= 4.0.0)
225
225
  tsort
226
226
  regexp_parser (2.12.0)
227
- reline (0.6.3)
227
+ reline (0.7.0)
228
228
  io-console (~> 0.5)
229
229
  rspec (3.13.2)
230
230
  rspec-core (~> 3.13.0)
@@ -263,15 +263,15 @@ GEM
263
263
  rubocop (~> 1.86, >= 1.86.2)
264
264
  ruby-progressbar (1.13.0)
265
265
  securerandom (0.4.1)
266
- simplecov (1.0.3)
267
- sqlite3 (2.9.5-aarch64-linux-gnu)
268
- sqlite3 (2.9.5-aarch64-linux-musl)
269
- sqlite3 (2.9.5-arm-linux-gnu)
270
- sqlite3 (2.9.5-arm-linux-musl)
271
- sqlite3 (2.9.5-arm64-darwin)
272
- sqlite3 (2.9.5-x86_64-darwin)
273
- sqlite3 (2.9.5-x86_64-linux-gnu)
274
- sqlite3 (2.9.5-x86_64-linux-musl)
266
+ simplecov (1.1.1)
267
+ sqlite3 (2.9.6-aarch64-linux-gnu)
268
+ sqlite3 (2.9.6-aarch64-linux-musl)
269
+ sqlite3 (2.9.6-arm-linux-gnu)
270
+ sqlite3 (2.9.6-arm-linux-musl)
271
+ sqlite3 (2.9.6-arm64-darwin)
272
+ sqlite3 (2.9.6-x86_64-darwin)
273
+ sqlite3 (2.9.6-x86_64-linux-gnu)
274
+ sqlite3 (2.9.6-x86_64-linux-musl)
275
275
  standard (1.56.0)
276
276
  language_server-protocol (~> 3.17.0.2)
277
277
  lint_roller (~> 1.0)
@@ -351,12 +351,12 @@ CHECKSUMS
351
351
  date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
352
352
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
353
353
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
354
- e2e (0.7.1)
354
+ e2e (0.7.2)
355
355
  erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
356
356
  erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
357
357
  globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
358
358
  i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
359
- io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
359
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
360
360
  irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
361
361
  json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
362
362
  language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
@@ -390,7 +390,7 @@ CHECKSUMS
390
390
  prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
391
391
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
392
392
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
393
- rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
393
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
394
394
  rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
395
395
  rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
396
396
  rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
@@ -400,10 +400,10 @@ CHECKSUMS
400
400
  railties (7.2.3) sha256=6eb010a6bfe6f223e783f739ddfcbdb5b88b1f3a87f7739f0a0685e466250422
401
401
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
402
402
  rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
403
- rbs (4.1.2) sha256=050eb1d8b508f1233bed929c0f2c7052302f7adf295230d9cb314e9024078f48
403
+ rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
404
404
  rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
405
405
  regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
406
- reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
406
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
407
407
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
408
408
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
409
409
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
@@ -415,15 +415,15 @@ CHECKSUMS
415
415
  rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
416
416
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
417
417
  securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
418
- simplecov (1.0.3) sha256=38ef0514f16ae7562f0d0f4df02610071115103d301b6de7dacbcc000082e39b
419
- sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc
420
- sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d
421
- sqlite3 (2.9.5-arm-linux-gnu) sha256=1bdfca0c7d63998c60b0f4a8e3c8df2d33800ccc4abd2d612eddbbbc92a4c48b
422
- sqlite3 (2.9.5-arm-linux-musl) sha256=bae1109d12b2e9f588455967729b008e1ff4feb7761749df695019c9079913c6
423
- sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2
424
- sqlite3 (2.9.5-x86_64-darwin) sha256=8e9caae38bd7ebb29cbeee3e7ab1d12dc2327d9a1b92c7fcf0dda05589627a81
425
- sqlite3 (2.9.5-x86_64-linux-gnu) sha256=233dbcb6714148dd23bc5aeb33e8efd6eac974969564ddd5794c23d5f52b231e
426
- sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2
418
+ simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
419
+ sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
420
+ sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
421
+ sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
422
+ sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
423
+ sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
424
+ sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
425
+ sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
426
+ sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
427
427
  standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
428
428
  standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
429
429
  standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- e2e (0.7.1)
4
+ e2e (0.7.2)
5
5
  playwright-ruby-client (>= 1.40.0)
6
6
  rack
7
7
  rackup
@@ -102,7 +102,7 @@ GEM
102
102
  activesupport (>= 6.1)
103
103
  i18n (1.15.2)
104
104
  concurrent-ruby (~> 1.0)
105
- io-console (0.8.2)
105
+ io-console (0.9.2)
106
106
  irb (1.18.0)
107
107
  pp (>= 0.6.0)
108
108
  prism (>= 1.3.0)
@@ -170,7 +170,7 @@ GEM
170
170
  prettyprint (0.2.0)
171
171
  prism (1.9.0)
172
172
  racc (1.8.1)
173
- rack (3.2.6)
173
+ rack (3.2.7)
174
174
  rack-session (2.1.2)
175
175
  base64 (>= 0.1.0)
176
176
  rack (>= 3.0.0)
@@ -210,7 +210,7 @@ GEM
210
210
  zeitwerk (~> 2.6)
211
211
  rainbow (3.1.1)
212
212
  rake (13.4.2)
213
- rbs (4.1.2)
213
+ rbs (4.1.3)
214
214
  logger
215
215
  prism (>= 1.6.0)
216
216
  tsort
@@ -220,7 +220,7 @@ GEM
220
220
  rbs (>= 4.0.0)
221
221
  tsort
222
222
  regexp_parser (2.12.0)
223
- reline (0.6.3)
223
+ reline (0.7.0)
224
224
  io-console (~> 0.5)
225
225
  rspec (3.13.2)
226
226
  rspec-core (~> 3.13.0)
@@ -259,15 +259,15 @@ GEM
259
259
  rubocop (~> 1.86, >= 1.86.2)
260
260
  ruby-progressbar (1.13.0)
261
261
  securerandom (0.4.1)
262
- simplecov (1.0.3)
263
- sqlite3 (2.9.5-aarch64-linux-gnu)
264
- sqlite3 (2.9.5-aarch64-linux-musl)
265
- sqlite3 (2.9.5-arm-linux-gnu)
266
- sqlite3 (2.9.5-arm-linux-musl)
267
- sqlite3 (2.9.5-arm64-darwin)
268
- sqlite3 (2.9.5-x86_64-darwin)
269
- sqlite3 (2.9.5-x86_64-linux-gnu)
270
- sqlite3 (2.9.5-x86_64-linux-musl)
262
+ simplecov (1.1.1)
263
+ sqlite3 (2.9.6-aarch64-linux-gnu)
264
+ sqlite3 (2.9.6-aarch64-linux-musl)
265
+ sqlite3 (2.9.6-arm-linux-gnu)
266
+ sqlite3 (2.9.6-arm-linux-musl)
267
+ sqlite3 (2.9.6-arm64-darwin)
268
+ sqlite3 (2.9.6-x86_64-darwin)
269
+ sqlite3 (2.9.6-x86_64-linux-gnu)
270
+ sqlite3 (2.9.6-x86_64-linux-musl)
271
271
  standard (1.56.0)
272
272
  language_server-protocol (~> 3.17.0.2)
273
273
  lint_roller (~> 1.0)
@@ -347,12 +347,12 @@ CHECKSUMS
347
347
  date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
348
348
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
349
349
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
350
- e2e (0.7.1)
350
+ e2e (0.7.2)
351
351
  erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
352
352
  erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
353
353
  globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
354
354
  i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
355
- io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
355
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
356
356
  irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
357
357
  json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
358
358
  language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
@@ -386,7 +386,7 @@ CHECKSUMS
386
386
  prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
387
387
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
388
388
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
389
- rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
389
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
390
390
  rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
391
391
  rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
392
392
  rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
@@ -396,10 +396,10 @@ CHECKSUMS
396
396
  railties (8.0.5.1) sha256=da1958e1d9dab04691a2f8721b3ff7fab323715d37f103c19972dedfd644d5c7
397
397
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
398
398
  rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
399
- rbs (4.1.2) sha256=050eb1d8b508f1233bed929c0f2c7052302f7adf295230d9cb314e9024078f48
399
+ rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
400
400
  rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
401
401
  regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
402
- reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
402
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
403
403
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
404
404
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
405
405
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
@@ -411,15 +411,15 @@ CHECKSUMS
411
411
  rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
412
412
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
413
413
  securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
414
- simplecov (1.0.3) sha256=38ef0514f16ae7562f0d0f4df02610071115103d301b6de7dacbcc000082e39b
415
- sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc
416
- sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d
417
- sqlite3 (2.9.5-arm-linux-gnu) sha256=1bdfca0c7d63998c60b0f4a8e3c8df2d33800ccc4abd2d612eddbbbc92a4c48b
418
- sqlite3 (2.9.5-arm-linux-musl) sha256=bae1109d12b2e9f588455967729b008e1ff4feb7761749df695019c9079913c6
419
- sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2
420
- sqlite3 (2.9.5-x86_64-darwin) sha256=8e9caae38bd7ebb29cbeee3e7ab1d12dc2327d9a1b92c7fcf0dda05589627a81
421
- sqlite3 (2.9.5-x86_64-linux-gnu) sha256=233dbcb6714148dd23bc5aeb33e8efd6eac974969564ddd5794c23d5f52b231e
422
- sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2
414
+ simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
415
+ sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
416
+ sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
417
+ sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
418
+ sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
419
+ sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
420
+ sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
421
+ sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
422
+ sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
423
423
  standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
424
424
  standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
425
425
  standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- e2e (0.7.1)
4
+ e2e (0.7.2)
5
5
  playwright-ruby-client (>= 1.40.0)
6
6
  rack
7
7
  rackup
@@ -104,7 +104,7 @@ GEM
104
104
  activesupport (>= 6.1)
105
105
  i18n (1.15.2)
106
106
  concurrent-ruby (~> 1.0)
107
- io-console (0.8.2)
107
+ io-console (0.9.2)
108
108
  irb (1.18.0)
109
109
  pp (>= 0.6.0)
110
110
  prism (>= 1.3.0)
@@ -172,7 +172,7 @@ GEM
172
172
  prettyprint (0.2.0)
173
173
  prism (1.9.0)
174
174
  racc (1.8.1)
175
- rack (3.2.6)
175
+ rack (3.2.7)
176
176
  rack-session (2.1.2)
177
177
  base64 (>= 0.1.0)
178
178
  rack (>= 3.0.0)
@@ -212,7 +212,7 @@ GEM
212
212
  zeitwerk (~> 2.6)
213
213
  rainbow (3.1.1)
214
214
  rake (13.4.2)
215
- rbs (4.1.2)
215
+ rbs (4.1.3)
216
216
  logger
217
217
  prism (>= 1.6.0)
218
218
  tsort
@@ -222,7 +222,7 @@ GEM
222
222
  rbs (>= 4.0.0)
223
223
  tsort
224
224
  regexp_parser (2.12.0)
225
- reline (0.6.3)
225
+ reline (0.7.0)
226
226
  io-console (~> 0.5)
227
227
  rspec (3.13.2)
228
228
  rspec-core (~> 3.13.0)
@@ -261,15 +261,15 @@ GEM
261
261
  rubocop (~> 1.86, >= 1.86.2)
262
262
  ruby-progressbar (1.13.0)
263
263
  securerandom (0.4.1)
264
- simplecov (1.0.3)
265
- sqlite3 (2.9.5-aarch64-linux-gnu)
266
- sqlite3 (2.9.5-aarch64-linux-musl)
267
- sqlite3 (2.9.5-arm-linux-gnu)
268
- sqlite3 (2.9.5-arm-linux-musl)
269
- sqlite3 (2.9.5-arm64-darwin)
270
- sqlite3 (2.9.5-x86_64-darwin)
271
- sqlite3 (2.9.5-x86_64-linux-gnu)
272
- sqlite3 (2.9.5-x86_64-linux-musl)
264
+ simplecov (1.1.1)
265
+ sqlite3 (2.9.6-aarch64-linux-gnu)
266
+ sqlite3 (2.9.6-aarch64-linux-musl)
267
+ sqlite3 (2.9.6-arm-linux-gnu)
268
+ sqlite3 (2.9.6-arm-linux-musl)
269
+ sqlite3 (2.9.6-arm64-darwin)
270
+ sqlite3 (2.9.6-x86_64-darwin)
271
+ sqlite3 (2.9.6-x86_64-linux-gnu)
272
+ sqlite3 (2.9.6-x86_64-linux-musl)
273
273
  standard (1.56.0)
274
274
  language_server-protocol (~> 3.17.0.2)
275
275
  lint_roller (~> 1.0)
@@ -349,12 +349,12 @@ CHECKSUMS
349
349
  date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
350
350
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
351
351
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
352
- e2e (0.7.1)
352
+ e2e (0.7.2)
353
353
  erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
354
354
  erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
355
355
  globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
356
356
  i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
357
- io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
357
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
358
358
  irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
359
359
  json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
360
360
  language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
@@ -388,7 +388,7 @@ CHECKSUMS
388
388
  prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
389
389
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
390
390
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
391
- rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
391
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
392
392
  rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
393
393
  rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
394
394
  rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
@@ -398,10 +398,10 @@ CHECKSUMS
398
398
  railties (8.1.3.1) sha256=2388a232579a00cefea4487de66c8553c3408c1300abdc6cf1799d86ffb04487
399
399
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
400
400
  rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
401
- rbs (4.1.2) sha256=050eb1d8b508f1233bed929c0f2c7052302f7adf295230d9cb314e9024078f48
401
+ rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
402
402
  rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
403
403
  regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
404
- reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
404
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
405
405
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
406
406
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
407
407
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
@@ -413,15 +413,15 @@ CHECKSUMS
413
413
  rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
414
414
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
415
415
  securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
416
- simplecov (1.0.3) sha256=38ef0514f16ae7562f0d0f4df02610071115103d301b6de7dacbcc000082e39b
417
- sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc
418
- sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d
419
- sqlite3 (2.9.5-arm-linux-gnu) sha256=1bdfca0c7d63998c60b0f4a8e3c8df2d33800ccc4abd2d612eddbbbc92a4c48b
420
- sqlite3 (2.9.5-arm-linux-musl) sha256=bae1109d12b2e9f588455967729b008e1ff4feb7761749df695019c9079913c6
421
- sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2
422
- sqlite3 (2.9.5-x86_64-darwin) sha256=8e9caae38bd7ebb29cbeee3e7ab1d12dc2327d9a1b92c7fcf0dda05589627a81
423
- sqlite3 (2.9.5-x86_64-linux-gnu) sha256=233dbcb6714148dd23bc5aeb33e8efd6eac974969564ddd5794c23d5f52b231e
424
- sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2
416
+ simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
417
+ sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
418
+ sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
419
+ sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
420
+ sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
421
+ sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
422
+ sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
423
+ sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
424
+ sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
425
425
  standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
426
426
  standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
427
427
  standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
data/lib/e2e/minitest.rb CHANGED
@@ -10,6 +10,11 @@ module E2E
10
10
  include E2E::DSL
11
11
  include E2E::Assertions
12
12
 
13
+ def before_setup
14
+ E2E::ViteAssets.ensure_built!
15
+ super
16
+ end
17
+
13
18
  def teardown
14
19
  take_failed_screenshot if !passed? && !skipped?
15
20
 
data/lib/e2e/rspec.rb CHANGED
@@ -10,6 +10,10 @@ require_relative "matchers"
10
10
  RSpec.configure do |config|
11
11
  config.include E2E::DSL, type: :e2e
12
12
 
13
+ config.before(:suite) do
14
+ E2E::ViteAssets.ensure_built!
15
+ end
16
+
13
17
  config.after(:each, type: :e2e) do |example|
14
18
  if example.exception
15
19
  # Create tmp/screenshots directory if it doesn't exist
data/lib/e2e/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module E2E
4
- VERSION = "0.7.1"
4
+ VERSION = "0.7.2"
5
5
  end
@@ -0,0 +1,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "fileutils"
4
+ require "pathname"
5
+
6
+ module E2E
7
+ # Ensures ViteRuby test assets are built before the e2e suite runs.
8
+ #
9
+ # ViteRuby::Builder skips compile when the watched-files digest is unchanged,
10
+ # so calling this on every suite start is cheap when assets are fresh.
11
+ #
12
+ # A flock serializes builders across processes (e.g. accidental parallel e2e).
13
+ module ViteAssets
14
+ LOCK_NAME = "e2e-vite-test-build.lock"
15
+ SKIP_ENV = "SKIP_VITE_TEST_BUILD"
16
+
17
+ class << self
18
+ def ensure_built!
19
+ return if ENV[SKIP_ENV] == "1"
20
+ return if done?
21
+
22
+ mode = normalize_mode(E2E.config.ensure_vite_assets)
23
+ return mark_done! if mode == :skip
24
+
25
+ with_lock do
26
+ return if done?
27
+
28
+ case mode
29
+ when :auto
30
+ ensure_auto!
31
+ when :build
32
+ ensure_required!
33
+ when :warn
34
+ ensure_warn!
35
+ end
36
+
37
+ mark_done!
38
+ end
39
+ end
40
+
41
+ def reset!
42
+ @done = false
43
+ end
44
+
45
+ def project_root
46
+ if defined?(Rails) && Rails.respond_to?(:root) && Rails.root
47
+ Pathname(Rails.root)
48
+ else
49
+ Pathname.pwd
50
+ end
51
+ end
52
+
53
+ private
54
+
55
+ def done?
56
+ @done
57
+ end
58
+
59
+ def mark_done!
60
+ @done = true
61
+ end
62
+
63
+ def normalize_mode(value)
64
+ case value
65
+ when :auto, :build, :warn, :skip then value
66
+ when true then :build
67
+ when false, nil then :skip
68
+ else
69
+ raise E2E::Error, "Unknown ensure_vite_assets=#{value.inspect} (expected :auto, :build, :warn, :skip)"
70
+ end
71
+ end
72
+
73
+ def vite_ruby_loaded?
74
+ defined?(ViteRuby)
75
+ end
76
+
77
+ def ensure_auto!
78
+ return unless vite_ruby_loaded?
79
+
80
+ build_or_raise!
81
+ end
82
+
83
+ def ensure_required!
84
+ unless vite_ruby_loaded?
85
+ raise E2E::Error, <<~MSG.chomp
86
+ ViteRuby is not loaded, but E2E.config.ensure_vite_assets = :build.
87
+ Add vite_rails / vite_ruby, or set ensure_vite_assets to :skip / :auto.
88
+ MSG
89
+ end
90
+
91
+ build_or_raise!
92
+ end
93
+
94
+ def ensure_warn!
95
+ return warn_missing_vite_ruby unless vite_ruby_loaded?
96
+
97
+ return if ViteRuby.commands.build
98
+
99
+ warn <<~MSG
100
+ [E2E] Vite test asset build failed.
101
+ Run: bin/vite build --mode=test
102
+ Or set #{SKIP_ENV}=1 / E2E.config.ensure_vite_assets = :skip
103
+ MSG
104
+ end
105
+
106
+ def warn_missing_vite_ruby
107
+ warn "[E2E] ensure_vite_assets=:warn but ViteRuby is not loaded; skipping."
108
+ end
109
+
110
+ def build_or_raise!
111
+ return if ViteRuby.commands.build
112
+
113
+ raise E2E::Error, <<~MSG.chomp
114
+ Vite test asset build failed.
115
+ Run: bin/vite build --mode=test
116
+ Or set #{SKIP_ENV}=1 to skip (not recommended for Inertia/Vite apps).
117
+ MSG
118
+ end
119
+
120
+ def with_lock
121
+ lock_path = project_root.join("tmp", LOCK_NAME)
122
+ FileUtils.mkdir_p(lock_path.dirname)
123
+
124
+ File.open(lock_path, File::RDWR | File::CREAT, 0o644) do |lock|
125
+ lock.flock(File::LOCK_EX)
126
+ yield
127
+ ensure
128
+ lock.flock(File::LOCK_UN)
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
data/lib/e2e.rb CHANGED
@@ -7,6 +7,7 @@ require_relative "e2e/session"
7
7
  require_relative "e2e/dsl"
8
8
  require_relative "e2e/element"
9
9
  require_relative "e2e/rails"
10
+ require_relative "e2e/vite_assets"
10
11
  require_relative "e2e/drivers/playwright"
11
12
 
12
13
  module E2E
@@ -67,7 +68,7 @@ module E2E
67
68
  }.freeze
68
69
 
69
70
  attr_accessor :driver, :headless, :app, :browser_type, :wait_timeout, :flash_selectors,
70
- :navigation_timeout, :navigation_wait_until
71
+ :navigation_timeout, :navigation_wait_until, :ensure_vite_assets
71
72
 
72
73
  def initialize
73
74
  @driver = :playwright
@@ -80,6 +81,8 @@ module E2E
80
81
  @navigation_wait_until = "domcontentloaded"
81
82
  @navigation_timeout = 30
82
83
  @flash_selectors = DEFAULT_FLASH_SELECTORS.dup
84
+ # :auto builds when ViteRuby is loaded; :build requires it; :warn / :skip
85
+ @ensure_vite_assets = :auto
83
86
  end
84
87
  end
85
88
  end
@@ -68,6 +68,9 @@ module E2e
68
68
  E2E.configure do |config|
69
69
  config.app = Rails.application
70
70
  config.headless = ENV.fetch("HEADLESS", "true") == "true"
71
+ # :auto builds Vite test assets when ViteRuby is loaded (Inertia/Vite apps).
72
+ # Options: :auto, :build, :warn, :skip — or SKIP_VITE_TEST_BUILD=1
73
+ config.ensure_vite_assets = :auto
71
74
  end
72
75
 
73
76
  # If you want to use transactional tests (faster), enable shared connection:
@@ -89,6 +92,9 @@ module E2e
89
92
  E2E.configure do |config|
90
93
  config.app = Rails.application
91
94
  config.headless = ENV.fetch("HEADLESS", "true") == "true"
95
+ # :auto builds Vite test assets when ViteRuby is loaded (Inertia/Vite apps).
96
+ # Options: :auto, :build, :warn, :skip — or SKIP_VITE_TEST_BUILD=1
97
+ config.ensure_vite_assets = :auto
92
98
  end
93
99
 
94
100
  # If you want to use transactional tests (faster), enable shared connection:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: e2e
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Poimtsev
@@ -258,6 +258,7 @@ files:
258
258
  - lib/e2e/server.rb
259
259
  - lib/e2e/session.rb
260
260
  - lib/e2e/version.rb
261
+ - lib/e2e/vite_assets.rb
261
262
  - lib/generators/e2e/install_generator.rb
262
263
  - lib/generators/e2e/templates/minitest_test.rb.erb
263
264
  - lib/generators/e2e/templates/rspec_test.rb.erb