Skip to content

zingolabs/zingo-mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zingo Android and iOS apps

App Store: https://apps.apple.com/app/zingo/id1668209531 Google Play: https://play.google.com/store/apps/details?id=org.ZingoLabs.Zingo

Security Vulnerability Disclosure

If you believe you have discovered a security issue, please contact us at:

[email protected]

Building The App

Please see the platform specific iOS and Android "quickstart" documentation.

Testing

Prerequisites

Integration tests and end-to-end tests require a regtest server. On linux hosts, these may be run locally by installing the lightwalletd, zcashd and zcash-cli binaries (https://github.com/zingolabs/zingolib#regtest). From the rust/android/regtest/bin/ directory run:
ln -s path/to/lightwalletd/binary path/to/zcashd/binary path/to/zcash-cli/binary ./
From the rust/android/lightwalletd_bin directory run:
ln -s path/to/lightwalletd/binary ./

Alternatively, integration tests and end-to-end tests can be run on non-linux hosts with Regchest (https://github.com/zingolabs/zingo-regchest). Regchest manages the zcash/lightwalletd regtest network in a docker container. Before running tests, pull the latest Regchest image from docker:
docker pull zingodevops/regchest:010

Yarn Tests

  1. From the root directory, run:
    yarn test

Integration Tests

  1. Create quick-boot snapshots to speed up AVD launch times. From the root directory, run:
    ./scripts/integration_tests.sh -a x86_64 -s
    ./scripts/integration_tests.sh -a x86 -s
    By default, this uses default API 29 system images. Other images may be used for testing by specifying the api level and target. However, using other images with the cargo test runner is still under development.
  2. To run the integration tests. From the rust directory, run:
    cargo nextest run integration
    Specify to run specific ABI:
    cargo nextest run integration::x86_64
    cargo nextest run integration::x86_32
    cargo nextest run integration::arm64
    cargo nextest run integration::arm32
    Specify to run a specific test on all ABIs:
    cargo nextest run test_name
    Specify to run a specific ABI and test:
    cargo nextest run integration::x86_64::test_name

To run tests with Regchest, add the --features regchest flag, for example:
cargo nextest run integration --features regchest

For more information on running integration tests on non-default AVDs, run:
./scripts/integration_tests.sh -h
Without the cargo test runner these emulated android devices will not be able to connect to a lightwalletd/zcashd regtest network. Therefore, only tests in the "Offline Testsuite" may be tested.

End-to-End Tests

  1. Note there needs to be a lightwalletd in rust/android/lightwalletd_bin
  2. Launch the emulated AVD by clicking the 'play' icon in Android Studio's Device Manager. Alternatively, connect to a physical device. See previous section 'Launching the app' for more details.
  3. In a terminal, run:
    yarn start
  4. Create quick-boot snapshots to speed up AVD launch times. From the root directory, run:
    ./scripts/e2e_tests.sh -a x86_64 -s
    ./scripts/e2e_tests.sh -a x86 -s
    By default, this uses default API 29 system images. Other images may be used for testing by specifying the api level and target. However, using other images with the cargo test runner is still under development.
  5. In a separate terminal, from the rust directory, run all tests:
    cargo nextest run e2e Specify to run specific ABI:
    cargo nextest run e2e::x86_64
    cargo nextest run e2e::x86_32
    cargo nextest run e2e::arm64
    cargo nextest run e2e::arm32
    Specify to run a specific ABI and test:
    cargo nextest run e2e::x86_64::test_name

Regchest is still under development and currently not able to run darkside end-to-end tests:
cargo nextest run e2e --features regchest -E 'not test(darkside)'

Troubleshooting

For notes on known issues and problems, see the trouble-shooting notes.

About

Zingo! Android and iOS apps

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 9