Test project with modularisation, Instant app support, MVP architecture (Dagger, Rx, Retrofit, Picasso etc), Code base mix between Kotlin and Java, TDD work for the unit tests and BDD (Espresso, Cucumber) work for the UI tests and the E2E tests.
The API behind the project is LastFM Api [https://www.last.fm/api]
./gradlew connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.annotation=com.sniper.music.StableTest
./gradlew connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.annotation=com.sniper.music.SmokeTest
./gradlew connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.annotation=com.sniper.music.HomeScreenTest
./gradlew connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.annotation=com.sniper.music.DetailsScreenTest
./gradlew connectedCheck -Pcucumber -Ptags="@e2e"
also run ./gradlew connectedCheck -Pcucumber -Ptags="@smoke" to run all smoke BDD tests
./gradlew precommit
./gradlew checkstyleMain detektCheck lintDebug