Set up E2E test framework for Android using WebdriverIO, Appium, and UiAutomator2. Add testID props to key components (AuthButton, BaseButton, ChatBubble, CustomTextInput, ProposedEventCard) and apply testIDs to login screen, chat screen, tab bar, and settings. Include initial tests for app launch detection and login flow validation. Update CLAUDE.md with E2E docs.
66 lines
2.1 KiB
JSON
66 lines
2.1 KiB
JSON
{
|
|
"name": "@calchat/client",
|
|
"main": "expo-router/entry",
|
|
"version": "1.0.0",
|
|
"scripts": {
|
|
"start": "expo start",
|
|
"reset-project": "node ./scripts/reset-project.js",
|
|
"android": "expo start --android",
|
|
"ios": "expo start --ios",
|
|
"web": "expo start --web",
|
|
"lint": "expo lint",
|
|
"build:apk": "eas build --platform android --profile preview --local --non-interactive --output ./calchat.apk",
|
|
"test:e2e": "NODE_OPTIONS=--experimental-vm-modules jest --config e2e/jest.config.ts --runInBand"
|
|
},
|
|
"dependencies": {
|
|
"@calchat/shared": "*",
|
|
"@expo/vector-icons": "^15.0.3",
|
|
"@react-native-community/datetimepicker": "8.4.4",
|
|
"@react-navigation/bottom-tabs": "^7.4.0",
|
|
"@react-navigation/elements": "^2.6.3",
|
|
"@react-navigation/native": "^7.1.8",
|
|
"@shopify/flash-list": "^2.0.2",
|
|
"expo": "~54.0.25",
|
|
"expo-build-properties": "^1.0.10",
|
|
"expo-constants": "~18.0.10",
|
|
"expo-font": "~14.0.9",
|
|
"expo-haptics": "~15.0.7",
|
|
"expo-image": "~3.0.10",
|
|
"expo-linking": "~8.0.9",
|
|
"expo-router": "~6.0.15",
|
|
"expo-secure-store": "^15.0.8",
|
|
"expo-splash-screen": "~31.0.11",
|
|
"expo-status-bar": "~3.0.8",
|
|
"expo-symbols": "~1.0.7",
|
|
"expo-system-ui": "~6.0.8",
|
|
"expo-web-browser": "~15.0.9",
|
|
"nativewind": "^4.2.1",
|
|
"react": "19.1.0",
|
|
"react-dom": "19.1.0",
|
|
"react-native": "0.81.5",
|
|
"react-native-gesture-handler": "~2.28.0",
|
|
"react-native-logs": "^5.5.0",
|
|
"react-native-reanimated": "~4.1.1",
|
|
"react-native-safe-area-context": "5.6.0",
|
|
"react-native-screens": "~4.16.0",
|
|
"react-native-web": "~0.21.0",
|
|
"react-native-worklets": "0.5.1",
|
|
"rrule": "^2.8.1",
|
|
"zustand": "^5.0.9"
|
|
},
|
|
"devDependencies": {
|
|
"@types/jest": "^29.5.14",
|
|
"@types/react": "~19.1.0",
|
|
"appium": "^2.17.1",
|
|
"appium-uiautomator2-driver": "^3.8.0",
|
|
"eslint-config-expo": "~10.0.0",
|
|
"jest": "^29.7.0",
|
|
"prettier-plugin-tailwindcss": "^0.5.11",
|
|
"tailwindcss": "^3.4.17",
|
|
"ts-jest": "^29.2.5",
|
|
"ts-node": "^10.9.2",
|
|
"webdriverio": "^9.14.2"
|
|
},
|
|
"private": true
|
|
}
|