percy-appium-app 0.0.1 → 0.0.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.
data/specs/cache.rb CHANGED
@@ -5,52 +5,52 @@ require 'minitest/mock'
5
5
  require 'time'
6
6
  require_relative '../percy/lib/cache'
7
7
 
8
- # Test suite for the Cache class
8
+ # Test suite for the Percy::Cache class
9
9
  class TestCache < Minitest::Test
10
10
  def setup
11
- @cache = Cache.new
11
+ @cache = Percy::Cache.new
12
12
  @session_id = 'session_id_123'
13
13
  @prop = 'window_size'
14
14
  @value = { 'top' => 'Top Value' }
15
- Cache.set_cache(@session_id, @prop, @value)
15
+ Percy::Cache.set_cache(@session_id, @prop, @value)
16
16
  end
17
17
 
18
18
  def test_set_cache
19
- assert_raises(Exception) { Cache.set_cache(123, 123, 123) }
20
- assert_raises(Exception) { Cache.set_cache(@session_id, 123, 123) }
19
+ assert_raises(Exception) { Percy::Cache.set_cache(123, 123, 123) }
20
+ assert_raises(Exception) { Percy::Cache.set_cache(@session_id, 123, 123) }
21
21
 
22
22
  assert_includes @cache.cache, @session_id
23
23
  assert_equal @cache.cache[@session_id][@prop], @value
24
24
  end
25
25
 
26
26
  def test_get_cache_invalid_args
27
- assert_raises(Exception) { Cache.get_cache(123, 123) }
28
- assert_raises(Exception) { Cache.get_cache(@session_id, 123) }
27
+ assert_raises(Exception) { Percy::Cache.get_cache(123, 123) }
28
+ assert_raises(Exception) { Percy::Cache.get_cache(@session_id, 123) }
29
29
  end
30
30
 
31
31
  def test_get_cache_success
32
32
  mock_cleanup_cache = Minitest::Mock.new
33
33
  mock_cleanup_cache.expect(:call, nil)
34
34
 
35
- Cache.stub(:cleanup_cache, -> { mock_cleanup_cache.call }) do
36
- window_size = Cache.get_cache(@session_id, @prop)
35
+ Percy::Cache.stub(:cleanup_cache, -> { mock_cleanup_cache.call }) do
36
+ window_size = Percy::Cache.get_cache(@session_id, @prop)
37
37
  assert_equal @value, window_size
38
38
  mock_cleanup_cache.verify
39
39
  end
40
40
  end
41
41
 
42
42
  def test_cleanup_cache
43
- previous_value = Cache::CACHE_TIMEOUT
44
- Cache.send(:remove_const, :CACHE_TIMEOUT)
45
- Cache.const_set(:CACHE_TIMEOUT, 1)
43
+ previous_value = Percy::Cache::CACHE_TIMEOUT
44
+ Percy::Cache.send(:remove_const, :CACHE_TIMEOUT)
45
+ Percy::Cache.const_set(:CACHE_TIMEOUT, 1)
46
46
 
47
- cache_timeout = Cache::CACHE_TIMEOUT
47
+ cache_timeout = Percy::Cache::CACHE_TIMEOUT
48
48
  sleep(cache_timeout + 1)
49
49
  assert_includes @cache.cache, @session_id
50
- Cache.cleanup_cache
50
+ Percy::Cache.cleanup_cache
51
51
  refute_includes @cache.cache, @session_id
52
52
 
53
- Cache.send(:remove_const, :CACHE_TIMEOUT)
54
- Cache.const_set(:CACHE_TIMEOUT, previous_value)
53
+ Percy::Cache.send(:remove_const, :CACHE_TIMEOUT)
54
+ Percy::Cache.const_set(:CACHE_TIMEOUT, previous_value)
55
55
  end
56
56
  end
data/specs/cli_wrapper.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable Metrics/MethodLength
4
-
5
3
  require 'minitest/autorun'
6
4
  require 'webmock/minitest'
7
5
  require 'json'
@@ -18,10 +16,10 @@ def mock_poa_screenshot(fail: false)
18
16
  .to_return(body: "{\"success\": #{fail ? 'false, "error": "test"' : 'true'}}", status: (fail ? 500 : 200))
