e2e 0.4.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/e2e/minitest.rb CHANGED
@@ -2,11 +2,13 @@
2
2
 
3
3
  require "minitest"
4
4
  require "e2e"
5
+ require_relative "assertions"
5
6
 
6
7
  module E2E
7
8
  module Minitest
8
9
  class TestCase < ::Minitest::Test
9
10
  include E2E::DSL
11
+ include E2E::Assertions
10
12
 
11
13
  def teardown
12
14
  take_failed_screenshot if !passed? && !skipped?
@@ -22,16 +24,24 @@ module E2E
22
24
  screenshots_dir = File.expand_path("tmp/screenshots", Dir.pwd)
23
25
  FileUtils.mkdir_p(screenshots_dir)
24
26
 
25
- name = "#{self.class.name}_#{name}".gsub(/[^0-9A-Za-z]/, "_")
27
+ name = "#{self.class.name}_#{self.name}".gsub(/[^0-9A-Za-z]/, "_")
26
28
  path = File.join(screenshots_dir, "#{name}.png")
27
29
 
28
30
  begin
29
- save_screenshot(path) # rubocop:disable Lint/Debugger
30
- puts "\n[E2E] Screenshot saved to #{path}"
31
+ # rubocop:disable Lint/Debugger
32
+ save_screenshot(path)
33
+ # rubocop:enable Lint/Debugger
34
+ puts "
35
+ [E2E] Screenshot saved to #{path}"
31
36
  rescue => e
32
- puts "\n[E2E] Failed to save screenshot: #{e.message}"
37
+ puts "
38
+ [E2E] Failed to save screenshot: #{e.message}"
33
39
  end
34
40
  end
35
41
  end
36
42
  end
37
43
  end
44
+
45
+ Minitest.after_run do
46
+ E2E.session.quit if E2E.instance_variable_get(:@session)
47
+ end
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.4.2"
4
+ VERSION = "0.6.0"
5
5
  end
data/lib/e2e.rb CHANGED
@@ -55,7 +55,13 @@ module E2E
55
55
  end
56
56
 
57
57
  class Config
58
- attr_accessor :driver, :headless, :app, :browser_type, :wait_timeout
58
+ DEFAULT_FLASH_SELECTORS = {
59
+ any: "[role='alert'], [role='status'], [data-flash], [data-testid*='flash'], .flash, .notice, .alert, .toast",
60
+ notice: "[role='status'], [data-flash-type='notice'], [data-flash='notice'], .flash.notice, .flash-success, .notice",
61
+ alert: "[role='alert'], [data-flash-type='alert'], [data-flash='alert'], .flash.alert, .flash-error, .alert"
62
+ }.freeze
63
+
64
+ attr_accessor :driver, :headless, :app, :browser_type, :wait_timeout, :flash_selectors
59
65
 
60
66
  def initialize
61
67
  @driver = :playwright
@@ -63,6 +69,7 @@ module E2E
63
69
  @headless = ENV.fetch("HEADLESS", "true") == "true"
64
70
  @app = nil
65
71
  @wait_timeout = 5
72
+ @flash_selectors = DEFAULT_FLASH_SELECTORS.dup
66
73
  end
67
74
  end
68
75
  end
@@ -5,6 +5,6 @@ require "e2e_helper"
5
5
  class <%= class_name %>Test < E2E::Minitest::TestCase
6
6
  def test_works
7
7
  visit "/"
8
- # assert_includes page.body, "Home"
8
+ assert_text "Home"
9
9
  end
10
- end
10
+ end
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.4.2
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Poimtsev
@@ -93,6 +93,20 @@ dependencies:
93
93
  - - ">="
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: minitest
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
96
110
  - !ruby/object:Gem::Dependency
97
111
  name: rake
98
112
  requirement: !ruby/object:Gem::Requirement
@@ -199,8 +213,11 @@ files:
199
213
  - gemfiles/rails_7.2.gemfile.lock
200
214
  - gemfiles/rails_8.0.gemfile
201
215
  - gemfiles/rails_8.0.gemfile.lock
216
+ - gemfiles/rails_8.1.gemfile
217
+ - gemfiles/rails_8.1.gemfile.lock
202
218
  - lefthook.yml
203
219
  - lib/e2e.rb
220
+ - lib/e2e/assertions.rb
204
221
  - lib/e2e/driver.rb
205
222
  - lib/e2e/drivers/playwright.rb
206
223
  - lib/e2e/dsl.rb