{"id":14974307,"url":"https://github.com/ganeshpadhayay/exploring-react-native","last_synced_at":"2025-10-27T06:32:08.761Z","repository":{"id":40755638,"uuid":"280341212","full_name":"ganeshpadhayay/exploring-react-native","owner":"ganeshpadhayay","description":"This uses testing libraries(jest, react-native-testing-library, detox) in clean architecture context in react native, redux setup, thunk, axios, and code-push","archived":false,"fork":false,"pushed_at":"2023-01-06T11:42:46.000Z","size":4179,"stargazers_count":31,"open_issues_count":19,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-09-28T18:42:54.331Z","etag":null,"topics":["axios","axios-plugin","clean-architecture","code-push","detox","formik","hermes-engine","jest-tests","react-native-app","react-native-testing","react-native-testing-library","redux","thunk-middleware"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ganeshpadhayay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-17T06:06:46.000Z","updated_at":"2024-07-12T12:15:21.000Z","dependencies_parsed_at":"2023-02-06T00:30:15.866Z","dependency_job_id":null,"html_url":"https://github.com/ganeshpadhayay/exploring-react-native","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshpadhayay%2Fexploring-react-native","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshpadhayay%2Fexploring-react-native/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshpadhayay%2Fexploring-react-native/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshpadhayay%2Fexploring-react-native/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ganeshpadhayay","download_url":"https://codeload.github.com/ganeshpadhayay/exploring-react-native/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219861742,"owners_count":16555987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios","axios-plugin","clean-architecture","code-push","detox","formik","hermes-engine","jest-tests","react-native-app","react-native-testing","react-native-testing-library","redux","thunk-middleware"],"created_at":"2024-09-24T13:50:22.430Z","updated_at":"2025-10-27T06:32:08.131Z","avatar_url":"https://github.com/ganeshpadhayay.png","language":"JavaScript","readme":"In this repo, I have used:\n\n1. jest - this comes in built with a vanilla react native project and used for unit testing functions and objects. It can also be used to do snapshot testing for \ncompoments but I do not prefer that as it becomes difficult to manage complex components.\n2. react-native-testing-library - this is being used to test the components behaviour, this is different from enzyme as it only tests the behaviour and not the\ninternals of a component(who wants to test the internals anyway?).\n3. detox - this is being used to write robust end to end tests in conjunction with Jest runner.\n\nThis whole sample focuses on implementing the Uncle Bob's clean architecture in react native and writing tests in accordance with that architecture.\n\nFeel free to point out mistakes as I am a complete newbie when it comes to react-native.\n\nHere is the package.json file for this project dated 28th July 2020\n\n{\n  \"name\": \"sample-clean-testing-architecture\",\n  \"version\": \"0.0.1\",\n  \"private\": true,\n  \"scripts\": {\n    \"android\": \"react-native run-android\",\n    \"ios\": \"react-native run-ios\",\n    \"start\": \"react-native start\",\n    \"test\": \"jest\",\n    \"lint\": \"eslint .\"\n  },\n  \"dependencies\": {\n    \"axios\": \"^0.19.2\",\n    \"react\": \"16.13.1\",\n    \"react-native\": \"0.63.1\",\n    \"react-native-testing-library\": \"^2.1.1\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.8.4\",\n    \"@babel/runtime\": \"^7.8.4\",\n    \"@react-native-community/eslint-config\": \"^1.1.0\",\n    \"@types/jest\": \"^26.0.7\",\n    \"@types/react\": \"^16.9.43\",\n    \"@types/react-native\": \"^0.63.2\",\n    \"@types/react-test-renderer\": \"^16.9.2\",\n    \"babel-jest\": \"^25.1.0\",\n    \"detox\": \"^17.2.1\",\n    \"eslint\": \"^6.5.1\",\n    \"jest\": \"^26.0.1\",\n    \"jest-circus\": \"^26.1.0\",\n    \"metro-react-native-babel-preset\": \"^0.59.0\",\n    \"react-test-renderer\": \"^16.13.1\",\n    \"typescript\": \"^3.9.7\"\n  },\n  \"jest\": {\n    \"preset\": \"react-native\"\n  }\n}\n\n\nThanks!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganeshpadhayay%2Fexploring-react-native","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fganeshpadhayay%2Fexploring-react-native","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganeshpadhayay%2Fexploring-react-native/lists"}