19
17
  end
20
18
 
21
- # Test suite for the CLIWrapper class
19
+ # Test suite for the Percy::CLIWrapper class
22
20
  class TestCLIWrapper < Minitest::Test
23
21
  def setup
24
- @cli_wrapper = CLIWrapper.new
22
+ @cli_wrapper = Percy::CLIWrapper.new
25
23
  @ignored_elements_data = {
26
24
  'ignore_elements_data' => {
27
25
  'selector' => 'xpath: some_xpath',
@@ -85,7 +83,7 @@ class TestCLIWrapper < Minitest::Test
85
83
  mock_screenshot
86
84
 
87
85
  assert_equal(
88
- @cli_wrapper.post_screenshots('some-name', {}, [Tile.new(10, 10, 20, 20, filepath: 'some-file-path')],
86
+ @cli_wrapper.post_screenshots('some-name', {}, [Percy::Tile.new(10, 10, 20, 20, filepath: 'some-file-path')],
89
87
  'some-debug-url'),
90
88
  { 'link' => 'snapshot-url-link', 'success' => true }
91
89
  )
@@ -95,14 +93,14 @@ class TestCLIWrapper < Minitest::Test
95
93
  mock_screenshot
96
94
 
97
95
  assert_equal(
98
- @cli_wrapper.post_screenshots('some-name', {}, [Tile.new(10, 10, 20, 20, filepath: 'some-file-path')],
96
+ @cli_wrapper.post_screenshots('some-name', {}, [Percy::Tile.new(10, 10, 20, 20, filepath: 'some-file-path')],
99
97
  'some-debug-url', @ignored_elements_data),
100
98
  { 'link' => 'snapshot-url-link', 'success' => true }
101
99
  )
102
100
  end
103
101
 
104
102
  def test_request_body
105
- tile = Tile.new(10, 10, 20, 20, filepath: 'some-file-path')
103
+ tile = Percy::Tile.new(10, 10, 20, 20, filepath: 'some-file-path')
106
104
  tag = { 'name' => 'Tag' }
107
105
  name = 'some-name'
108
106
  debug_url = 'debug-url'
@@ -117,7 +115,7 @@ class TestCLIWrapper < Minitest::Test
117
115
  end
118
116
 
119
117
  def test_request_body_when_optional_values_are_null
120
- tile = Tile.new(10, 10, 20, 20, filepath: 'some-file-path')
118
+ tile = Percy::Tile.new(10, 10, 20, 20, filepath: 'some-file-path')
121
119
  tag = { 'name' => 'Tag' }
122
120
  name = 'some-name'
123
121
  debug_url = nil
@@ -1,14 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable Metrics/MethodLength
4
-
5
3
  require 'minitest/autorun'
6
4
  require 'minitest/mock'
7
5
  require 'appium_lib'
8
6
 
9
7
  require_relative '../percy/metadata/driver_metadata'
10
8
 
11
- # Test suite for the DriverMetadata class
9
+ # Test suite for the Percy::DriverMetadata class
12
10
  class TestDriverMetadata < Minitest::Test
13
11
  def setup
14
12
  @mock_webdriver = Minitest::Mock.new
@@ -16,7 +14,7 @@ class TestDriverMetadata < Minitest::Test
16
14
  @bridge = Minitest::Mock.new
17
15
  @server_url = Minitest::Mock.new
18
16
 
19
- @metadata = DriverMetadata.new(@mock_webdriver)
17
+ @metadata = Percy::DriverMetadata.new(@mock_webdriver)
20
18
  end
21
19
 
22
20
  def test_session_id
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable Metrics/MethodLength
4
- # rubocop:disable Metrics/AbcSize
5
-
6
3
  require 'minitest/autorun'
7
4
  require 'securerandom'
8
5
  require 'appium_lib'
@@ -11,7 +8,7 @@ require_relative '../percy/metadata/android_metadata'
11
8
  require_relative '../percy/lib/region'
12
9
  require_relative 'mocks/mock_methods'
13
10
 
14
- # Test suite for the GenericProvider class
11
+ # Test suite for the Percy::GenericProvider class
15
12
  class TestGenericProvider < Minitest::Test
16
13
  include Appium
17
14
  COMPARISON_RESPONSE = { 'comparison' => { 'id' => 123, 'url' => 'https://percy-build-url' } }.freeze
@@ -31,8 +28,8 @@ class TestGenericProvider < Minitest::Test
31
28
  png_bytes = 'some random bytes'
32
29
  @mock_webdriver.expect(:screenshot_as, png_bytes, [:png])
33
30
 
34
- @android_metadata = AndroidMetadata.new(@mock_webdriver)
35
- @generic_provider = GenericProvider.new(@mock_webdriver, @android_metadata)
31
+ @android_metadata = Percy::AndroidMetadata.new(@mock_webdriver)
32
+ @generic_provider = Percy::GenericProvider.new(@mock_webdriver, @android_metadata)
36
33
  end
37
34
 
38
35
  def teardown
@@ -166,13 +163,13 @@ class TestGenericProvider < Minitest::Test
166
163
  @mock_webdriver.expect(:capabilities, get_android_capabilities)
167
164
  end
168
165
 
169
- Metadata.class_eval do
166
+ Percy::Metadata.class_eval do
170
167
  define_method(:session_id) do
171
168
  mock.session_id
172
169
  end
173
170
  end
174
171
 
175
- AndroidMetadata.class_eval do
172
+ Percy::AndroidMetadata.class_eval do
176
173
  6.times do
177
174
  define_method(:get_system_bars) do
178
175
  mock.get_system_bars
@@ -192,7 +189,7 @@ class TestGenericProvider < Minitest::Test
192
189
  end
193
190
 
194
191
  def test_supports
195
- assert GenericProvider.supports('some-dummy-url')
192
+ assert Percy::GenericProvider.supports('some-dummy-url')
196
193
  end
197
194
 
198
195
  def test_non_app_automate
@@ -202,7 +199,7 @@ class TestGenericProvider < Minitest::Test
202
199
  mock.expect(:session_id, session_id)
203
200
  end
204
201
 
205
- Metadata.class_eval do
202
+ Percy::Metadata.class_eval do
206
203
  4.times do
207
204
  define_method(:session_id) do
208
205
  mock.session_id
@@ -353,8 +350,8 @@ class TestGenericProvider < Minitest::Test
353
350
  @mock_webdriver.expect(:capabilities, get_android_capabilities)
354
351
  @mock_webdriver.expect(:capabilities, get_android_capabilities)
355
352
  @mock_webdriver.expect(:capabilities, get_android_capabilities)
356
- valid_ignore_region = Region.new(100, 200, 200, 300)
357
- invalid_ignore_region = Region.new(100, 2390, 200, 300)
353
+ valid_ignore_region = Percy::Region.new(100, 200, 200, 300)
354
+ invalid_ignore_region = Percy::Region.new(100, 2390, 200, 300)
358
355
 
359
356
  elements_array = []
360
357
  custom_locations = [valid_ignore_region, invalid_ignore_region]
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable Metrics/MethodLength
4
-
5
3
  require 'minitest/autorun'
6
4
  require_relative '../percy/lib/ignore_region'
7
5
 
@@ -12,7 +10,7 @@ class TestIgnoreRegion < Minitest::Test
12
10
  bottom = 20
13
11
  left = 30
14
12
  right = 40
15
- ignore_region = IgnoreRegion.new(top, bottom, left, right)
13
+ ignore_region = Percy::IgnoreRegion.new(top, bottom, left, right)
16
14
 
17
15
  assert_equal ignore_region.top, top
18
16
  assert_equal ignore_region.bottom, bottom
@@ -21,29 +19,29 @@ class TestIgnoreRegion < Minitest::Test
21
19
  end
22
20
 
23
21
  def test_ignore_region_negative_input
24
- assert_raises(ArgumentError) { IgnoreRegion.new(-10, 20, 30, 40) }
25
- assert_raises(ArgumentError) { IgnoreRegion.new(10, 20, -30, 40) }
26
- assert_raises(ArgumentError) { IgnoreRegion.new(10, 20, 30, -40) }
27
- assert_raises(ArgumentError) { IgnoreRegion.new(-10, -20, -30, -40) }
22
+ assert_raises(ArgumentError) { Percy::IgnoreRegion.new(-10, 20, 30, 40) }
23
+ assert_raises(ArgumentError) { Percy::IgnoreRegion.new(10, 20, -30, 40) }
24
+ assert_raises(ArgumentError) { Percy::IgnoreRegion.new(10, 20, 30, -40) }
25
+ assert_raises(ArgumentError) { Percy::IgnoreRegion.new(-10, -20, -30, -40) }
28
26
  end
29
27
 
30
28
  def test_ignore_region_invalid_input
31
- assert_raises(ArgumentError) { IgnoreRegion.new(20, 10, 30, 40) } # bottom < top
32
- assert_raises(ArgumentError) { IgnoreRegion.new(10, 20, 40, 30) } # right < left
29
+ assert_raises(ArgumentError) { Percy::IgnoreRegion.new(20, 10, 30, 40) } # bottom < top
30
+ assert_raises(ArgumentError) { Percy::IgnoreRegion.new(10, 20, 40, 30) } # right < left
33
31
  end
34
32
 
35
33
  def test_ignore_region_is_valid
36
- ignore_region = IgnoreRegion.new(10, 20, 30, 40)
34
+ ignore_region = Percy::IgnoreRegion.new(10, 20, 30, 40)
37
35
  screen_height = 100
38
36
  screen_width = 200
39
37
  assert_equal true, ignore_region.valid?(screen_height, screen_width)
40
38
 
41
- ignore_region = IgnoreRegion.new(10, 200, 30, 400)
39
+ ignore_region = Percy::IgnoreRegion.new(10, 200, 30, 400)
42
40
  height = 100
43
41
  width = 200
44
42
  assert_equal false, ignore_region.valid?(height, width)
45
43
 
46
- ignore_region = IgnoreRegion.new(10, 20, 30, 40)
44
+ ignore_region = Percy::IgnoreRegion.new(10, 20, 30, 40)
47
45
  screen_height = 5
48
46
  screen_width = 10
49
47
  assert_equal false, ignore_region.valid?(screen_height, screen_width)
@@ -5,14 +5,14 @@ require 'minitest/mock'
5
5
  require_relative 'mocks/mock_methods'
6
6
  require_relative '../percy/metadata/ios_metadata'
7
7
 
8
- # Test suite for the IOSMetadata class
8
+ # Test suite for the Percy::IOSMetadata class
9
9
  class TestIOSMetadata < Minitest::Test
10
10
  def setup
11
11
  @mock_webdriver = Minitest::Mock.new
12
12
  @bridge = Minitest::Mock.new
13
13
  @http = Minitest::Mock.new
14
14
  @server_url = Minitest::Mock.new
15
- @ios_metadata = IOSMetadata.new(@mock_webdriver)
15
+ @ios_metadata = Percy::IOSMetadata.new(@mock_webdriver)
16
16
  end
17
17
 
18
18
  def test_ios_execute_script
data/specs/metadata.rb CHANGED
@@ -1,16 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable Metrics/MethodLength
4
- # rubocop:disable Metrics/AbcSize
5
-
6
3
  require 'minitest/autorun'
7
4
  require_relative '../percy/metadata/metadata'
8
5
 
9
- # Test suite for the Metadata class
6
+ # Test suite for the Percy::Metadata class
10
7
  class TestMetadata < Minitest::Test
11
8
  def setup
12
9
  @mock_webdriver = Minitest::Mock.new
13
- @metadata = Metadata.new(@mock_webdriver)
10
+ @metadata = Percy::Metadata.new(@mock_webdriver)
14
11
  end
15
12
 
16
13
  def test_metadata_properties
@@ -6,7 +6,7 @@ require_relative '../percy/metadata/android_metadata'
6
6
  require_relative '../percy/metadata/ios_metadata'
7
7
  require_relative '../percy/metadata/metadata_resolver'
8
8
 
9
- # Test suite for the MetadataResolver class
9
+ # Test suite for the Percy::MetadataResolver class
10
10
  class MetadataResolverTestCase < Minitest::Test
11
11
  def setup
12
12
  @mock_webdriver = Minitest::Mock.new
@@ -15,17 +15,17 @@ class MetadataResolverTestCase < Minitest::Test
15
15
  def test_android_resolved
16
16
  @mock_webdriver.expect(:capabilities, { 'platformName' => 'Android' })
17
17
  @mock_webdriver.expect(:capabilities, { 'platformName' => 'Android' })
18
- resolved_metadata = MetadataResolver.resolve(@mock_webdriver)
18
+ resolved_metadata = Percy::MetadataResolver.resolve(@mock_webdriver)
19
19
 
20
- assert_instance_of(AndroidMetadata, resolved_metadata)
20
+ assert_instance_of(Percy::AndroidMetadata, resolved_metadata)
21
21
  @mock_webdriver.verify
22
22
  end
23
23
 
24
24
  def test_ios_resolved
25
25
  @mock_webdriver.expect(:capabilities, { 'platformName' => 'iOS' })
26
- resolved_metadata = MetadataResolver.resolve(@mock_webdriver)
26
+ resolved_metadata = Percy::MetadataResolver.resolve(@mock_webdriver)
27
27
 
28
- assert_instance_of(IOSMetadata, resolved_metadata)
28
+ assert_instance_of(Percy::IOSMetadata, resolved_metadata)
29
29
  @mock_webdriver.verify
30
30
  end
31
31
 
@@ -33,7 +33,7 @@ class MetadataResolverTestCase < Minitest::Test
33
33
  @mock_webdriver.expect(:capabilities, { 'platformName' => 'Something Random' })
34
34
 
35
35
  assert_raises(Exception) do
36
- MetadataResolver.resolve(@mock_webdriver)
36
+ Percy::MetadataResolver.resolve(@mock_webdriver)
37
37
  end
38
38
 
39
39
  @mock_webdriver.verify
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'json'
4
2
 
5
3
  def get_android_capabilities
@@ -4,110 +4,110 @@ require 'minitest/autorun'
4
4
  require 'minitest/mock'
5
5
  require_relative '../percy/lib/percy_options'
6
6
 
7
- # Test suite for the PercyOptions class
7
+ # Test suite for the Percy::PercyOptions class
8
8
  class TestPercyOptions < Minitest::Test
9
9
  # Defaults
10
10
  def test_percy_options_not_provided
11
11
  capabilities = {}
12
- percy_options = PercyOptions.new(capabilities)
12
+ percy_options = Percy::PercyOptions.new(capabilities)
13
13
  assert_equal true, percy_options.enabled
14
14
  assert_equal true, percy_options.ignore_errors
15
15
  end
16
16
 
17
17
  def test_percy_options_w3c_enabled
18
18
  capabilities = { 'percy:options' => { 'enabled' => true } }
19
- percy_options = PercyOptions.new(capabilities)
19
+ percy_options = Percy::PercyOptions.new(capabilities)
20
20
  assert_equal true, percy_options.enabled
21
21
  assert_equal true, percy_options.ignore_errors
22
22
  end
23
23
 
24
24
  def test_percy_options_json_wire_enabled
25
25
  capabilities = { 'percy.enabled' => true }
26
- percy_options = PercyOptions.new(capabilities)
26
+ percy_options = Percy::PercyOptions.new(capabilities)
27
27
  assert_equal true, percy_options.enabled
28
28
  assert_equal true, percy_options.ignore_errors
29
29
  end
30
30
 
31
31
  def test_percy_options_w3c_not_enabled
32
32
  capabilities = { 'percy:options' => { 'enabled' => false } }
33
- percy_options = PercyOptions.new(capabilities)
33
+ percy_options = Percy::PercyOptions.new(capabilities)
34
34
  assert_equal false, percy_options.enabled
35
35
  assert_equal true, percy_options.ignore_errors
36
36
  end
37
37
 
38
38
  def test_percy_options_json_wire_not_enabled
39
39
  capabilities = { 'percy.enabled' => false }
40
- percy_options = PercyOptions.new(capabilities)
40
+ percy_options = Percy::PercyOptions.new(capabilities)
41
41
  assert_equal false, percy_options.enabled
42
42
  assert_equal true, percy_options.ignore_errors
43
43
  end
44
44
 
45
45
  def test_percy_options_w3c_ignore_errors
46
46
  capabilities = { 'percy:options' => { 'ignoreErrors' => true } }
47
- percy_options = PercyOptions.new(capabilities)
47
+ percy_options = Percy::PercyOptions.new(capabilities)
48
48
  assert_equal true, percy_options.ignore_errors
49
49
  assert_equal true, percy_options.enabled
50
50
  end
51
51
 
52
52
  def test_percy_options_json_wire_ignore_errors
53
53
  capabilities = { 'percy.ignoreErrors' => true }
54
- percy_options = PercyOptions.new(capabilities)
54
+ percy_options = Percy::PercyOptions.new(capabilities)
55
55
  assert_equal true, percy_options.ignore_errors
56
56
  assert_equal true, percy_options.enabled
57
57
  end
58
58
 
59
59
  def test_percy_options_w3c_not_ignore_errors
60
60
  capabilities = { 'percy:options' => { 'ignoreErrors' => false } }
61
- percy_options = PercyOptions.new(capabilities)
61
+ percy_options = Percy::PercyOptions.new(capabilities)
62
62
  assert_equal false, percy_options.ignore_errors
63
63
  assert_equal true, percy_options.enabled
64
64
  end
65
65
 
66
66
  def test_percy_options_json_wire_not_ignore_errors
67
67
  capabilities = { 'percy.ignoreErrors' => false }
68
- percy_options = PercyOptions.new(capabilities)
68
+ percy_options = Percy::PercyOptions.new(capabilities)
69
69
  assert_equal false, percy_options.ignore_errors
70
70
  assert_equal true, percy_options.enabled
71
71
  end
72
72
 
73
73
  def test_percy_options_w3c_all_options_false
74
74
  capabilities = { 'percy:options' => { 'ignoreErrors' => false, 'enabled' => false } }
75
- percy_options = PercyOptions.new(capabilities)
75
+ percy_options = Percy::PercyOptions.new(capabilities)
76
76
  assert_equal false, percy_options.ignore_errors
77
77
  assert_equal false, percy_options.enabled
78
78
  end
79
79
 
80
80
  def test_percy_options_json_wire_all_options_false
81
81
  capabilities = { 'percy.ignoreErrors' => false, 'percy.enabled' => false }
82
- percy_options = PercyOptions.new(capabilities)
82
+ percy_options = Percy::PercyOptions.new(capabilities)
83
83
  assert_equal false, percy_options.ignore_errors
84
84
  # assert_equal false, percy_options.enabled
85
85
  end
86
86
 
87
87
  def test_percy_options_w3c_all_options_true
88
88
  capabilities = { 'percy:options' => { 'ignoreErrors' => true, 'enabled' => true } }
89
- percy_options = PercyOptions.new(capabilities)
89
+ percy_options = Percy::PercyOptions.new(capabilities)
90
90
  assert_equal true, percy_options.ignore_errors
91
91
  assert_equal true, percy_options.enabled
92
92
  end
93
93
 
94
94
  def test_percy_options_json_wire_all_options_true
95
95
  capabilities = { 'percy.ignoreErrors' => true, 'percy.enabled' => true }
96
- percy_options = PercyOptions.new(capabilities)
96
+ percy_options = Percy::PercyOptions.new(capabilities)
97
97
  assert_equal true, percy_options.ignore_errors
98
98
  assert_equal true, percy_options.enabled
99
99
  end
100
100
 
101
101
  def test_percy_options_json_wire_and_w3c_case_1
102
102
  capabilities = { 'percy.ignoreErrors' => false, 'percy:options' => { 'enabled' => false } }
103
- percy_options = PercyOptions.new(capabilities)
103
+ percy_options = Percy::PercyOptions.new(capabilities)
104
104
  assert_equal false, percy_options.ignore_errors
105
105
  assert_equal false, percy_options.enabled
106
106
  end
107
107
 
108
108
  def test_percy_options_json_wire_and_w3c_case_2
109
109
  capabilities = { 'percy.enabled' => false, 'percy:options' => { 'ignoreErrors' => false } }
110
- percy_options = PercyOptions.new(capabilities)
110
+ percy_options = Percy::PercyOptions.new(capabilities)
111
111
  assert_equal false, percy_options.ignore_errors
112
112
  assert_equal false, percy_options.enabled
113
113
  end
data/specs/screenshot.rb CHANGED
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable Metrics/MethodLength
4
- # rubocop:disable Metrics/AbcSize
5
-
6
3
  require 'minitest/autorun'
7
4
  require 'json'
8
5
  require 'webmock/minitest'
@@ -27,7 +24,7 @@ mock_server.mount('/', MockServerRequestHandler)
27
24
  mock_server_thread = Thread.new { mock_server.start }
28
25
 
29
26
  # Mock helpers
30
- def mock_healthcheck(fail: false, fail_how: 'error', type: 'AppPercy')
27
+ def mock_healthcheck(fail: false, fail_how: 'error', type: 'Percy::AppPercy')
31
28
  health_body = JSON.dump(success: true, build: { 'id' => '123', 'url' => 'dummy_url' }, type: type)
32
29
  health_headers = { 'X-Percy-Core-Version' => '1.27.0-beta.1' }
33
30
  health_status = 200
@@ -104,12 +101,12 @@ class TestPercyScreenshot < Minitest::Test
104
101
  @server_url.expect(:to_s, 'https://hub-cloud.browserstack.com/wd/hub')
105
102
  end
106
103
 
107
- assert_raises(TypeError) { AppPercy.new(@mock_webdriver).screenshot(123) }
108
- assert_raises(TypeError) { AppPercy.new(@mock_webdriver).screenshot('screenshot 1', device_name: 123) }
109
- assert_raises(TypeError) { AppPercy.new(@mock_webdriver).screenshot('screenshot 1', full_screen: 123) }
110
- assert_raises(TypeError) { AppPercy.new(@mock_webdriver).screenshot('screenshot 1', orientation: 123) }
111
- assert_raises(TypeError) { AppPercy.new(@mock_webdriver).screenshot('screenshot 1', status_bar_height: 'height') }
112
- assert_raises(TypeError) { AppPercy.new(@mock_webdriver).screenshot('screenshot 1', nav_bar_height: 'height') }
104
+ assert_raises(TypeError) { Percy::AppPercy.new(@mock_webdriver).screenshot(123) }
105
+ assert_raises(TypeError) { Percy::AppPercy.new(@mock_webdriver).screenshot('screenshot 1', device_name: 123) }
106
+ assert_raises(TypeError) { Percy::AppPercy.new(@mock_webdriver).screenshot('screenshot 1', full_screen: 123) }
107
+ assert_raises(TypeError) { Percy::AppPercy.new(@mock_webdriver).screenshot('screenshot 1', orientation: 123) }
108
+ assert_raises(TypeError) { Percy::AppPercy.new(@mock_webdriver).screenshot('screenshot 1', status_bar_height: 'height') }
109
+ assert_raises(TypeError) { Percy::AppPercy.new(@mock_webdriver).screenshot('screenshot 1', nav_bar_height: 'height') }
113
110
  end
114
111
 
115
112
  def test_throws_error_when_a_driver_is_not_provided
data/specs/tile.rb CHANGED
@@ -3,10 +3,10 @@
3
3
  require 'minitest/autorun'
4
4
  require_relative '../percy/lib/tile'
5
5
 
6
- # Test suite for the Tile class.
6
+ # Test suite for the Percy::Tile class.
7
7
  class TileTest < Minitest::Test
8
8
  def setup
9
- @tile = Tile.new(20, 120, 150, 0, filepath: 'some-file-path', sha: 'some-sha')
9
+ @tile = Percy::Tile.new(20, 120, 150, 0, filepath: 'some-file-path', sha: 'some-sha')
10
10
  @hash_tile = @tile.to_h
11
11
  end
12
12
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: percy-appium-app
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - BroswerStack
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-30 00:00:00.000000000 Z
11
+ date: 2023-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appium_lib
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '12.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dotenv
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.8'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.8'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -146,10 +160,10 @@ files:
146
160
  - percy/metadata/ios_metadata.rb
147
161
  - percy/metadata/metadata.rb
148
162
  - percy/metadata/metadata_resolver.rb
163
+ - percy/percy-appium-app.rb
149
164
  - percy/providers/app_automate.rb
150
165
  - percy/providers/generic_provider.rb
151
166
  - percy/providers/provider_resolver.rb
152
- - percy/screenshot.rb
153
167
  - percy/version.rb
154
168
  - specs/android_metadata.rb
155
169
  - specs/app_automate.rb