Skip to content

[LD-107] Extract mock-web-server-module. #316

[LD-107] Extract mock-web-server-module.

[LD-107] Extract mock-web-server-module. #316

GitHub Actions / Tests Results succeeded Mar 14, 2024 in 1s

146 passed, 0 failed and 0 skipped

Tests passed successfully

Report Passed Failed Skipped Time
app-shared-tests/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.util.DescribedKtTest.xml 4✅ 128ms
app-shared-tests/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.util.KeyGroupingKtTest.xml 5✅ 2s
app/build/test-results/results.xml 9✅ 44s
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ActivitySetupTest.xml 1✅ 6s
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.analytics.EventParametersConverterTest.xml 1✅ 3s
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.analytics.FirebaseAnalyticsEventTrackerTest.xml 1✅ 1s
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.di.CheckModulesTest.xml 1✅ 2s
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.AuthRepositoryImplTest.xml 4✅ 101ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetPullRequestsForUserTest.xml 2✅ 219ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetRequestedReviewersTest.xml 2✅ 138ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetReviewsFunctionTest.xml 2✅ 128ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.PullRequestRepositoryImpTest$NotifyTest.xml 2✅ 31ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.UserLocalDataSourceTest.xml 3✅ 7ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.AuthDataSourceImplTest.xml 3✅ 616ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetPullRequestsForUserTest.xml 3✅ 113ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetReviewersRequestTest.xml 3✅ 100ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetReviewsRequestTest.xml 3✅ 121ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$NotifyRequestTest.xml 3✅ 122ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.UserDataSourceTest.xml 3✅ 91ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.intercept.AuthFailureInterceptorTest.xml 2✅ 139ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.intercept.AuthInterceptorTest.xml 1✅ 110ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.serialize.IdSerializerTest.xml 1✅ 120ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.serialize.InstantSerializerTest.xml 2✅ 26ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.RobolectricSetupTest.xml 1✅ 54ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.authenticating.AuthenticatingViewModelTest.xml 7✅ 742ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.login.LoginScreenViewModelTest.xml 6✅ 72ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.MainViewModelTest.xml 3✅ 147ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.pullrequests.PullRequestsViewModelTest.xml 9✅ 135ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.reviewers.ReviewersViewModelTest$InitTest.xml 14✅ 395ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.reviewers.ReviewersViewModelTest$OnActionTest.xml 6✅ 156ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.UnitLoginScreenTest.xml 3✅ 5s
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.UnitPullRequestsScreenTest.xml 1✅ 1s
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.UnitReviewersScreenTest.xml 3✅ 953ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.UnitWalkThroughAppTest.xml 1✅ 796ms
app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.util.TestUtilsKtTest.xml 1✅ 27ms
components/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.PaparazziShowkaseTests.xml 30✅ 17s

✅ app-shared-tests/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.util.DescribedKtTest.xml

4 tests were completed in 128ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.util.DescribedKtTest 4✅ 128ms

✅ com.appunite.loudius.util.DescribedKtTest

✅ test with unknown error, is not described
✅ test with assertion error, is described
✅ test without failure, is success
✅ test with multiple descriptions, descriptions are merged

✅ app-shared-tests/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.util.KeyGroupingKtTest.xml

5 tests were completed in 2s with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.util.KeyGroupingKtTest 5✅ 2s

✅ com.appunite.loudius.util.KeyGroupingKtTest

✅ don't group events with different meta state
✅ ignore events with no action up
✅ group events with the same meta state
✅ empty list
✅ pass events without arguments

✅ app/build/test-results/results.xml

9 tests were completed in 44s with 9 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
9✅ 44s

✅ 

com.appunite.loudius.End2EndWalkThroughAppTest
  ✅ whenLoginScreenIsVisible_LoginButtonOpensGithubAuth
com.appunite.loudius.IntegrationLoginScreenTest
  ✅ whenClickingGrantPermissionInXiaomiDialog_OpenPermissionEditor
  ✅ whenLoginScreenIsVisible_LoginButtonOpensGithubAuth
  ✅ whenClickingPermissionGrantedInXiaomiDialog_OpenGithubAuth
com.appunite.loudius.IntegrationPullRequestsScreenTest
  ✅ whenResponseIsCorrectThenPullRequestItemIsVisible
com.appunite.loudius.IntegrationReviewersScreenTest
  ✅ whenClickOnNotifyAndCommentThenNotifyReviewer
  ✅ whenClickOnNotifyAndDoNotCommentThenShowError
  ✅ whenResponseIsCorrectThenReviewersAreVisible
