Skip to content

Commit

Permalink
Added instructions for running local xmtp server for testing unit tes…
Browse files Browse the repository at this point in the history
…ts on local emulators
  • Loading branch information
Cameron Voell authored and Cameron Voell committed Dec 7, 2023
1 parent 5ea4174 commit 1c904bf
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 3 deletions.
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,14 @@ Access the `xmtp-react-native` client SDK [reference documentation](https://xmtp

## Example app

Use the [XMTP React Native example app](example) as a tool to start building an app with XMTP. This basic messaging app has an intentionally unopinionated UI to help make it easier for you to build with.
Use the [XMTP React Native example app](example) as a tool to start building an app with XMTP. This basic messaging app has an intentionally unopinionated UI to help make it easier for you to build with. [See example/README.md](example/README.md) for more instructions.

Follow the [React Native guide](https://reactnative.dev/docs/environment-setup) to set up a CLI environment.
### Quickstart to use the example app:

To use the example app, run:
Follow the [React Native guide](https://reactnative.dev/docs/environment-setup) to set up a CLI environment.

```bash
npm install
cd example
npm install --force
npm run [ios or android]
Expand Down
37 changes: 37 additions & 0 deletions example/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# XMTP React Native Example App

This basic messaging app has an intentionally unopinionated UI to help make it easier for you to build with.

## Running the Example App
Follow the [React Native guide](https://reactnative.dev/docs/environment-setup) to set up a CLI environment.

To use the example app, run:

```bash
npm install
cd example
npm install --force
npm run [ios or android]
```

## Running Example App Unit tests on local emulators
Running tests locally is useful when updating GitHub actions, or locally testing between changes.

1. [Install docker](https://docs.docker.com/get-docker/)

2. Start a local XMTP server (from example directory)
```bash
docker-compose -p xmtp -f dev/local/docker-compose.yml up -d
```
3. Verify XMTP server is running
```bash
docker-compose ls
NAME STATUS CONFIG FILES
xmtp running(3) <REPO_DIRECTORY>/xmtp-react-native/example/dev/local/docker-compose.yml
```
4. You can now run Unit tests on your local emulators
5. You can stop the local xmtp server with the following command
```bash
docker-compose -p xmtp -f dev/local/docker-compose.yml down
```

0 comments on commit 1c904bf

Please sign in to comment.