specs/app_percy.rb in percy-appium-app-0.0.1 vs specs/app_percy.rb in percy-appium-app-0.0.2.pre.beta.0

- old
+ new

@@ -1,20 +1,18 @@ # frozen_string_literal: true -# rubocop:disable Metrics/MethodLength - require 'minitest/autorun' # require 'webmock/minitest' require_relative '../percy/lib/app_percy' require_relative '../percy/metadata/android_metadata' require_relative '../percy/metadata/ios_metadata' require_relative '../percy/providers/app_automate' require_relative '../percy/providers/generic_provider' require_relative '../percy/lib/cli_wrapper' require_relative 'mocks/mock_methods' -# Test suite for the AppPercy class +# Test suite for the Percy::AppPercy class class TestAppPercy < Minitest::Test COMPARISON_RESPONSE = { 'link' => 'https://snapshot_url', 'success' => true }.freeze def setup @mock_android_webdriver = Minitest::Mock.new @@ -36,14 +34,14 @@ @mock_android_webdriver.expect(:capabilities, get_android_capabilities) end ENV['PERCY_DISABLE_REMOTE_UPLOADS'] = 'true' - app_percy = AppPercy.new(@mock_android_webdriver) + app_percy = Percy::AppPercy.new(@mock_android_webdriver) - assert_instance_of(AndroidMetadata, app_percy.metadata) - assert_instance_of(AppAutomate, app_percy.provider) + assert_instance_of(Percy::AndroidMetadata, app_percy.metadata) + assert_instance_of(Percy::AppAutomate, app_percy.provider) end def test_android_on_non_app_automate 3.times do @mock_android_webdriver.expect(:instance_variable_get, @bridge, [:@bridge]) @@ -55,24 +53,24 @@ @mock_android_webdriver.expect(:is_a?, true, [Appium::Core::Base::Driver]) end 5.times do @mock_android_webdriver.expect(:capabilities, get_android_capabilities) end - app_percy = AppPercy.new(@mock_android_webdriver) - assert_instance_of(AndroidMetadata, app_percy.metadata) - assert_instance_of(GenericProvider, app_percy.provider) + app_percy = Percy::AppPercy.new(@mock_android_webdriver) + assert_instance_of(Percy::AndroidMetadata, app_percy.metadata) + assert_instance_of(Percy::GenericProvider, app_percy.provider) end def test_ios_on_app_automate mock_driver_remote_url(@mock_ios_webdriver, 'url-of-browserstack-cloud') @mock_ios_webdriver.expect(:is_a?, true, [Appium::Core::Base::Driver]) 5.times do @mock_ios_webdriver.expect(:capabilities, get_ios_capabilities) end - app_percy = AppPercy.new(@mock_ios_webdriver) - assert_instance_of(IOSMetadata, app_percy.metadata) - assert_instance_of(AppAutomate, app_percy.provider) + app_percy = Percy::AppPercy.new(@mock_ios_webdriver) + assert_instance_of(Percy::IOSMetadata, app_percy.metadata) + assert_instance_of(Percy::AppAutomate, app_percy.provider) end def test_ios_on_non_app_automate 2.times do @mock_ios_webdriver.expect(:instance_variable_get, @bridge, [:@bridge]) @@ -82,39 +80,39 @@ end @mock_ios_webdriver.expect(:is_a?, true, [Appium::Core::Base::Driver]) 3.times do @mock_ios_webdriver.expect(:capabilities, get_ios_capabilities) end - app_percy = AppPercy.new(@mock_ios_webdriver) - assert_instance_of(IOSMetadata, app_percy.metadata) - assert_instance_of(GenericProvider, app_percy.provider) + app_percy = Percy::AppPercy.new(@mock_ios_webdriver) + assert_instance_of(Percy::IOSMetadata, app_percy.metadata) + assert_instance_of(Percy::GenericProvider, app_percy.provider) end def test_screenshot_with_percy_options_disabled disable_percy_options(@mock_android_webdriver, num = 5) make_mock_driver_appium(@mock_android_webdriver) mock_driver_remote_url(@mock_android_webdriver, 'some-other-url', num = 2) - app_percy = AppPercy.new(@mock_android_webdriver) + app_percy = Percy::AppPercy.new(@mock_android_webdriver) assert_nil app_percy.screenshot('screenshot 1') end def test_screenshot_with_percyoptions_disabled disable_percy_options(@mock_android_webdriver, num = 5) make_mock_driver_appium(@mock_android_webdriver) mock_driver_remote_url(@mock_android_webdriver, 'some-other-url', num = 2) - app_percy = AppPercy.new(@mock_android_webdriver) + app_percy = Percy::AppPercy.new(@mock_android_webdriver) assert_nil app_percy.screenshot('screenshot 1') end def test_percy_options_ignore_errors @mock_android_webdriver.expect(:capabilities, { 'platformName': 'android', 'percy:options' => { 'ignoreErrors' => false } }) assert_raises(Exception) do - AppPercy.screenshot(@mock_android_webdriver, 'screenshot') + Percy::AppPercy.screenshot(@mock_android_webdriver, 'screenshot') end end def test_invalid_provider url = 'some-cloud-url' @@ -123,20 +121,20 @@ caps = get_android_capabilities 4.times do @mock_android_webdriver.expect(:capabilities, caps) end - GenericProvider.stub(:supports, false) do + Percy::GenericProvider.stub(:supports, false) do assert_raises(UnknownProvider) do - _provider = AppPercy.new(@mock_android_webdriver).provider + _provider = Percy::AppPercy.new(@mock_android_webdriver).provider end end end def test_invalid_driver assert_raises(DriverNotSupported) do - AppPercy.new(Object.new) + Percy::AppPercy.new(Object.new) end end private @@ -167,9 +165,9 @@ 'platformName': 'android', 'percy:options' => { 'ignoreErrors' => false } }) assert_raises(Exception) do - AppPercy.screenshot(mock_webdriver, 'screenshot') + Percy::AppPercy.screenshot(mock_webdriver, 'screenshot') end end end