com.appunite.loudius.IntegrationWalkThroughAppTest
  ✅ whenLoginScreenIsVisible_LoginButtonOpensGithubAuth

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ActivitySetupTest.xml

1 tests were completed in 6s with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.ActivitySetupTest 1✅ 6s

✅ com.appunite.loudius.ActivitySetupTest

✅ ensure test activity can be started during tests

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.analytics.EventParametersConverterTest.xml

1 tests were completed in 3s with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.analytics.EventParametersConverterTest 1✅ 3s

✅ com.appunite.loudius.analytics.EventParametersConverterTest

✅ testConvert

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.analytics.FirebaseAnalyticsEventTrackerTest.xml

1 tests were completed in 1s with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.analytics.FirebaseAnalyticsEventTrackerTest 1✅ 1s

✅ com.appunite.loudius.analytics.FirebaseAnalyticsEventTrackerTest

✅ testTrackEvent

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.di.CheckModulesTest.xml

1 tests were completed in 2s with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.di.CheckModulesTest 1✅ 2s

✅ com.appunite.loudius.di.CheckModulesTest

✅ verifyKoinApp()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.AuthRepositoryImplTest.xml

4 tests were completed in 101ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.domain.AuthRepositoryImplTest 4✅ 101ms

✅ com.appunite.loudius.domain.AuthRepositoryImplTest

✅ GIVEN valid code WHEN fetching access token THEN THEN new token should be stored()
✅ GIVEN not stored access token WHEN getting access token THEN return empty string()
✅ GIVEN valid code WHEN fetching access token THEN return success with new valid token()
✅ GIVEN token stored WHEN getting access token THEN return stored access token()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetPullRequestsForUserTest.xml

2 tests were completed in 219ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetPullRequestsForUserTest 2✅ 219ms

✅ com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetPullRequestsForUserTest

✅ GIVEN logged in user WHEN getting user's pull requests THEN return pull requests()
✅ WHEN Network Error is returned during fetching user's pull request THEN return Network Error()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetRequestedReviewersTest.xml

2 tests were completed in 138ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetRequestedReviewersTest 2✅ 138ms

✅ com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetRequestedReviewersTest

✅ GIVEN correct pull request number WHEN get requesting reviewers THEN return result with requested reviewers()
✅ GIVEN incorrect pull request number WHEN get requested reviewers THEN return Unknown Error with 404 code()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetReviewsFunctionTest.xml

2 tests were completed in 128ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetReviewsFunctionTest 2✅ 128ms

✅ com.appunite.loudius.domain.PullRequestRepositoryImpTest$GetReviewsFunctionTest

✅ GIVEN incorrect pull request number WHEN getting reviews THEN return Unknown Error with 404 code()
✅ GIVEN correct pull request data WHEN getting reviews THEN return result with reviews excluding ones from current user()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.PullRequestRepositoryImpTest$NotifyTest.xml

2 tests were completed in 31ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.domain.PullRequestRepositoryImpTest$NotifyTest 2✅ 31ms

✅ com.appunite.loudius.domain.PullRequestRepositoryImpTest$NotifyTest

✅ GIVEN correct pull request number WHEN notifying THEN return success result()
✅ GIVEN incorrect pull request number WHEN notifying THEN return Unknown Error with 404 code()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.domain.UserLocalDataSourceTest.xml

3 tests were completed in 7ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.domain.UserLocalDataSourceTest 3✅ 7ms

✅ com.appunite.loudius.domain.UserLocalDataSourceTest

✅ WHEN token is set THEN token can be retrieved()
✅ GIVEN token is stored WHEN token is cleared THEN no token to retrieve()
✅ GIVEN the app is started first time WHEN getting access token THEN token is empty()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.AuthDataSourceImplTest.xml

3 tests were completed in 616ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.network.datasource.AuthDataSourceImplTest 3✅ 616ms

✅ com.appunite.loudius.network.datasource.AuthDataSourceImplTest

✅ GIVEN incorrect access code WHEN accessing token THEN return failure with BadVerificationCodeException()
✅ GIVEN incorrect data WHEN accessing token THEN return failure with UnknownError()
✅ GIVEN correct data WHEN accessing token THEN return success with new valid token()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetPullRequestsForUserTest.xml

3 tests were completed in 113ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetPullRequestsForUserTest 3✅ 113ms

✅ com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetPullRequestsForUserTest

