From 7bc1860c462ecf0de0aa5d02c97af6bb744edcd3 Mon Sep 17 00:00:00 2001 From: andrefangeloni Date: Sat, 9 Oct 2021 00:04:10 -0300 Subject: [PATCH] feat: tests e2e Android done --- .buckconfig | 6 + .detoxrc.json | 12 + .editorconfig | 3 + .eslintrc.js | 4 + .gitattributes | 3 + .gitignore | 60 + .prettierrc.js | 7 + App.tsx | 6 + __tests__/App-test.tsx | 14 + android/app/_BUCK | 55 + android/app/build.gradle | 235 + android/app/build_defs.bzl | 19 + android/app/debug.keystore | Bin 0 -> 2257 bytes android/app/proguard-rules.pro | 10 + .../java/com/poc_e2e/DetoxTest.java | 29 + android/app/src/debug/AndroidManifest.xml | 13 + .../java/com/poc_e2e/ReactNativeFlipper.java | 72 + android/app/src/main/AndroidManifest.xml | 25 + .../main/java/com/poc_e2e/MainActivity.java | 15 + .../java/com/poc_e2e/MainApplication.java | 80 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes android/app/src/main/res/values/strings.xml | 3 + android/app/src/main/res/values/styles.xml | 5 + android/build.gradle | 45 + android/gradle.properties | 28 + android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + android/gradlew | 185 + android/gradlew.bat | 89 + android/settings.gradle | 3 + app.json | 4 + .../snapshot-premium-plan-test.png" | Bin 0 -> 46431 bytes babel.config.js | 3 + .../snapshot-premium-plan-test.png" | Bin 0 -> 46205 bytes .../snapshot-premium-plan-test.png" | Bin 0 -> 45794 bytes e2e/config.json | 9 + e2e/environment.js | 23 + e2e/plan.e2e.js | 23 + index.js | 9 + ios/Podfile | 30 + ios/Podfile.lock | 526 ++ ios/poc_e2e.xcodeproj/project.pbxproj | 689 ++ .../xcshareddata/xcschemes/poc_e2e.xcscheme | 88 + .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + ios/poc_e2e/AppDelegate.h | 8 + ios/poc_e2e/AppDelegate.m | 62 + .../AppIcon.appiconset/Contents.json | 38 + ios/poc_e2e/Images.xcassets/Contents.json | 6 + ios/poc_e2e/Info.plist | 55 + ios/poc_e2e/LaunchScreen.storyboard | 47 + ios/poc_e2e/main.m | 9 + ios/poc_e2eTests/Info.plist | 24 + ios/poc_e2eTests/poc_e2eTests.m | 65 + metro.config.js | 17 + package.json | 46 + src/components/Button/index.tsx | 15 + src/components/Button/styles.ts | 15 + src/components/Header/index.tsx | 16 + src/components/Header/styles.ts | 25 + src/components/Input/index.tsx | 8 + src/components/Input/styles.ts | 13 + src/components/Option/index.tsx | 20 + src/components/Option/styles.ts | 14 + src/components/PlanInfo/index.tsx | 24 + src/components/PlanInfo/styles.ts | 33 + src/screens/Plan/index.tsx | 88 + src/screens/Plan/styles.ts | 35 + tsconfig.json | 64 + yarn.lock | 7259 +++++++++++++++++ 79 files changed, 10459 insertions(+) create mode 100644 .buckconfig create mode 100644 .detoxrc.json create mode 100644 .editorconfig create mode 100644 .eslintrc.js create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .prettierrc.js create mode 100644 App.tsx create mode 100644 __tests__/App-test.tsx create mode 100644 android/app/_BUCK create mode 100644 android/app/build.gradle create mode 100644 android/app/build_defs.bzl create mode 100644 android/app/debug.keystore create mode 100644 android/app/proguard-rules.pro create mode 100644 android/app/src/androidTest/java/com/poc_e2e/DetoxTest.java create mode 100644 android/app/src/debug/AndroidManifest.xml create mode 100644 android/app/src/debug/java/com/poc_e2e/ReactNativeFlipper.java create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/java/com/poc_e2e/MainActivity.java create mode 100644 android/app/src/main/java/com/poc_e2e/MainApplication.java create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/values/strings.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/build.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.jar create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100755 android/gradlew create mode 100644 android/gradlew.bat create mode 100644 android/settings.gradle create mode 100644 app.json create mode 100644 "artifacts/android.emu.debug.2021-10-09 03-02-36Z/\342\234\223 My first suite tests E2E should to able to subscribe to premium plan/snapshot-premium-plan-test.png" create mode 100644 babel.config.js create mode 100644 "e2e/artifacts/android.emu.debug.2021-10-09 00-10-34Z/\342\234\223 My first suite tests E2E should to able to subscribe to premium plan/snapshot-premium-plan-test.png" create mode 100644 "e2e/artifacts/android.emu.debug.2021-10-09 00-22-44Z/\342\234\223 My first suite tests E2E should to able to subscribe to premium plan/snapshot-premium-plan-test.png" create mode 100644 e2e/config.json create mode 100644 e2e/environment.js create mode 100644 e2e/plan.e2e.js create mode 100644 index.js create mode 100644 ios/Podfile create mode 100644 ios/Podfile.lock create mode 100644 ios/poc_e2e.xcodeproj/project.pbxproj create mode 100644 ios/poc_e2e.xcodeproj/xcshareddata/xcschemes/poc_e2e.xcscheme create mode 100644 ios/poc_e2e.xcworkspace/contents.xcworkspacedata create mode 100644 ios/poc_e2e.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/poc_e2e/AppDelegate.h create mode 100644 ios/poc_e2e/AppDelegate.m create mode 100644 ios/poc_e2e/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/poc_e2e/Images.xcassets/Contents.json create mode 100644 ios/poc_e2e/Info.plist create mode 100644 ios/poc_e2e/LaunchScreen.storyboard create mode 100644 ios/poc_e2e/main.m create mode 100644 ios/poc_e2eTests/Info.plist create mode 100644 ios/poc_e2eTests/poc_e2eTests.m create mode 100644 metro.config.js create mode 100644 package.json create mode 100644 src/components/Button/index.tsx create mode 100644 src/components/Button/styles.ts create mode 100644 src/components/Header/index.tsx create mode 100644 src/components/Header/styles.ts create mode 100644 src/components/Input/index.tsx create mode 100644 src/components/Input/styles.ts create mode 100644 src/components/Option/index.tsx create mode 100644 src/components/Option/styles.ts create mode 100644 src/components/PlanInfo/index.tsx create mode 100644 src/components/PlanInfo/styles.ts create mode 100644 src/screens/Plan/index.tsx create mode 100644 src/screens/Plan/styles.ts create mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/.buckconfig b/.buckconfig new file mode 100644 index 0000000..934256c --- /dev/null +++ b/.buckconfig @@ -0,0 +1,6 @@ + +[android] + target = Google Inc.:Google APIs:23 + +[maven_repositories] + central = https://repo1.maven.org/maven2 diff --git a/.detoxrc.json b/.detoxrc.json new file mode 100644 index 0000000..43dd86a --- /dev/null +++ b/.detoxrc.json @@ -0,0 +1,12 @@ +{ + "testRunner": "jest", + "runnerConfig": "e2e/config.json", + "configurations": { + "android.emu.debug": { + "type": "android.attached", + "name": "192.168.58.102:5555", + "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk", + "build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd .." + } + } +} \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..7c28613 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,3 @@ +# Windows files +[*.bat] +end_of_line = crlf diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..5d8bd50 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: ['@react-native-community', 'plugin:jest/recommended'], +}; diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..45a3dcb --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +# Windows files should use crlf line endings +# https://help.github.com/articles/dealing-with-line-endings/ +*.bat text eol=crlf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cc53454 --- /dev/null +++ b/.gitignore @@ -0,0 +1,60 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml +*.hprof + +# node.js +# +node_modules/ +npm-debug.log +yarn-error.log + +# BUCK +buck-out/ +\.buckd/ +*.keystore +!debug.keystore + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/ + +*/fastlane/report.xml +*/fastlane/Preview.html +*/fastlane/screenshots + +# Bundle artifact +*.jsbundle + +# CocoaPods +/ios/Pods/ diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..9be7887 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,7 @@ +module.exports = { + bracketSpacing: true, + jsxBracketSameLine: false, + singleQuote: true, + trailingComma: 'all', + arrowParens: 'always', +}; diff --git a/App.tsx b/App.tsx new file mode 100644 index 0000000..e9f3401 --- /dev/null +++ b/App.tsx @@ -0,0 +1,6 @@ +import React from 'react'; +import { Plan } from './src/screens/Plan'; + +const App: React.FC = () => ; + +export default App; diff --git a/__tests__/App-test.tsx b/__tests__/App-test.tsx new file mode 100644 index 0000000..1784766 --- /dev/null +++ b/__tests__/App-test.tsx @@ -0,0 +1,14 @@ +/** + * @format + */ + +import 'react-native'; +import React from 'react'; +import App from '../App'; + +// Note: test renderer must be required after react-native. +import renderer from 'react-test-renderer'; + +it('renders correctly', () => { + renderer.create(); +}); diff --git a/android/app/_BUCK b/android/app/_BUCK new file mode 100644 index 0000000..0f86bf1 --- /dev/null +++ b/android/app/_BUCK @@ -0,0 +1,55 @@ +# To learn about Buck see [Docs](https://buckbuild.com/). +# To run your application with Buck: +# - install Buck +# - `npm start` - to start the packager +# - `cd android` +# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` +# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck +# - `buck install -r android/app` - compile, install and run application +# + +load(":build_defs.bzl", "create_aar_targets", "create_jar_targets") + +lib_deps = [] + +create_aar_targets(glob(["libs/*.aar"])) + +create_jar_targets(glob(["libs/*.jar"])) + +android_library( + name = "all-libs", + exported_deps = lib_deps, +) + +android_library( + name = "app-code", + srcs = glob([ + "src/main/java/**/*.java", + ]), + deps = [ + ":all-libs", + ":build_config", + ":res", + ], +) + +android_build_config( + name = "build_config", + package = "com.poc_e2e", +) + +android_resource( + name = "res", + package = "com.poc_e2e", + res = "src/main/res", +) + +android_binary( + name = "app", + keystore = "//android/keystores:debug", + manifest = "src/main/AndroidManifest.xml", + package_type = "debug", + deps = [ + ":app-code", + ], +) diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..06baecd --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,235 @@ +apply plugin: "com.android.application" + +import com.android.build.OutputFile + +/** + * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets + * and bundleReleaseJsAndAssets). + * These basically call `react-native bundle` with the correct arguments during the Android build + * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the + * bundle directly from the development server. Below you can see all the possible configurations + * and their defaults. If you decide to add a configuration block, make sure to add it before the + * `apply from: "../../node_modules/react-native/react.gradle"` line. + * + * project.ext.react = [ + * // the name of the generated asset file containing your JS bundle + * bundleAssetName: "index.android.bundle", + * + * // the entry file for bundle generation. If none specified and + * // "index.android.js" exists, it will be used. Otherwise "index.js" is + * // default. Can be overridden with ENTRY_FILE environment variable. + * entryFile: "index.android.js", + * + * // https://reactnative.dev/docs/performance#enable-the-ram-format + * bundleCommand: "ram-bundle", + * + * // whether to bundle JS and assets in debug mode + * bundleInDebug: false, + * + * // whether to bundle JS and assets in release mode + * bundleInRelease: true, + * + * // whether to bundle JS and assets in another build variant (if configured). + * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants + * // The configuration property can be in the following formats + * // 'bundleIn${productFlavor}${buildType}' + * // 'bundleIn${buildType}' + * // bundleInFreeDebug: true, + * // bundleInPaidRelease: true, + * // bundleInBeta: true, + * + * // whether to disable dev mode in custom build variants (by default only disabled in release) + * // for example: to disable dev mode in the staging build type (if configured) + * devDisabledInStaging: true, + * // The configuration property can be in the following formats + * // 'devDisabledIn${productFlavor}${buildType}' + * // 'devDisabledIn${buildType}' + * + * // the root of your project, i.e. where "package.json" lives + * root: "../../", + * + * // where to put the JS bundle asset in debug mode + * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", + * + * // where to put the JS bundle asset in release mode + * jsBundleDirRelease: "$buildDir/intermediates/assets/release", + * + * // where to put drawable resources / React Native assets, e.g. the ones you use via + * // require('./image.png')), in debug mode + * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", + * + * // where to put drawable resources / React Native assets, e.g. the ones you use via + * // require('./image.png')), in release mode + * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", + * + * // by default the gradle tasks are skipped if none of the JS files or assets change; this means + * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to + * // date; if you have any other folders that you want to ignore for performance reasons (gradle + * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ + * // for example, you might want to remove it from here. + * inputExcludes: ["android/**", "ios/**"], + * + * // override which node gets called and with what additional arguments + * nodeExecutableAndArgs: ["node"], + * + * // supply additional arguments to the packager + * extraPackagerArgs: [] + * ] + */ + +project.ext.react = [ + enableHermes: false, // clean and rebuild if changing +] + +apply from: "../../node_modules/react-native/react.gradle" + +/** + * Set this to true to create two separate APKs instead of one: + * - An APK that only works on ARM devices + * - An APK that only works on x86 devices + * The advantage is the size of the APK is reduced by about 4MB. + * Upload all the APKs to the Play Store and people will download + * the correct one based on the CPU architecture of their device. + */ +def enableSeparateBuildPerCPUArchitecture = false + +/** + * Run Proguard to shrink the Java bytecode in release builds. + */ +def enableProguardInReleaseBuilds = false + +/** + * The preferred build flavor of JavaScriptCore. + * + * For example, to use the international variant, you can use: + * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'org.webkit:android-jsc:+' + +/** + * Whether to enable the Hermes VM. + * + * This should be set on project.ext.react and mirrored here. If it is not set + * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode + * and the benefits of using Hermes will therefore be sharply reduced. + */ +def enableHermes = project.ext.react.get("enableHermes", false); + +/** + * Architectures to build native code for in debug. + */ +def nativeArchitectures = project.getProperties().get("reactNativeDebugArchitectures") + +android { + ndkVersion rootProject.ext.ndkVersion + + compileSdkVersion rootProject.ext.compileSdkVersion + + defaultConfig { + applicationId "com.poc_e2e" + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 1 + versionName "1.0" + + // Setup for Detox + testBuildType System.getProperty('testBuildType', 'debug') + testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' + } + splits { + abi { + reset() + enable enableSeparateBuildPerCPUArchitecture + universalApk false // If true, also generate a universal APK + include "armeabi-v7a", "x86", "arm64-v8a", "x86_64" + } + } + signingConfigs { + debug { + storeFile file('debug.keystore') + storePassword 'android' + keyAlias 'androiddebugkey' + keyPassword 'android' + } + } + buildTypes { + debug { + signingConfig signingConfigs.debug + if (nativeArchitectures) { + ndk { + abiFilters nativeArchitectures.split(',') + } + } + } + release { + // Caution! In production, you need to generate your own keystore file. + // see https://reactnative.dev/docs/signed-apk-android. + signingConfig signingConfigs.debug + minifyEnabled enableProguardInReleaseBuilds + proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + } + } + + // applicationVariants are e.g. debug, release + applicationVariants.all { variant -> + variant.outputs.each { output -> + // For each separate APK per architecture, set a unique version code as described here: + // https://developer.android.com/studio/build/configure-apk-splits.html + // Example: versionCode 1 will generate 1001 for armeabi-v7a, 1002 for x86, etc. + def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] + def abi = output.getFilter(OutputFile.ABI) + if (abi != null) { // null for the universal-debug, universal-release variants + output.versionCodeOverride = + defaultConfig.versionCode * 1000 + versionCodes.get(abi) + } + + } + } +} + +dependencies { + implementation fileTree(dir: "libs", include: ["*.jar"]) + //noinspection GradleDynamicVersion + implementation "com.facebook.react:react-native:+" // From node_modules + + implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0" + + debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") { + exclude group:'com.facebook.fbjni' + } + + debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { + exclude group:'com.facebook.flipper' + exclude group:'com.squareup.okhttp3', module:'okhttp' + } + + debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") { + exclude group:'com.facebook.flipper' + } + + // Setup for Detox + androidTestImplementation('com.wix:detox:+') { transitive = true } + androidTestImplementation 'junit:junit:4.12' + + if (enableHermes) { + def hermesPath = "../../node_modules/hermes-engine/android/"; + debugImplementation files(hermesPath + "hermes-debug.aar") + releaseImplementation files(hermesPath + "hermes-release.aar") + } else { + implementation jscFlavor + } +} + +// Run this once to be able to run the application with BUCK +// puts all compile dependencies into folder libs for BUCK to use +task copyDownloadableDepsToLibs(type: Copy) { + from configurations.implementation + into 'libs' +} + +apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) diff --git a/android/app/build_defs.bzl b/android/app/build_defs.bzl new file mode 100644 index 0000000..fff270f --- /dev/null +++ b/android/app/build_defs.bzl @@ -0,0 +1,19 @@ +"""Helper definitions to glob .aar and .jar targets""" + +def create_aar_targets(aarfiles): + for aarfile in aarfiles: + name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")] + lib_deps.append(":" + name) + android_prebuilt_aar( + name = name, + aar = aarfile, + ) + +def create_jar_targets(jarfiles): + for jarfile in jarfiles: + name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")] + lib_deps.append(":" + name) + prebuilt_jar( + name = name, + binary_jar = jarfile, + ) diff --git a/android/app/debug.keystore b/android/app/debug.keystore new file mode 100644 index 0000000000000000000000000000000000000000..364e105ed39fbfd62001429a68140672b06ec0de GIT binary patch literal 2257 zcmchYXEfYt8;7T1^dLH$VOTZ%2NOdOH5j5LYLtZ0q7x-V8_6gU5)#7dkq{HTmsfNq zB3ZqcAxeY^G10@?efK?Q&)M(qInVv!xjx+IKEL}p*K@LYvIzo#AZG>st5|P)KF1_Z;y){W{<7K{nl!CPuE z_^(!C(Ol0n8 zK13*rzAtW>(wULKPRYLd7G18F8#1P`V*9`(Poj26eOXYyBVZPno~Cvvhx7vPjAuZo zF?VD!zB~QG(!zbw#qsxT8%BSpqMZ4f70ZPn-3y$L8{EVbbN9$H`B&Z1quk9tgp5FM zuxp3pJ0b8u|3+#5bkJ4SRnCF2l7#DyLYXYY8*?OuAwK4E6J{0N=O3QNVzQ$L#FKkR zi-c@&!nDvezOV$i$Lr}iF$XEcwnybQ6WZrMKuw8gCL^U#D;q3t&HpTbqyD%vG=TeDlzCT~MXUPC|Leb-Uk+ z=vnMd(|>ld?Fh>V8poP;q;;nc@en$|rnP0ytzD&fFkCeUE^kG9Kx4wUh!!rpjwKDP zyw_e|a^x_w3E zP}}@$g>*LLJ4i0`Gx)qltL}@;mDv}D*xR^oeWcWdPkW@Uu)B^X&4W1$p6}ze!zudJ zyiLg@uggoMIArBr*27EZV7djDg@W1MaL+rcZ-lrANJQ%%>u8)ZMWU@R2qtnmG(acP z0d_^!t>}5W zpT`*2NR+0+SpTHb+6Js4b;%LJB;B_-ChhnU5py}iJtku*hm5F0!iql8Hrpcy1aYbT z1*dKC5ua6pMX@@iONI?Hpr%h;&YaXp9n!ND7-=a%BD7v&g zOO41M6EbE24mJ#S$Ui0-brR5ML%@|ndz^)YLMMV1atna{Fw<;TF@>d&F|!Z>8eg>>hkFrV)W+uv=`^F9^e zzzM2*oOjT9%gLoub%(R57p-`TXFe#oh1_{&N-YN z<}artH|m=d8TQuKSWE)Z%puU|g|^^NFwC#N=@dPhasyYjoy(fdEVfKR@cXKHZV-`06HsP`|Ftx;8(YD$fFXumLWbGnu$GMqRncXYY9mwz9$ap zQtfZB^_BeNYITh^hA7+(XNFox5WMeG_LtJ%*Q}$8VKDI_p8^pqX)}NMb`0e|wgF7D zuQACY_Ua<1ri{;Jwt@_1sW9zzdgnyh_O#8y+C;LcZq6=4e^cs6KvmK@$vVpKFGbQ= z$)Eux5C|Fx;Gtmv9^#Y-g@7Rt7*eLp5n!gJmn7&B_L$G?NCN`AP>cXQEz}%F%K;vUs{+l4Q{}eWW;ATe2 zqvXzxoIDy(u;F2q1JH7Sf;{jy_j})F+cKlIOmNfjBGHoG^CN zM|Ho&&X|L-36f}Q-obEACz`sI%2f&k>z5c$2TyTSj~vmO)BW~+N^kt`Jt@R|s!){H ze1_eCrlNaPkJQhL$WG&iRvF*YG=gXd1IyYQ9ew|iYn7r~g!wOnw;@n42>enAxBv*A zEmV*N#sxdicyNM=A4|yaOC5MByts}s_Hpfj|y<6G=o=!3S@eIFKDdpR7|FY>L&Wat&oW&cm&X~ z5Bt>Fcq(fgnvlvLSYg&o6>&fY`ODg4`V^lWWD=%oJ#Kbad2u~! zLECFS*??>|vDsNR&pH=Ze0Eo`sC_G`OjoEKVHY|wmwlX&(XBE<@sx3Hd^gtd-fNwUHsylg06p`U2y_={u}Bc mActivityRule = new ActivityTestRule<>(MainActivity.class, false, false); + + @Test + public void runDetoxTests() { + DetoxConfig detoxConfig = new DetoxConfig(); + detoxConfig.idlePolicyConfig.masterTimeoutSec = 90; + detoxConfig.idlePolicyConfig.idleResourceTimeoutSec = 60; + detoxConfig.rnContextLoadTimeoutSec = (com.poc_e2e.BuildConfig.DEBUG ? 180 : 60); + + Detox.runTests(mActivityRule, detoxConfig); + } +} \ No newline at end of file diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..b2f3ad9 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/android/app/src/debug/java/com/poc_e2e/ReactNativeFlipper.java b/android/app/src/debug/java/com/poc_e2e/ReactNativeFlipper.java new file mode 100644 index 0000000..868bab5 --- /dev/null +++ b/android/app/src/debug/java/com/poc_e2e/ReactNativeFlipper.java @@ -0,0 +1,72 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + *

