It was great to see you have implemented multiple unit test cases for multiple layers like the Usecase (domain layer), ViewModel (app layer), Repository + Response classes (data layer). Now, it is a bit odd that you didn't write any unit tests for the HomeViewModel, which is the most important logic file in the application.
Also, there is no instrumented test found in the application. It would be great if a few instrumented tests to verify some basic flows in the application could be provided.
Expect
The test coverage for this project can be improved to reach above 80% for all the ViewModel classes used.
Create some instrumented tests with Expresso for verifying a simple flow (e.g. open the Survey Lists screen from the Login screen) in the application.
Issue
It was great to see you have implemented multiple unit test cases for multiple layers like the Usecase (domain layer), ViewModel (app layer), Repository + Response classes (data layer). Now, it is a bit odd that you didn't write any unit tests for the
HomeViewModel
, which is the most important logic file in the application.https://github.com/huuphuoc1396/android-nimble-surveys/blob/2b94876ed1f9fa6995dd5e0f2af7807f0cb85781/app/src/test/java/co/nimblehq/surveys/features/home/HomeViewModelTest.kt#L11-L27
Also, there is no instrumented test found in the application. It would be great if a few instrumented tests to verify some basic flows in the application could be provided.
Expect
The test coverage for this project can be improved to reach above 80% for all the ViewModel classes used.
Create some instrumented tests with Expresso for verifying a simple flow (e.g. open the Survey Lists screen from the Login screen) in the application.