✅ Given correct params WHEN successful response THEN return success()
✅ Given request WHEN connectivity problem occurred THEN return failure with Network error()
✅ Given incorrect access token WHEN processing request THEN return failure with Unknown error()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetReviewersRequestTest.xml

3 tests were completed in 100ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetReviewersRequestTest 3✅ 100ms

✅ com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetReviewersRequestTest

✅ Given correct params WHEN successful response THEN return success()
✅ Given request WHEN connectivity problem occurred THEN return failure with Network error()
✅ Given incorrect access token WHEN processing request THEN return failure with Unknown error()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetReviewsRequestTest.xml

3 tests were completed in 121ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetReviewsRequestTest 3✅ 121ms

✅ com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$GetReviewsRequestTest

✅ Given correct params WHEN successful response THEN return success()
✅ Given request WHEN connectivity problem occurred THEN return failure with Network error()
✅ Given incorrect access token WHEN processing request THEN return failure with Unknown error()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$NotifyRequestTest.xml

3 tests were completed in 122ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$NotifyRequestTest 3✅ 122ms

✅ com.appunite.loudius.network.datasource.PullRequestsDataSourceImplTest$NotifyRequestTest

✅ GIVEN correct params WHEN successful response THEN return success result()
✅ GIVEN connectivity problem WHEN request THEN return failure with Network error()
✅ GIVEN auth error WHEN processing request THEN return failure with Unknown error()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.datasource.UserDataSourceTest.xml

3 tests were completed in 91ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.network.datasource.UserDataSourceTest 3✅ 91ms

✅ com.appunite.loudius.network.datasource.UserDataSourceTest

✅ Given correct params WHEN successful response THEN return success()
✅ Given request WHEN connectivity problem occurred THEN return failure with Network error()
✅ Given incorrect access token WHEN processing request THEN return failure with Unknown error()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.intercept.AuthFailureInterceptorTest.xml

2 tests were completed in 139ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.network.intercept.AuthFailureInterceptorTest 2✅ 139ms

✅ com.appunite.loudius.network.intercept.AuthFailureInterceptorTest

✅ GIVEN authorized user WHEN making an api call THEN auth failure is not emitted()
✅ GIVEN not authorized user WHEN making an api call THEN auth failure should be handled()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.intercept.AuthInterceptorTest.xml

1 tests were completed in 110ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.network.intercept.AuthInterceptorTest 1✅ 110ms

✅ com.appunite.loudius.network.intercept.AuthInterceptorTest

✅ GIVEN saved token WHEN making an api call THEN authorization token should be added()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.serialize.IdSerializerTest.xml

1 tests were completed in 120ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.network.serialize.IdSerializerTest 1✅ 120ms

✅ com.appunite.loudius.network.serialize.IdSerializerTest

✅ testDeserialization

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.network.serialize.InstantSerializerTest.xml

2 tests were completed in 26ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.network.serialize.InstantSerializerTest 2✅ 26ms

✅ com.appunite.loudius.network.serialize.InstantSerializerTest

✅ testSerialization
✅ testDeserialization

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.RobolectricSetupTest.xml

1 tests were completed in 54ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.RobolectricSetupTest 1✅ 54ms

✅ com.appunite.loudius.RobolectricSetupTest

✅ ensure context is mocked correctly

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.authenticating.AuthenticatingViewModelTest.xml

7 tests were completed in 742ms with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.ui.authenticating.AuthenticatingViewModelTest 7✅ 742ms

✅ com.appunite.loudius.ui.authenticating.AuthenticatingViewModelTest

✅ GIVEN valid code WHEN authenticated THEN navigate to pull requests screen()
✅ GIVEN no intent is provided WHEN screen is presented THEN show login error()
✅ GIVEN unexpected Github behavior WHEN authenticating screen is opened THEN show generic error screen()
✅ GIVEN invalid code WHEN authenticating screen is opened THEN show login error screen()
✅ GIVEN unexpected error is presented WHEN try again success THEN navigate to pull requests()
✅ GIVEN no intent is provided and login error is presented WHEN retry is clicked THEN navigate to the login screen()
✅ GIVEN invalid screen and error is presented WHEN retry click THEN navigate to the login screen()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.login.LoginScreenViewModelTest.xml

6 tests were completed in 72ms with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.ui.login.LoginScreenViewModelTest 6✅ 72ms

✅ com.appunite.loudius.ui.login.LoginScreenViewModelTest

