percy-appium-app 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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.3
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