Skip to content

Commit

Permalink
update android detox plugin for detox 20 (#166)
Browse files Browse the repository at this point in the history
* update android testing

* update with detox plugin

* use expo-build-properties for kotlin version

* update build files

* working

* update snaps for sdk 48
  • Loading branch information
EvanBacon committed Mar 9, 2023
1 parent d762684 commit 9b15ea9
Show file tree
Hide file tree
Showing 48 changed files with 915 additions and 1,049 deletions.
2 changes: 1 addition & 1 deletion apps/app/app.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"favicon": "./assets/favicon.png"
},
"plugins": [

"@config-plugins/detox",
"@config-plugins/react-native-adjust",
"@config-plugins/react-native-callkeep",
"@config-plugins/react-native-blob-util",
Expand Down
19 changes: 14 additions & 5 deletions apps/app/detox.config.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,22 @@
const iosName = "app";
const emulator = "Pixel_3a_API_30";
const simulator = "iPhone 13 Pro";
const emulator = "Pixel_6_Pro_API_33";
const simulator = "iPhone 14 Pro";
const derivedDataPath = "ios/build";
const sdk = "iphonesimulator";

module.exports = {
testRunner: "jest",
runnerConfig: require.resolve("./e2e/jest.config.js"),
specs: "e2e",
testRunner: {
$0: "jest",
args: {
config: require.resolve("./e2e/jest.config.js"),
_: ["e2e"],
},
jest: {
setupTimeout: 300000,
reportSpecs: true,
reportWorkerAssign: true,
},
},
behavior: {
init: {
exposeGlobals: false,
Expand Down
File renamed without changes.
23 changes: 0 additions & 23 deletions apps/app/e2e/environment.js

This file was deleted.

9 changes: 6 additions & 3 deletions apps/app/e2e/jest.config.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
module.exports = {
testEnvironment: require.resolve("./environment.js"),
testRunner: require.resolve("jest-circus/runner"),
testTimeout: 120000,
testRegex: "/__tests__/.*(e2e)\\.[jt]sx?$",
rootDir: "..",
testMatch: ["<rootDir>/**/__tests__/*"],
transform: {
"^.+\\.[jt]sx?$": "ts-jest",
},
reporters: [require.resolve("detox/runners/jest/streamlineReporter")],
reporters: [require.resolve("detox/runners/jest/reporter")],
globalSetup: "detox/runners/jest/globalSetup",
globalTeardown: "detox/runners/jest/globalTeardown",
testEnvironment: "detox/runners/jest/testEnvironment",
verbose: true,
};
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 5 additions & 6 deletions apps/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"@config-plugins/react-native-adjust": "*",
"@config-plugins/react-native-callkeep": "*",
"detox": "^20.5.0",
"expo": "~48.0.5",
"expo": "~48.0.6",
"expo-localization": "~14.1.1",
"expo-splash-screen": "~0.18.1",
"expo-status-bar": "~1.4.4",
Expand All @@ -45,14 +45,13 @@
"devDependencies": {
"@babel/core": "^7.20.0",
"@babel/plugin-syntax-jsx": "^7.16.0",
"@types/jest": "^26.0.19",
"@types/jest": "^29.4.0",
"@types/luxon": "^1.27.1",
"@types/react": "~18.0.27",
"@types/react-native": "~0.64.12",
"babel-jest": "~25.2.6",
"babel-jest": "^29.5.0",
"jest": "^29.2.1",
"jest-circus": "^26.5.2",
"ts-jest": "^26.4.4",
"jest-circus": "^29.5.0",
"ts-jest": "^29.0.5",
"typescript": "^4.9.4"
},
"private": true
Expand Down
1 change: 0 additions & 1 deletion apps/react-native-ble-plx/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
"devDependencies": {
"@babel/core": "^7.20.0",
"@types/react": "~18.0.27",
"@types/react-native": "~0.69.1",
"typescript": "^4.9.4"
},
"private": true
Expand Down
89 changes: 89 additions & 0 deletions fixtures/Podfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods")
require File.join(File.dirname(`node --print "require.resolve('@react-native-community/cli-platform-ios/package.json')"`), "native_modules")

require 'json'
podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {}

ENV['RCT_NEW_ARCH_ENABLED'] = podfile_properties['newArchEnabled'] == 'true' ? '1' : '0'

platform :ios, podfile_properties['ios.deploymentTarget'] || '13.0'
install! 'cocoapods',
:deterministic_uuids => false

prepare_react_native_project!

# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
# because `react-native-flipper` depends on (FlipperKit,...), which will be excluded. To fix this,
# you can also exclude `react-native-flipper` in `react-native.config.js`
#
# ```js
# module.exports = {
# dependencies: {
# ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
# }
# }
# ```
flipper_config = FlipperConfiguration.disabled
if ENV['NO_FLIPPER'] == '1' then
# Explicitly disabled through environment variables
flipper_config = FlipperConfiguration.disabled
elsif podfile_properties.key?('ios.flipper') then
# Configure Flipper in Podfile.properties.json
if podfile_properties['ios.flipper'] == 'true' then
flipper_config = FlipperConfiguration.enabled(["Debug", "Release"])
elsif podfile_properties['ios.flipper'] != 'false' then
flipper_config = FlipperConfiguration.enabled(["Debug", "Release"], { 'Flipper' => podfile_properties['ios.flipper'] })
end
end

target 'HelloWorld' do
use_expo_modules!
config = use_native_modules!

use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks']
use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS']

# Flags change depending on the env values.
flags = get_default_flags()

use_react_native!(
:path => config[:reactNativePath],
:hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes',
:fabric_enabled => flags[:fabric_enabled],
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/..",
# Note that if you have use_frameworks! enabled, Flipper will not work if enabled
:flipper_configuration => flipper_config
)

post_install do |installer|
react_native_post_install(
installer,
config[:reactNativePath],
# Set `mac_catalyst_enabled` to `true` in order to apply patches
# necessary for Mac Catalyst builds
:mac_catalyst_enabled => false
)
__apply_Xcode_12_5_M1_post_install_workaround(installer)

# This is necessary for Xcode 14, because it signs resource bundles by default
# when building for devices.
installer.target_installation_results.pod_target_installation_results
.each do |pod_name, target_installation_result|
target_installation_result.resource_bundle_targets.each do |resource_bundle_target|
resource_bundle_target.build_configurations.each do |config|
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
end
end
end
end

post_integrate do |installer|
begin
expo_patch_react_imports!(installer)
rescue => e
Pod::UI.warn e
end
end
end
Loading

0 comments on commit 9b15ea9

Please sign in to comment.