✅ WHEN log-in click THEN open github authorization()
✅ test the whole xiaomi flow()
✅ GIVEN xiaomi permission dialog is displayed WHEN user click already granted THEN navigate github auth()
✅ GIVEN xiaomi permission dialog is displayed WHEN dismisses dialog THEN hide the dialog()
✅ GIVEN should ask for xiaomi intent WHEN log-in click THEN show xiaomi permission dialog()
✅ GIVEN xiaomi permission dialog is displayed WHEN grant permission THEN navigate to xiaomi permissions manager()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.MainViewModelTest.xml

3 tests were completed in 147ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.ui.MainViewModelTest 3✅ 147ms

✅ com.appunite.loudius.ui.MainViewModelTest

✅ WHEN init THEN auth failure event is null()
✅ WHEN auth failure handled THEN set auth failure event is null()
✅ WHEN auth failure emitted THEN set state with auth failure event()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.pullrequests.PullRequestsViewModelTest.xml

9 tests were completed in 135ms with 9 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.ui.pullrequests.PullRequestsViewModelTest 9✅ 135ms

✅ com.appunite.loudius.ui.pullrequests.PullRequestsViewModelTest

✅ GIVEN error state WHEN retry THEN fetch pull requests list again()
✅ WHEN refresh data THEN refresh data and set isRefreshing to false()
✅ WHEN fetching data failed on init THEN display error()
✅ WHEN refresh data THEN start refreshing data and set isRefreshing to true()
✅ GIVEN item id WHEN item click THEN navigate the user to reviewers()
✅ GIVEN navigation payload WHEN navigating to reviewers THEN reset payload()
✅ WHEN init THEN display loading()
✅ WHEN init THEN display pull requests list()
✅ WHEN refresh data THEN refresh data and display pull requests()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.reviewers.ReviewersViewModelTest$InitTest.xml

14 tests were completed in 395ms with 14 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.ui.reviewers.ReviewersViewModelTest$InitTest 14✅ 395ms

✅ com.appunite.loudius.ui.reviewers.ReviewersViewModelTest$InitTest

✅ GIVEN only reviewers who done reviews WHEN init THEN list of reviewers is fetched()
✅ GIVEN correct initial values WHEN init starts THEN state is loading()
✅ GIVEN no reviewers WHEN init THEN state is correct with no reviewers()
✅ WHEN refresh data THEN refresh data and set isRefreshing to false()
✅ GIVEN correct initial values WHEN init THEN pull request number is correct()
✅ WHEN refresh data THEN refresh data and display reviewers()
✅ GIVEN mixed reviewers WHEN init THEN list of reviewers is fetched()
✅ GIVEN reviewers with no review done WHEN init THEN list of reviewers is fetched()
✅ WHEN there is an error during fetching data from 2 requests on init THEN error is shown()
✅ WHEN refresh data THEN start refreshing data and set isRefreshing to true()
✅ GIVEN no values in saved state WHEN init THEN throw IllegalStateException()
✅ WHEN there is an error during fetching data on init only from reviews request THEN error is shown()
✅ WHEN there is an error during fetching data on init only from requested reviewers request THEN error is shown()
✅ GIVEN correct initial values WHEN init THEN all initial values are read once()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.ui.reviewers.ReviewersViewModelTest$OnActionTest.xml

6 tests were completed in 156ms with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.ui.reviewers.ReviewersViewModelTest$OnActionTest 6✅ 156ms

✅ com.appunite.loudius.ui.reviewers.ReviewersViewModelTest$OnActionTest

✅ GIVEN error state WHEN on try again action with success result THEN state has reviewers()
✅ WHEN successful notify action THEN show loading indicator()
✅ WHEN successful notify action THEN show success snackbar()
✅ WHEN failed notify action THEN show failure snackbar()
✅ GIVEN user login WHEN on snackbar dismiss action THEN snackbar is not shown()
✅ GIVEN error state WHEN on try again action with failure result THEN error is shown()

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.UnitLoginScreenTest.xml

3 tests were completed in 5s with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.UnitLoginScreenTest 3✅ 5s

✅ com.appunite.loudius.UnitLoginScreenTest

✅ whenClickingGrantPermissionInXiaomiDialog_OpenPermissionEditor
✅ whenLoginScreenIsVisible_LoginButtonOpensGithubAuth
✅ whenClickingPermissionGrantedInXiaomiDialog_OpenGithubAuth

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.UnitPullRequestsScreenTest.xml