This source code is licensed under the MIT license found in the LICENSE file in the root + * directory of this source tree. + */ +package com.poc_e2e; + +import android.content.Context; +import com.facebook.flipper.android.AndroidFlipperClient; +import com.facebook.flipper.android.utils.FlipperUtils; +import com.facebook.flipper.core.FlipperClient; +import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin; +import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin; +import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin; +import com.facebook.flipper.plugins.inspector.DescriptorMapping; +import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin; +import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor; +import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; +import com.facebook.flipper.plugins.react.ReactFlipperPlugin; +import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; +import com.facebook.react.ReactInstanceManager; +import com.facebook.react.bridge.ReactContext; +import com.facebook.react.modules.network.NetworkingModule; +import okhttp3.OkHttpClient; + +public class ReactNativeFlipper { + public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { + if (FlipperUtils.shouldEnableFlipper(context)) { + final FlipperClient client = AndroidFlipperClient.getInstance(context); + + client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults())); + client.addPlugin(new ReactFlipperPlugin()); + client.addPlugin(new DatabasesFlipperPlugin(context)); + client.addPlugin(new SharedPreferencesFlipperPlugin(context)); + client.addPlugin(CrashReporterPlugin.getInstance()); + + NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin(); + NetworkingModule.setCustomClientBuilder( + new NetworkingModule.CustomClientBuilder() { + @Override + public void apply(OkHttpClient.Builder builder) { + builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin)); + } + }); + client.addPlugin(networkFlipperPlugin); + client.start(); + + // Fresco Plugin needs to ensure that ImagePipelineFactory is initialized + // Hence we run if after all native modules have been initialized + ReactContext reactContext = reactInstanceManager.getCurrentReactContext(); + if (reactContext == null) { + reactInstanceManager.addReactInstanceEventListener( + new ReactInstanceManager.ReactInstanceEventListener() { + @Override + public void onReactContextInitialized(ReactContext reactContext) { + reactInstanceManager.removeReactInstanceEventListener(this); + reactContext.runOnNativeModulesQueueThread( + new Runnable() { + @Override + public void run() { + client.addPlugin(new FrescoFlipperPlugin()); + } + }); + } + }); + } else { + client.addPlugin(new FrescoFlipperPlugin()); + } + } + } +} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..00f5f90 --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + diff --git a/android/app/src/main/java/com/poc_e2e/MainActivity.java b/android/app/src/main/java/com/poc_e2e/MainActivity.java new file mode 100644 index 0000000..d374a49 --- /dev/null +++ b/android/app/src/main/java/com/poc_e2e/MainActivity.java @@ -0,0 +1,15 @@ +package com.poc_e2e; + +import com.facebook.react.ReactActivity; + +public class MainActivity extends ReactActivity { + + /** + * Returns the name of the main component registered from JavaScript. This is used to schedule + * rendering of the component. + */ + @Override + protected String getMainComponentName() { + return "poc_e2e"; + } +} diff --git a/android/app/src/main/java/com/poc_e2e/MainApplication.java b/android/app/src/main/java/com/poc_e2e/MainApplication.java new file mode 100644 index 0000000..a13ac16 --- /dev/null +++ b/android/app/src/main/java/com/poc_e2e/MainApplication.java @@ -0,0 +1,80 @@ +package com.poc_e2e; + +import android.app.Application; +import android.content.Context; +import com.facebook.react.PackageList; +import com.facebook.react.ReactApplication; +import com.facebook.react.ReactInstanceManager; +import com.facebook.react.ReactNativeHost; +import com.facebook.react.ReactPackage; +import com.facebook.soloader.SoLoader; +import java.lang.reflect.InvocationTargetException; +import java.util.List; + +public class MainApplication extends Application implements ReactApplication { + + private final ReactNativeHost mReactNativeHost = + new ReactNativeHost(this) { + @Override + public boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; + } + + @Override + protected List getPackages() { + @SuppressWarnings("UnnecessaryLocalVariable") + List packages = new PackageList(this).getPackages(); + // Packages that cannot be autolinked yet can be added manually here, for example: + // packages.add(new MyReactNativePackage()); + return packages; + } + + @Override + protected String getJSMainModuleName() { + return "index"; + } + }; + + @Override + public ReactNativeHost getReactNativeHost() { + return mReactNativeHost; + } + + @Override + public void onCreate() { + super.onCreate(); + SoLoader.init(this, /* native exopackage */ false); + initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); + } + + /** + * Loads Flipper in React Native templates. Call this in the onCreate method with something like + * initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); + * + * @param context + * @param reactInstanceManager + */ + private static void initializeFlipper( + Context context, ReactInstanceManager reactInstanceManager) { + if (BuildConfig.DEBUG) { + try { + /* + We use reflection here to pick up the class that initializes Flipper, + since Flipper library is not available in release mode + */ + Class aClass = Class.forName("com.poc_e2e.ReactNativeFlipper"); + aClass + .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class) + .invoke(null, context, reactInstanceManager); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + } + } +} diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a2f5908281d070150700378b64a84c7db1f97aa1 GIT binary patch literal 3056 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 axPAxe%7rDusX+w*00006jj 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⁣ zwiG+x#%j}{0gU~J8;<|!B1@-XaB@{KORFwrYg_8rOv({b0EO#DbeQRm;B6_9=mXGf z-x|VL{zd`)#@yN}HkCSJbjbNlE|zL3Wm9Q8HY`sV)}3%pgN>cL^67{Z;PPL(*wT8N zUjXU{@|*hvm}({wsAC=x0^ok0%UAz0;sogW{B!nDqk|JJ5x~4NfTDgP49^zeu`csl?5mY@JdQdISc zFs!E{^grmkLnUk9 zny~m)1vws@5BFI<-0Tuo2JWX(0v`W|t(wg;s--L47WTvTMz-8l#TL^=OJNRS2?_Qj z3AKT+gvbyBi#H*-tJ%tWD|>EV3wy|8qxfzS!5RW;Jpl5*zo&^UBU=fG#2}UvRyNkK zA06Dy9;K1ca@r2T>yThYgI!ont$(G{6q#2QT+00r_x0(b)gsE`lBB?2gr55gq^D3Fi&p%E(p9>U%bv zkg1Jco(RbyTX7FDHOnl7-O@ zI$AaIl?9NJKPm(WiBP`1-#CB1QzU>&hKm)fpa5DKE{2$X0hGz-0uZ?cyTk(YC!Y&| zL=1VrNERSA5NA2jq7FACfX4JfPyj5XXl1yv0>~s;eF7L2$>&oMqeTFT2m$y7FlkON z_yurD1yIOvA;5C6016pyxBznGUt0kJ&k5r#;&>Jow`r)sp9R~PmK~lz$3xH%LT*1U zJdOyABZ3!FvNoR*vN$5ykHS8f`jA4zV+|L}i1C4`B2c{R0;UdYxaU|H)2avz@ z=mEYc|2S<+(B2Tj+FkX+2D+yFI!k9lWMA61DJ{)e;lum$(;O87?vGJJe!KtK04+N_ zI*P~t@dUb>9Xh{dbyl{-ZQ(UMgz7$|QfL5XSPkskt^NgctYC#;4WcZB1@%@wy@2t3 z2z0DI7&%b$*Aw~abe?GxE`ez@+6hOh-6*8fHRV{1os$EL@}uUZeG4h1&Be`98q*7j z=3-v+lhIjfWVo12!<>%V^a6lTgW3+_#W6n|p*~==zOH7z$0{LSZk(Tpd7EaD04hnA zL;#fxS0aD{`5^&D`}>0Uq?byDD-l2=!wm_bLcUl4gc(% za1p|itVANvFF>hghAS07Im1;IK;|b*W)}VDyI;BIp2=K*yu2a)j?B|f<44NI$NbmJ z#dE0>jI$fMr&@>4kN8MLFb4&2O9fEKaQg%(QO$4_1rVQywG^CmBLh#}_7gKW3vd?| z2?1^&KWq8}8I^_S0|)MowU_pw$q@nl@Nkn$z>BQq_KA^9yaR`(R3u{{Ig;cwt z@AJ^{ODQCm^neroM9nKNUAXi9RCK`OsP_LuR0PUR(YZCCX5dNF6VzcoK&=b^r`W?ltt|*F zpkoae%ZT{C1h~EcFui~b7fF`vb<<~j_VquuUA$}QqIKYELPp#;{u?q8Dz}WAG-(3; zjrm$i%7UbyZMM(Y{>!uJ#vNB?R~B{6Htp=>e*<{fQQ5W7V(1coCWlOON!MzZxhum| ztZBQpGR z;~#ur^&PockKdV{Q6R>o`Pl{0x!DEbpZ7y9Y;*ZvE!*gU`V1W3znva{f=?WO5I&>B z&hw6}tjECtaghm5z|C#%M;Yf_*pI^};h}Vl=^r9EN=tVDj86D;C$jIJ?K7VP+00000NkvXXu0mjf D5i!M* literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..459ca609d3ae0d3943ab44cdc27feef9256dc6d7 GIT binary patch literal 7098 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca12fe024be86e868d14e91120a6902f8e88ac6 GIT binary patch literal 6464 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 B0*L?s literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..8e19b410a1b15ff180f3dacac19395fe3046cdec GIT binary patch literal 10676 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..4c19a13c239cb67b8a2134ddd5f325db1d2d5bee GIT binary patch literal 15523 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 BIP(Ai literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..6d7fdcf --- /dev/null +++ b/android/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + poc_e2e + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..dd91b2e --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,5 @@ + + + diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..45c2288 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,45 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + ext { + buildToolsVersion = "30.0.2" + minSdkVersion = 21 + compileSdkVersion = 30 + targetSdkVersion = 30 + ndkVersion = "21.4.7075529" + } + repositories { + google() + mavenCentral() + } + dependencies { + classpath("com.android.tools.build:gradle:4.2.2") + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + mavenCentral() + mavenLocal() + maven { + // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm + url("$rootDir/../node_modules/react-native/android") + } + maven { + // Android JSC is installed from npm + url("$rootDir/../node_modules/jsc-android/dist") + } + + google() + maven { + url 'https://www.jitpack.io' + } + + maven { + // Detox is installed from npm + url "$rootDir/../node_modules/detox/Detox-android" + } + } +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..cdb4c21 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,28 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true + +# Version of flipper SDK to use with React Native +FLIPPER_VERSION=0.99.0 diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 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
+ + + + + + + + + {emailSent && ( + + We send you a {'\n'} + confirmation email. + + )} + +