1 tests were completed in 1s with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.UnitPullRequestsScreenTest 1✅ 1s

✅ com.appunite.loudius.UnitPullRequestsScreenTest

✅ whenResponseIsCorrectThenPullRequestItemIsVisible

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.UnitReviewersScreenTest.xml

3 tests were completed in 953ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.UnitReviewersScreenTest 3✅ 953ms

✅ com.appunite.loudius.UnitReviewersScreenTest

✅ whenClickOnNotifyAndCommentThenNotifyReviewer
✅ whenClickOnNotifyAndDoNotCommentThenShowError
✅ whenResponseIsCorrectThenReviewersAreVisible

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.UnitWalkThroughAppTest.xml

1 tests were completed in 796ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.UnitWalkThroughAppTest 1✅ 796ms

✅ com.appunite.loudius.UnitWalkThroughAppTest

✅ whenLoginScreenIsVisible_LoginButtonOpensGithubAuth

✅ app/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.util.TestUtilsKtTest.xml

1 tests were completed in 27ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.util.TestUtilsKtTest 1✅ 27ms

✅ com.appunite.loudius.util.TestUtilsKtTest

✅ verifyOtpIsGenerated

✅ components/build/test-results/testDebugUnitTest/TEST-com.appunite.loudius.PaparazziShowkaseTests.xml

30 tests were completed in 17s with 30 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.appunite.loudius.PaparazziShowkaseTests 30✅ 17s

✅ com.appunite.loudius.PaparazziShowkaseTests

✅ preview_tests[List Item-LoudiusListItemContentAndActionPreview,1.0,light]
✅ preview_tests[List Item-LoudiusListItemContentAndActionPreview,2.0,light]
✅ preview_tests[List Item-LoudiusListItemContentAndIconPreview,1.0,light]
✅ preview_tests[List Item-LoudiusListItemContentAndIconPreview,2.0,light]
✅ preview_tests[List Item-LoudiusListItemJustContentPreview,1.0,light]
✅ preview_tests[List Item-LoudiusListItemJustContentPreview,2.0,light]
✅ preview_tests[List Item-LoudiusListItemManyWithAllItemsPreview,1.0,light]
✅ preview_tests[List Item-LoudiusListItemManyWithAllItemsPreview,2.0,light]
✅ preview_tests[List Item-LoudiusListItemMultiplePreview,1.0,light]
✅ preview_tests[List Item-LoudiusListItemMultiplePreview,2.0,light]
✅ preview_tests[List Item-LoudiusListItemWithHeaderPreview,1.0,light]
✅ preview_tests[List Item-LoudiusListItemWithHeaderPreview,2.0,light]
✅ preview_tests[Buttons-LoudiusOutlinedButtonDisabledPreview,1.0,light]
✅ preview_tests[Buttons-LoudiusOutlinedButtonDisabledPreview,2.0,light]
✅ preview_tests[Buttons-LoudiusOutlinedButtonLargePreview,1.0,light]
✅ preview_tests[Buttons-LoudiusOutlinedButtonLargePreview,2.0,light]
✅ preview_tests[Buttons-LoudiusOutlinedButtonPreview,1.0,light]
✅ preview_tests[Buttons-LoudiusOutlinedButtonPreview,2.0,light]
✅ preview_tests[Buttons-LoudiusOutlinedButtonWithIconLargePreview,1.0,light]
✅ preview_tests[Buttons-LoudiusOutlinedButtonWithIconLargePreview,2.0,light]
✅ preview_tests[Buttons-LoudiusOutlinedButtonWithIconPreview,1.0,light]
✅ preview_tests[Buttons-LoudiusOutlinedButtonWithIconPreview,2.0,light]
✅ preview_tests[Default Group-LoudiusTextStyles,1.0,light]
✅ preview_tests[Default Group-LoudiusTextStyles,2.0,light]
✅ preview_tests[Default Group-LoudiusTopAppBar,1.0,light]
✅ preview_tests[Default Group-LoudiusTopAppBar,2.0,light]
✅ preview_tests[Default Group-LoudiusTopAppBarWithoutBackButton,1.0,light]
✅ preview_tests[Default Group-LoudiusTopAppBarWithoutBackButton,2.0,light]
✅ preview_tests[Full screen-PreviewLoudiusPlaceholderText,1.0,light]
✅ preview_tests[Full screen-PreviewLoudiusPlaceholderText,2.0,light]