K7UpUK$>l@ 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 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..7665b0f --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/android/gradlew b/android/gradlew new file mode 100755 index 0000000..4f906e0 --- /dev/null +++ b/android/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/android/gradlew.bat b/android/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/android/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..ec5d53d --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,3 @@ +rootProject.name = 'poc_e2e' +apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) +include ':app' diff --git a/app.json b/app.json new file mode 100644 index 0000000..8895138 --- /dev/null +++ b/app.json @@ -0,0 +1,4 @@ +{ + "name": "poc_e2e", + "displayName": "poc_e2e" +} \ No newline at end of file diff --git "a/artifacts/android.emu.debug.2021-10-09 03-02-36Z/\342\234\223 My first suite tests E2E should to able to subscribe to premium plan/snapshot-premium-plan-test.png" "b/artifacts/android.emu.debug.2021-10-09 03-02-36Z/\342\234\223 My first suite tests E2E should to able to subscribe to premium plan/snapshot-premium-plan-test.png" new file mode 100644 index 0000000000000000000000000000000000000000..52ea05c044cb772d295fbf8a473a44e5e6ba77d7 GIT binary patch literal 46431 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 literal 0 HcmV?d00001 diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..f842b77 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ['module:metro-react-native-babel-preset'], +}; diff --git "a/e2e/artifacts/android.emu.debug.2021-10-09 00-10-34Z/\342\234\223 My first suite tests E2E should to able to subscribe to premium plan/snapshot-premium-plan-test.png" "b/e2e/artifacts/android.emu.debug.2021-10-09 00-10-34Z/\342\234\223 My first suite tests E2E should to able to subscribe to premium plan/snapshot-premium-plan-test.png" new file mode 100644 index 0000000000000000000000000000000000000000..6d2d1cfc9dff4f6fd9cd690ab02a3b610c23cd49 GIT binary patch literal 46205 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 =^y}wTx+IFR;x^ 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 literal 0 HcmV?d00001 diff --git "a/e2e/artifacts/android.emu.debug.2021-10-09 00-22-44Z/\342\234\223 My first suite tests E2E should to able to subscribe to premium plan/snapshot-premium-plan-test.png" "b/e2e/artifacts/android.emu.debug.2021-10-09 00-22-44Z/\342\234\223 My first suite tests E2E should to able to subscribe to premium plan/snapshot-premium-plan-test.png" new file mode 100644 index 0000000000000000000000000000000000000000..d883beaeca7b592408b6cc1a572d609b3e6abf57 GIT binary patch literal 45794 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 { + beforeAll(async () => { + await device.launchApp(); + }); + + it('should have info about cancel subscription', async () => { + const info = await element(by.text('Cancel anytime. Ofter terms apply.')); + await expect(info).toBeVisible(); + }); + + it('should to able to subscribe to premium plan', async () => { + await element(by.id('option-premium')).tap(); + await element(by.id('input-email')).tap(); + await element(by.id('input-email')).typeText('teste@teste.com'); + await element(by.id('keyboard')).tap(); + await element(by.id('button-subscribe')).tap(); + + await device.takeScreenshot('snapshot-premium-plan-test'); + await expect(element(by.id('confirmation-message'))).toBeVisible(); + }); +}); diff --git a/index.js b/index.js new file mode 100644 index 0000000..a850d03 --- /dev/null +++ b/index.js @@ -0,0 +1,9 @@ +/** + * @format + */ + +import {AppRegistry} from 'react-native'; +import App from './App'; +import {name as appName} from './app.json'; + +AppRegistry.registerComponent(appName, () => App); diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 0000000..aeff0ce --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,30 @@ +require_relative '../node_modules/react-native/scripts/react_native_pods' +require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' + +platform :ios, '11.0' + +target 'poc_e2e' do + config = use_native_modules! + + use_react_native!( + :path => config[:reactNativePath], + # to enable hermes on iOS, change `false` to `true` and then install pods + :hermes_enabled => false + ) + + target 'poc_e2eTests' do + inherit! :complete + # Pods for testing + end + + # Enables Flipper. + # + # Note that if you have use_frameworks! enabled, Flipper will not work and + # you should disable the next line. + use_flipper!() + + post_install do |installer| + react_native_post_install(installer) + __apply_Xcode_12_5_M1_post_install_workaround(installer) + end +end \ No newline at end of file diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 0000000..7db0c30 --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,526 @@ +PODS: + - boost (1.76.0) + - CocoaAsyncSocket (7.6.5) + - DoubleConversion (1.1.6) + - FBLazyVector (0.66.0) + - FBReactNativeSpec (0.66.0): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.66.0) + - RCTTypeSafety (= 0.66.0) + - React-Core (= 0.66.0) + - React-jsi (= 0.66.0) + - ReactCommon/turbomodule/core (= 0.66.0) + - Flipper (0.99.0): + - Flipper-Folly (~> 2.6) + - Flipper-RSocket (~> 1.4) + - Flipper-Boost-iOSX (1.76.0.1.11) + - Flipper-DoubleConversion (3.1.7) + - Flipper-Fmt (7.1.7) + - Flipper-Folly (2.6.7): + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt (= 7.1.7) + - Flipper-Glog + - libevent (~> 2.1.12) + - OpenSSL-Universal (= 1.1.180) + - Flipper-Glog (0.3.6) + - Flipper-PeerTalk (0.0.4) + - Flipper-RSocket (1.4.3): + - Flipper-Folly (~> 2.6) + - FlipperKit (0.99.0): + - FlipperKit/Core (= 0.99.0) + - FlipperKit/Core (0.99.0): + - Flipper (~> 0.99.0) + - FlipperKit/CppBridge + - FlipperKit/FBCxxFollyDynamicConvert + - FlipperKit/FBDefines + - FlipperKit/FKPortForwarding + - FlipperKit/CppBridge (0.99.0): + - Flipper (~> 0.99.0) + - FlipperKit/FBCxxFollyDynamicConvert (0.99.0): + - Flipper-Folly (~> 2.6) + - FlipperKit/FBDefines (0.99.0) + - FlipperKit/FKPortForwarding (0.99.0): + - CocoaAsyncSocket (~> 7.6) + - Flipper-PeerTalk (~> 0.0.4) + - FlipperKit/FlipperKitHighlightOverlay (0.99.0) + - FlipperKit/FlipperKitLayoutHelpers (0.99.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutTextSearchable + - FlipperKit/FlipperKitLayoutIOSDescriptors (0.99.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutHelpers + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutPlugin (0.99.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutHelpers + - FlipperKit/FlipperKitLayoutIOSDescriptors + - FlipperKit/FlipperKitLayoutTextSearchable + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutTextSearchable (0.99.0) + - FlipperKit/FlipperKitNetworkPlugin (0.99.0): + - FlipperKit/Core + - FlipperKit/FlipperKitReactPlugin (0.99.0): + - FlipperKit/Core + - FlipperKit/FlipperKitUserDefaultsPlugin (0.99.0): + - FlipperKit/Core + - FlipperKit/SKIOSNetworkPlugin (0.99.0): + - FlipperKit/Core + - FlipperKit/FlipperKitNetworkPlugin + - fmt (6.2.1) + - glog (0.3.5) + - libevent (2.1.12) + - OpenSSL-Universal (1.1.180) + - RCT-Folly (2021.06.28.00-v2): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCT-Folly/Default (= 2021.06.28.00-v2) + - RCT-Folly/Default (2021.06.28.00-v2): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCTRequired (0.66.0) + - RCTTypeSafety (0.66.0): + - FBLazyVector (= 0.66.0) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.66.0) + - React-Core (= 0.66.0) + - React (0.66.0): + - React-Core (= 0.66.0) + - React-Core/DevSupport (= 0.66.0) + - React-Core/RCTWebSocket (= 0.66.0) + - React-RCTActionSheet (= 0.66.0) + - React-RCTAnimation (= 0.66.0) + - React-RCTBlob (= 0.66.0) + - React-RCTImage (= 0.66.0) + - React-RCTLinking (= 0.66.0) + - React-RCTNetwork (= 0.66.0) + - React-RCTSettings (= 0.66.0) + - React-RCTText (= 0.66.0) + - React-RCTVibration (= 0.66.0) + - React-callinvoker (0.66.0) + - React-Core (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.66.0) + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/CoreModulesHeaders (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/Default (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/DevSupport (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.66.0) + - React-Core/RCTWebSocket (= 0.66.0) + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-jsinspector (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/RCTActionSheetHeaders (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/RCTAnimationHeaders (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/RCTBlobHeaders (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/RCTImageHeaders (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/RCTLinkingHeaders (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/RCTNetworkHeaders (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/RCTSettingsHeaders (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/RCTTextHeaders (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/RCTVibrationHeaders (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-Core/RCTWebSocket (0.66.0): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.66.0) + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsiexecutor (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga + - React-CoreModules (0.66.0): + - FBReactNativeSpec (= 0.66.0) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.0) + - React-Core/CoreModulesHeaders (= 0.66.0) + - React-jsi (= 0.66.0) + - React-RCTImage (= 0.66.0) + - ReactCommon/turbomodule/core (= 0.66.0) + - React-cxxreact (0.66.0): + - boost (= 1.76.0) + - DoubleConversion + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-callinvoker (= 0.66.0) + - React-jsi (= 0.66.0) + - React-jsinspector (= 0.66.0) + - React-logger (= 0.66.0) + - React-perflogger (= 0.66.0) + - React-runtimeexecutor (= 0.66.0) + - React-jsi (0.66.0): + - boost (= 1.76.0) + - DoubleConversion + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-jsi/Default (= 0.66.0) + - React-jsi/Default (0.66.0): + - boost (= 1.76.0) + - DoubleConversion + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-jsiexecutor (0.66.0): + - DoubleConversion + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-perflogger (= 0.66.0) + - React-jsinspector (0.66.0) + - React-logger (0.66.0): + - glog + - React-perflogger (0.66.0) + - React-RCTActionSheet (0.66.0): + - React-Core/RCTActionSheetHeaders (= 0.66.0) + - React-RCTAnimation (0.66.0): + - FBReactNativeSpec (= 0.66.0) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.0) + - React-Core/RCTAnimationHeaders (= 0.66.0) + - React-jsi (= 0.66.0) + - ReactCommon/turbomodule/core (= 0.66.0) + - React-RCTBlob (0.66.0): + - FBReactNativeSpec (= 0.66.0) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/RCTBlobHeaders (= 0.66.0) + - React-Core/RCTWebSocket (= 0.66.0) + - React-jsi (= 0.66.0) + - React-RCTNetwork (= 0.66.0) + - ReactCommon/turbomodule/core (= 0.66.0) + - React-RCTImage (0.66.0): + - FBReactNativeSpec (= 0.66.0) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.0) + - React-Core/RCTImageHeaders (= 0.66.0) + - React-jsi (= 0.66.0) + - React-RCTNetwork (= 0.66.0) + - ReactCommon/turbomodule/core (= 0.66.0) + - React-RCTLinking (0.66.0): + - FBReactNativeSpec (= 0.66.0) + - React-Core/RCTLinkingHeaders (= 0.66.0) + - React-jsi (= 0.66.0) + - ReactCommon/turbomodule/core (= 0.66.0) + - React-RCTNetwork (0.66.0): + - FBReactNativeSpec (= 0.66.0) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.0) + - React-Core/RCTNetworkHeaders (= 0.66.0) + - React-jsi (= 0.66.0) + - ReactCommon/turbomodule/core (= 0.66.0) + - React-RCTSettings (0.66.0): + - FBReactNativeSpec (= 0.66.0) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.0) + - React-Core/RCTSettingsHeaders (= 0.66.0) + - React-jsi (= 0.66.0) + - ReactCommon/turbomodule/core (= 0.66.0) + - React-RCTText (0.66.0): + - React-Core/RCTTextHeaders (= 0.66.0) + - React-RCTVibration (0.66.0): + - FBReactNativeSpec (= 0.66.0) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/RCTVibrationHeaders (= 0.66.0) + - React-jsi (= 0.66.0) + - ReactCommon/turbomodule/core (= 0.66.0) + - React-runtimeexecutor (0.66.0): + - React-jsi (= 0.66.0) + - ReactCommon/turbomodule/core (0.66.0): + - DoubleConversion + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-callinvoker (= 0.66.0) + - React-Core (= 0.66.0) + - React-cxxreact (= 0.66.0) + - React-jsi (= 0.66.0) + - React-logger (= 0.66.0) + - React-perflogger (= 0.66.0) + - Yoga (1.14.0) + - YogaKit (1.18.1): + - Yoga (~> 1.14) + +DEPENDENCIES: + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) + - Flipper (= 0.99.0) + - Flipper-Boost-iOSX (= 1.76.0.1.11) + - Flipper-DoubleConversion (= 3.1.7) + - Flipper-Fmt (= 7.1.7) + - Flipper-Folly (= 2.6.7) + - Flipper-Glog (= 0.3.6) + - Flipper-PeerTalk (= 0.0.4) + - Flipper-RSocket (= 1.4.3) + - FlipperKit (= 0.99.0) + - FlipperKit/Core (= 0.99.0) + - FlipperKit/CppBridge (= 0.99.0) + - FlipperKit/FBCxxFollyDynamicConvert (= 0.99.0) + - FlipperKit/FBDefines (= 0.99.0) + - FlipperKit/FKPortForwarding (= 0.99.0) + - FlipperKit/FlipperKitHighlightOverlay (= 0.99.0) + - FlipperKit/FlipperKitLayoutPlugin (= 0.99.0) + - FlipperKit/FlipperKitLayoutTextSearchable (= 0.99.0) + - FlipperKit/FlipperKitNetworkPlugin (= 0.99.0) + - FlipperKit/FlipperKitReactPlugin (= 0.99.0) + - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.99.0) + - FlipperKit/SKIOSNetworkPlugin (= 0.99.0) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - React-Core (from `../node_modules/react-native/`) + - React-Core/DevSupport (from `../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - React-logger (from `../node_modules/react-native/ReactCommon/logger`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - CocoaAsyncSocket + - Flipper + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt + - Flipper-Folly + - Flipper-Glog + - Flipper-PeerTalk + - Flipper-RSocket + - FlipperKit + - fmt + - libevent + - OpenSSL-Universal + - YogaKit + +EXTERNAL SOURCES: + boost: + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + DoubleConversion: + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + FBLazyVector: + :path: "../node_modules/react-native/Libraries/FBLazyVector" + FBReactNativeSpec: + :path: "../node_modules/react-native/React/FBReactNativeSpec" + glog: + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + RCT-Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + RCTRequired: + :path: "../node_modules/react-native/Libraries/RCTRequired" + RCTTypeSafety: + :path: "../node_modules/react-native/Libraries/TypeSafety" + React: + :path: "../node_modules/react-native/" + React-callinvoker: + :path: "../node_modules/react-native/ReactCommon/callinvoker" + React-Core: + :path: "../node_modules/react-native/" + React-CoreModules: + :path: "../node_modules/react-native/React/CoreModules" + React-cxxreact: + :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-jsi: + :path: "../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../node_modules/react-native/ReactCommon/jsinspector" + React-logger: + :path: "../node_modules/react-native/ReactCommon/logger" + React-perflogger: + :path: "../node_modules/react-native/ReactCommon/reactperflogger" + React-RCTActionSheet: + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + React-RCTAnimation: + :path: "../node_modules/react-native/Libraries/NativeAnimation" + React-RCTBlob: + :path: "../node_modules/react-native/Libraries/Blob" + React-RCTImage: + :path: "../node_modules/react-native/Libraries/Image" + React-RCTLinking: + :path: "../node_modules/react-native/Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../node_modules/react-native/Libraries/Network" + React-RCTSettings: + :path: "../node_modules/react-native/Libraries/Settings" + React-RCTText: + :path: "../node_modules/react-native/Libraries/Text" + React-RCTVibration: + :path: "../node_modules/react-native/Libraries/Vibration" + React-runtimeexecutor: + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" + ReactCommon: + :path: "../node_modules/react-native/ReactCommon" + Yoga: + :path: "../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost: a7c83b31436843459a1961bfd74b96033dc77234 + CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 + DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 + FBLazyVector: 6816ca39e1cc8beffd2a96783f518296789d1c48 + FBReactNativeSpec: 3b1e86618e902743fde35b40cf9ebd100fd655b7 + Flipper: 30e8eeeed6abdc98edaf32af0cda2f198be4b733 + Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c + Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c + Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b + Flipper-Folly: 83af37379faa69497529e414bd43fbfc7cae259a + Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 + Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 + Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 + FlipperKit: d8d346844eca5d9120c17d441a2f38596e8ed2b9 + fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 + glog: 5337263514dd6f09803962437687240c5dc39aa4 + libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 + OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b + RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9 + RCTRequired: e4a18a90004e0ed97bba9081099104fd0f658dc9 + RCTTypeSafety: 8a3c31d38de58e1a6a7df6e4e643644a60b00e22 + React: 2b1d0dc3c23e01b754588a74a5b265282d9eb61e + React-callinvoker: 57c195e780695285fa56e61efdbc0ca0e9204484 + React-Core: 45e4b3c57b0b5fdbb24bc6a63a964870c0405955 + React-CoreModules: d7bb1ae3436eddd85a7eb6d5e928f8c1655d87db + React-cxxreact: 60c850e9997b21ee302757c36a460efc944183e7 + React-jsi: 38d68cb1b53843703100830d530342b32f8e0878 + React-jsiexecutor: 6a05173dc0142abc582bd4edd2d23146b8cc218a + React-jsinspector: be95ad424ba9f7b817aff22732eb9b1b810a000a + React-logger: 9a9cd87d4ea681ae929b32ef580638ff1b50fb24 + React-perflogger: 1f554c2b684e2f484f9edcdfdaeedab039fbaca8 + React-RCTActionSheet: 610d5a5d71ab4808734782c8bca6a12ec3563672 + React-RCTAnimation: ec6ed97370ace32724c253f29f0586cafcab8126 + React-RCTBlob: b3270d498ff240f49c50e1bc950b6e5fd48886ba + React-RCTImage: 23d5e26669b31230bea3fd99eb703af699e5d61a + React-RCTLinking: edaaee9dee82b79e90e7b903d8913fa72284fbba + React-RCTNetwork: e8825053dd1b5c2a0e1aa3cf1127750b624f90c0 + React-RCTSettings: 40d7ae987031c5dc561d11cd3a15cc1245a11d42 + React-RCTText: 6e104479d4f0bb593b4cf90b6fc6e5390c12ccde + React-RCTVibration: 53b92d54b923283638cb0186da7a5c2d2b70a49b + React-runtimeexecutor: 4bb657a97aa74568d9ed634c8bd478299bb8a3a6 + ReactCommon: eb059748e842a1a86025ebbd4ac9d99e74492f88 + Yoga: c11abbf5809216c91fcd62f5571078b83d9b6720 + YogaKit: f782866e155069a2cca2517aafea43200b01fd5a + +PODFILE CHECKSUM: c4573725f0124a0077824edbd57464e6e4f4f0d4 + +COCOAPODS: 1.11.2 diff --git a/ios/poc_e2e.xcodeproj/project.pbxproj b/ios/poc_e2e.xcodeproj/project.pbxproj new file mode 100644 index 0000000..44ad3e5 --- /dev/null +++ b/ios/poc_e2e.xcodeproj/project.pbxproj @@ -0,0 +1,689 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 00E356F31AD99517003FC87E /* poc_e2eTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* poc_e2eTests.m */; }; + 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 6172F2D35A4C3AA820D92908 /* libPods-poc_e2e.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6423831EA8574132BED9D8CC /* libPods-poc_e2e.a */; }; + 7EF68E3733C33B6898317E18 /* libPods-poc_e2e-poc_e2eTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ABFE59519B596E51CEFDCCC0 /* libPods-poc_e2e-poc_e2eTests.a */; }; + 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 13B07F861A680F5B00A75B9A; + remoteInfo = poc_e2e; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 00E356EE1AD99517003FC87E /* poc_e2eTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = poc_e2eTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 00E356F21AD99517003FC87E /* poc_e2eTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = poc_e2eTests.m; sourceTree = ""; }; + 13B07F961A680F5B00A75B9A /* poc_e2e.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = poc_e2e.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = poc_e2e/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = poc_e2e/AppDelegate.m; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = poc_e2e/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = poc_e2e/Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = poc_e2e/main.m; sourceTree = ""; }; + 1D0AE47A65C8663E3B452821 /* Pods-poc_e2e-poc_e2eTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-poc_e2e-poc_e2eTests.release.xcconfig"; path = "Target Support Files/Pods-poc_e2e-poc_e2eTests/Pods-poc_e2e-poc_e2eTests.release.xcconfig"; sourceTree = ""; }; + 6423831EA8574132BED9D8CC /* libPods-poc_e2e.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-poc_e2e.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6C97AB639B58BBB4B15BBE30 /* Pods-poc_e2e-poc_e2eTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-poc_e2e-poc_e2eTests.debug.xcconfig"; path = "Target Support Files/Pods-poc_e2e-poc_e2eTests/Pods-poc_e2e-poc_e2eTests.debug.xcconfig"; sourceTree = ""; }; + 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = poc_e2e/LaunchScreen.storyboard; sourceTree = ""; }; + ABFE59519B596E51CEFDCCC0 /* libPods-poc_e2e-poc_e2eTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-poc_e2e-poc_e2eTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + C0A881CF5CF3F2B244570E2A /* Pods-poc_e2e.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-poc_e2e.debug.xcconfig"; path = "Target Support Files/Pods-poc_e2e/Pods-poc_e2e.debug.xcconfig"; sourceTree = ""; }; + D00AAFFCFCFDA5787532823F /* Pods-poc_e2e.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-poc_e2e.release.xcconfig"; path = "Target Support Files/Pods-poc_e2e/Pods-poc_e2e.release.xcconfig"; sourceTree = ""; }; + ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 00E356EB1AD99517003FC87E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 7EF68E3733C33B6898317E18 /* libPods-poc_e2e-poc_e2eTests.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6172F2D35A4C3AA820D92908 /* libPods-poc_e2e.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 00E356EF1AD99517003FC87E /* poc_e2eTests */ = { + isa = PBXGroup; + children = ( + 00E356F21AD99517003FC87E /* poc_e2eTests.m */, + 00E356F01AD99517003FC87E /* Supporting Files */, + ); + path = poc_e2eTests; + sourceTree = ""; + }; + 00E356F01AD99517003FC87E /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 00E356F11AD99517003FC87E /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 13B07FAE1A68108700A75B9A /* poc_e2e */ = { + isa = PBXGroup; + children = ( + 13B07FAF1A68108700A75B9A /* AppDelegate.h */, + 13B07FB01A68108700A75B9A /* AppDelegate.m */, + 13B07FB51A68108700A75B9A /* Images.xcassets */, + 13B07FB61A68108700A75B9A /* Info.plist */, + 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, + 13B07FB71A68108700A75B9A /* main.m */, + ); + name = poc_e2e; + sourceTree = ""; + }; + 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { + isa = PBXGroup; + children = ( + ED297162215061F000B7C4FE /* JavaScriptCore.framework */, + 6423831EA8574132BED9D8CC /* libPods-poc_e2e.a */, + ABFE59519B596E51CEFDCCC0 /* libPods-poc_e2e-poc_e2eTests.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + ); + name = Libraries; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + 13B07FAE1A68108700A75B9A /* poc_e2e */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + 00E356EF1AD99517003FC87E /* poc_e2eTests */, + 83CBBA001A601CBA00E9B192 /* Products */, + 2D16E6871FA4F8E400B85C8A /* Frameworks */, + E233CBF5F47BEE60B243DCF8 /* Pods */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + usesTabs = 0; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* poc_e2e.app */, + 00E356EE1AD99517003FC87E /* poc_e2eTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + E233CBF5F47BEE60B243DCF8 /* Pods */ = { + isa = PBXGroup; + children = ( + C0A881CF5CF3F2B244570E2A /* Pods-poc_e2e.debug.xcconfig */, + D00AAFFCFCFDA5787532823F /* Pods-poc_e2e.release.xcconfig */, + 6C97AB639B58BBB4B15BBE30 /* Pods-poc_e2e-poc_e2eTests.debug.xcconfig */, + 1D0AE47A65C8663E3B452821 /* Pods-poc_e2e-poc_e2eTests.release.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 00E356ED1AD99517003FC87E /* poc_e2eTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "poc_e2eTests" */; + buildPhases = ( + A130D646172E58E1D159D8F2 /* [CP] Check Pods Manifest.lock */, + 00E356EA1AD99517003FC87E /* Sources */, + 00E356EB1AD99517003FC87E /* Frameworks */, + 00E356EC1AD99517003FC87E /* Resources */, + 077E01280D4B4AD18B2E1770 /* [CP] Embed Pods Frameworks */, + 4E62BDF20514810D028A5FBF /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + 00E356F51AD99517003FC87E /* PBXTargetDependency */, + ); + name = poc_e2eTests; + productName = poc_e2eTests; + productReference = 00E356EE1AD99517003FC87E /* poc_e2eTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 13B07F861A680F5B00A75B9A /* poc_e2e */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "poc_e2e" */; + buildPhases = ( + 3E482C27206C4DEF2FE45063 /* [CP] Check Pods Manifest.lock */, + FD10A7F022414F080027D42C /* Start Packager */, + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + C8AC78B0264D0F9F6F6D630E /* [CP] Embed Pods Frameworks */, + ADC9DDC32298B72B3CF5DC8E /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = poc_e2e; + productName = poc_e2e; + productReference = 13B07F961A680F5B00A75B9A /* poc_e2e.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1210; + TargetAttributes = { + 00E356ED1AD99517003FC87E = { + CreatedOnToolsVersion = 6.2; + TestTargetID = 13B07F861A680F5B00A75B9A; + }; + 13B07F861A680F5B00A75B9A = { + LastSwiftMigration = 1120; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "poc_e2e" */; + compatibilityVersion = "Xcode 12.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* poc_e2e */, + 00E356ED1AD99517003FC87E /* poc_e2eTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 00E356EC1AD99517003FC87E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\n\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; + }; + 077E01280D4B4AD18B2E1770 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-poc_e2e-poc_e2eTests/Pods-poc_e2e-poc_e2eTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-poc_e2e-poc_e2eTests/Pods-poc_e2e-poc_e2eTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-poc_e2e-poc_e2eTests/Pods-poc_e2e-poc_e2eTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3E482C27206C4DEF2FE45063 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-poc_e2e-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 4E62BDF20514810D028A5FBF /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-poc_e2e-poc_e2eTests/Pods-poc_e2e-poc_e2eTests-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-poc_e2e-poc_e2eTests/Pods-poc_e2e-poc_e2eTests-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-poc_e2e-poc_e2eTests/Pods-poc_e2e-poc_e2eTests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + A130D646172E58E1D159D8F2 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-poc_e2e-poc_e2eTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + ADC9DDC32298B72B3CF5DC8E /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-poc_e2e/Pods-poc_e2e-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-poc_e2e/Pods-poc_e2e-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-poc_e2e/Pods-poc_e2e-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + C8AC78B0264D0F9F6F6D630E /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-poc_e2e/Pods-poc_e2e-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-poc_e2e/Pods-poc_e2e-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-poc_e2e/Pods-poc_e2e-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + FD10A7F022414F080027D42C /* Start Packager */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Start Packager"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 00E356EA1AD99517003FC87E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 00E356F31AD99517003FC87E /* poc_e2eTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, + 13B07FC11A68108700A75B9A /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 13B07F861A680F5B00A75B9A /* poc_e2e */; + targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 00E356F61AD99517003FC87E /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6C97AB639B58BBB4B15BBE30 /* Pods-poc_e2e-poc_e2eTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = poc_e2eTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + "$(inherited)", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/poc_e2e.app/poc_e2e"; + }; + name = Debug; + }; + 00E356F71AD99517003FC87E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1D0AE47A65C8663E3B452821 /* Pods-poc_e2e-poc_e2eTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + COPY_PHASE_STRIP = NO; + INFOPLIST_FILE = poc_e2eTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + "$(inherited)", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/poc_e2e.app/poc_e2e"; + }; + name = Release; + }; + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C0A881CF5CF3F2B244570E2A /* Pods-poc_e2e.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 1; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = poc_e2e/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = poc_e2e; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D00AAFFCFCFDA5787532823F /* Pods-poc_e2e.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 1; + INFOPLIST_FILE = poc_e2e/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = poc_e2e; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 "; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); + LIBRARY_SEARCH_PATHS = ( + "\"$(SDKROOT)/usr/lib/swift\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 "; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); + LIBRARY_SEARCH_PATHS = ( + "\"$(SDKROOT)/usr/lib/swift\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "poc_e2eTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 00E356F61AD99517003FC87E /* Debug */, + 00E356F71AD99517003FC87E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "poc_e2e" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "poc_e2e" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/ios/poc_e2e.xcodeproj/xcshareddata/xcschemes/poc_e2e.xcscheme b/ios/poc_e2e.xcodeproj/xcshareddata/xcschemes/poc_e2e.xcscheme new file mode 100644 index 0000000..9b16ed1 --- /dev/null +++ b/ios/poc_e2e.xcodeproj/xcshareddata/xcschemes/poc_e2e.xcscheme @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/poc_e2e.xcworkspace/contents.xcworkspacedata b/ios/poc_e2e.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..555ec36 --- /dev/null +++ b/ios/poc_e2e.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/ios/poc_e2e.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/poc_e2e.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/poc_e2e.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/poc_e2e/AppDelegate.h b/ios/poc_e2e/AppDelegate.h new file mode 100644 index 0000000..ef1de86 --- /dev/null +++ b/ios/poc_e2e/AppDelegate.h @@ -0,0 +1,8 @@ +#import +#import + +@interface AppDelegate : UIResponder + +@property (nonatomic, strong) UIWindow *window; + +@end diff --git a/ios/poc_e2e/AppDelegate.m b/ios/poc_e2e/AppDelegate.m new file mode 100644 index 0000000..008ceff --- /dev/null +++ b/ios/poc_e2e/AppDelegate.m @@ -0,0 +1,62 @@ +#import "AppDelegate.h" + +#import +#import +#import + +#ifdef FB_SONARKIT_ENABLED +#import +#import +#import +#import +#import +#import + +static void InitializeFlipper(UIApplication *application) { + FlipperClient *client = [FlipperClient sharedClient]; + SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; + [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]]; + [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; + [client addPlugin:[FlipperKitReactPlugin new]]; + [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; + [client start]; +} +#endif + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ +#ifdef FB_SONARKIT_ENABLED + InitializeFlipper(application); +#endif + + RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; + RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge + moduleName:@"poc_e2e" + initialProperties:nil]; + + if (@available(iOS 13.0, *)) { + rootView.backgroundColor = [UIColor systemBackgroundColor]; + } else { + rootView.backgroundColor = [UIColor whiteColor]; + } + + self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + UIViewController *rootViewController = [UIViewController new]; + rootViewController.view = rootView; + self.window.rootViewController = rootViewController; + [self.window makeKeyAndVisible]; + return YES; +} + +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ +#if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; +#else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif +} + +@end diff --git a/ios/poc_e2e/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/poc_e2e/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..118c98f --- /dev/null +++ b/ios/poc_e2e/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,38 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/poc_e2e/Images.xcassets/Contents.json b/ios/poc_e2e/Images.xcassets/Contents.json new file mode 100644 index 0000000..2d92bd5 --- /dev/null +++ b/ios/poc_e2e/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/poc_e2e/Info.plist b/ios/poc_e2e/Info.plist new file mode 100644 index 0000000..2cb1e0a --- /dev/null +++ b/ios/poc_e2e/Info.plist @@ -0,0 +1,55 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + poc_e2e + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + NSLocationWhenInUseUsageDescription + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/ios/poc_e2e/LaunchScreen.storyboard b/ios/poc_e2e/LaunchScreen.storyboard new file mode 100644 index 0000000..60343c8 --- /dev/null +++ b/ios/poc_e2e/LaunchScreen.storyboard @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/poc_e2e/main.m b/ios/poc_e2e/main.m new file mode 100644 index 0000000..b1df44b --- /dev/null +++ b/ios/poc_e2e/main.m @@ -0,0 +1,9 @@ +#import + +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/ios/poc_e2eTests/Info.plist b/ios/poc_e2eTests/Info.plist new file mode 100644 index 0000000..ba72822 --- /dev/null +++ b/ios/poc_e2eTests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/ios/poc_e2eTests/poc_e2eTests.m b/ios/poc_e2eTests/poc_e2eTests.m new file mode 100644 index 0000000..079d6dc --- /dev/null +++ b/ios/poc_e2eTests/poc_e2eTests.m @@ -0,0 +1,65 @@ +#import +#import + +#import +#import + +#define TIMEOUT_SECONDS 600 +#define TEXT_TO_LOOK_FOR @"Welcome to React" + +@interface poc_e2eTests : XCTestCase + +@end + +@implementation poc_e2eTests + +- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test +{ + if (test(view)) { + return YES; + } + for (UIView *subview in [view subviews]) { + if ([self findSubviewInView:subview matching:test]) { + return YES; + } + } + return NO; +} + +- (void)testRendersWelcomeScreen +{ + UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController]; + NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; + BOOL foundElement = NO; + + __block NSString *redboxError = nil; +#ifdef DEBUG + RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { + if (level >= RCTLogLevelError) { + redboxError = message; + } + }); +#endif + + while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { + [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; + [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; + + foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) { + if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { + return YES; + } + return NO; + }]; + } + +#ifdef DEBUG + RCTSetLogFunction(RCTDefaultLogFunction); +#endif + + XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); + XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); +} + + +@end diff --git a/metro.config.js b/metro.config.js new file mode 100644 index 0000000..e91aba9 --- /dev/null +++ b/metro.config.js @@ -0,0 +1,17 @@ +/** + * Metro configuration for React Native + * https://github.com/facebook/react-native + * + * @format + */ + +module.exports = { + transformer: { + getTransformOptions: async () => ({ + transform: { + experimentalImportSupport: false, + inlineRequires: true, + }, + }), + }, +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..7208e18 --- /dev/null +++ b/package.json @@ -0,0 +1,46 @@ +{ + "name": "poc_e2e", + "version": "0.0.1", + "private": true, + "scripts": { + "android": "npx react-native run-android", + "ios": "npx react-native run-ios", + "start": "npx react-native start", + "test": "jest", + "lint": "eslint . --ext .js,.jsx,.ts,.tsx" + }, + "dependencies": { + "react": "17.0.2", + "react-native": "0.66.0" + }, + "devDependencies": { + "@babel/core": "^7.12.9", + "@babel/runtime": "^7.12.5", + "@react-native-community/eslint-config": "^2.0.0", + "@types/jest": "^26.0.23", + "@types/react-native": "^0.65.0", + "@types/react-test-renderer": "^17.0.1", + "babel-jest": "^26.6.3", + "detox": "^18.22.1", + "eslint": "^7.14.0", + "eslint-plugin-jest": "^24.5.2", + "jest": "^27.2.5", + "metro-react-native-babel-preset": "^0.66.2", + "react-test-renderer": "17.0.2", + "typescript": "^3.8.3" + }, + "resolutions": { + "@types/react": "^17" + }, + "jest": { + "preset": "react-native", + "moduleFileExtensions": [ + "ts", + "tsx", + "js", + "jsx", + "json", + "node" + ] + } +} diff --git a/src/components/Button/index.tsx b/src/components/Button/index.tsx new file mode 100644 index 0000000..2ddb1f1 --- /dev/null +++ b/src/components/Button/index.tsx @@ -0,0 +1,15 @@ +import React from 'react'; +import { TouchableOpacity, TouchableOpacityProps, Text } from 'react-native'; + +import { styles } from './styles'; + +type Props = TouchableOpacityProps & { + title: string; +}; +export function Button({ title, ...rest }: Props) { + return ( + + {title} + + ); +} diff --git a/src/components/Button/styles.ts b/src/components/Button/styles.ts new file mode 100644 index 0000000..92a4e1b --- /dev/null +++ b/src/components/Button/styles.ts @@ -0,0 +1,15 @@ +import { StyleSheet } from 'react-native'; + +export const styles = StyleSheet.create({ + container: { + backgroundColor: '#0085FF', + padding: 12, + alignItems: 'center', + justifyContent: 'center', + borderRadius: 5 + }, + title: { + color: '#FFF', + fontSize: 16 + } +}); \ No newline at end of file diff --git a/src/components/Header/index.tsx b/src/components/Header/index.tsx new file mode 100644 index 0000000..3c7d7cc --- /dev/null +++ b/src/components/Header/index.tsx @@ -0,0 +1,16 @@ +import React from 'react'; +import { View, Text } from 'react-native'; + +import { styles } from './styles'; + +export function Header() { + return ( + + Your Plan + + + Change + + + ); +} diff --git a/src/components/Header/styles.ts b/src/components/Header/styles.ts new file mode 100644 index 0000000..4a386b1 --- /dev/null +++ b/src/components/Header/styles.ts @@ -0,0 +1,25 @@ +import { StyleSheet } from 'react-native'; + +export const styles = StyleSheet.create({ + container: { + width: '100%', + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginTop: 50, + borderBottomWidth: 1, + borderBottomColor: '#E8E8E8', + paddingBottom: 33 + }, + button: { + flexDirection: 'row', + }, + title: { + fontSize: 24, + fontWeight: 'bold', + color: '#1C1C1C' + }, + subtitle: { + fontSize: 17 + } +}); \ No newline at end of file diff --git a/src/components/Input/index.tsx b/src/components/Input/index.tsx new file mode 100644 index 0000000..1b24cff --- /dev/null +++ b/src/components/Input/index.tsx @@ -0,0 +1,8 @@ +import React from 'react'; +import { TextInput, TextInputProps } from 'react-native'; + +import { styles } from './styles'; + +export function Input({ ...rest }: TextInputProps) { + return ; +} diff --git a/src/components/Input/styles.ts b/src/components/Input/styles.ts new file mode 100644 index 0000000..e5e7adc --- /dev/null +++ b/src/components/Input/styles.ts @@ -0,0 +1,13 @@ +import { StyleSheet } from 'react-native'; + +export const styles = StyleSheet.create({ + input: { + width: '100%', + height: 50, + borderRadius: 5, + borderWidth: 1, + borderColor: '#E8E8E8', + paddingHorizontal: 12, + marginVertical: 34 + }, +}); \ No newline at end of file diff --git a/src/components/Option/index.tsx b/src/components/Option/index.tsx new file mode 100644 index 0000000..7dddfb4 --- /dev/null +++ b/src/components/Option/index.tsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { TouchableOpacity, TouchableOpacityProps, Text } from 'react-native'; + +import { styles } from './styles'; + +type Props = TouchableOpacityProps & { + title: string; + active?: boolean; +}; +export function Option({ title, active, ...rest }: Props) { + return ( + + {title} + + ); +} diff --git a/src/components/Option/styles.ts b/src/components/Option/styles.ts new file mode 100644 index 0000000..0bd0350 --- /dev/null +++ b/src/components/Option/styles.ts @@ -0,0 +1,14 @@ +import { StyleSheet } from 'react-native'; + +export const styles = StyleSheet.create({ + container: { + height: 35, + paddingHorizontal: 14, + alignItems: 'center', + justifyContent: 'center', + borderRadius: 5 + }, + active: { + backgroundColor: '#FFFFFF', + } +}); \ No newline at end of file diff --git a/src/components/PlanInfo/index.tsx b/src/components/PlanInfo/index.tsx new file mode 100644 index 0000000..c6519dc --- /dev/null +++ b/src/components/PlanInfo/index.tsx @@ -0,0 +1,24 @@ +import React from 'react'; +import { View, Text } from 'react-native'; + +import { styles } from './styles'; + +export type PlanInfoProps = { + name: string; + value: string; +}; + +export function PlanInfo({ name, value }: PlanInfoProps) { + return ( + + {name} + + + {value} + /month + + + Cancel anytime. Ofter terms apply. + + ); +} diff --git a/src/components/PlanInfo/styles.ts b/src/components/PlanInfo/styles.ts new file mode 100644 index 0000000..e3097d2 --- /dev/null +++ b/src/components/PlanInfo/styles.ts @@ -0,0 +1,33 @@ +import { StyleSheet, Dimensions } from 'react-native'; + +export const styles = StyleSheet.create({ + planInfo: { + width: '100%', + borderBottomWidth: 1, + borderBottomColor: '#E8E8E8', + paddingBottom: 33, + }, + plan: { + fontWeight: 'bold', + fontSize: 18, + marginBottom: 14, + marginTop: 34 + }, + price: { + flexDirection: 'row', + alignItems: 'flex-end', + }, + value: { + fontWeight: 'bold', + color: '#1C1C1C', + fontSize: 32 + }, + recurrence: { + marginBottom: 7, + color: '#585656' + }, + note: { + color: '#8C8C8C', + fontSize: 12 + }, +}); \ No newline at end of file diff --git a/src/screens/Plan/index.tsx b/src/screens/Plan/index.tsx new file mode 100644 index 0000000..a2a82ca --- /dev/null +++ b/src/screens/Plan/index.tsx @@ -0,0 +1,88 @@ +import React, { useState } from 'react'; +import { + View, + Text, + TouchableWithoutFeedback, + Keyboard, + ScrollView, +} from 'react-native'; + +import { Input } from '../../components/Input'; +import { Header } from '../../components/Header'; +import { Option } from '../../components/Option'; +import { Button } from '../../components/Button'; +import { PlanInfo, PlanInfoProps } from '../../components/PlanInfo'; + +import { styles } from './styles'; + +export function Plan() { + const [planInfo, setPlanInfo] = useState({ + name: 'Basic', + value: '5.25', + }); + const [emailSent, setEmailSent] = useState(false); + + function handleChangePlan(plan: string) { + if (plan === 'basic') { + setPlanInfo({ + name: 'Basic', + value: '5.25', + }); + } else { + setPlanInfo({ + name: 'Premium', + value: '6.99', + }); + } + } + + function handleSubscribe() { + setEmailSent(true); + } + + return ( + + + +