Expand Compose UI test coverage for market list, detail, and app navigation#351
Expand Compose UI test coverage for market list, detail, and app navigation#351masoudkarimi wants to merge 23 commits into
Conversation
|
Claude finished @Kaaveh's task in 2m 28s —— View job Code Review
Good test coverage expansion overall — the test pyramid coverage for these screens is a clear improvement. A few issues to address, ranging from a build-config bug to test quality gaps. Findings🔴 High — Test artifacts in wrong dependency scope (
|
|
Hi @Kaaveh , I noticed that we currently use the I’m planning to convert the shared test-only utilities in Are you OK with this direction? References:
|
… of `TestablePagedMarketListScreen`
1 similar comment
|
Claude finished @Kaaveh's task in 2m 48s —— View job Response to masoudkarimi's testFixtures proposal
@masoudkarimi — the direction is correct and the implementation is mostly there. Converting That said, there are a few issues in the current implementation worth addressing: 🔴 High — testFixtures files are Java, not KotlinAll three files under The Java implementation of // Current — Java with raw Continuation interop
@Override
public Object beforeSpec(Spec spec, Continuation<? super Unit> continuation) {
TestDispatchers.setMain(Dispatchers.INSTANCE, testDispatcher);
return Unit.INSTANCE;
}vs. the clean original Kotlin that was deleted: // Original Kotlin — correct
override suspend fun beforeSpec(spec: Spec) {
Dispatchers.setMain(testDispatcher)
}The Java version also calls 🟡 Medium —
|
* move `DispatcherProvider` and `PlatformDispatcherProvider` to `core:base` * move `dispatcherModule` to `core:base` * update imports and gradle dependencies across modules
|
Claude finished @Kaaveh's task in 3m 34s —— View job Changes Applied
What was fixed in this pass
|
…` to reflect the move of `dispatcherModule` and `DispatcherProvider` to `core:base`
Summary
QuadLineChartto avoid division-by-zero and show a clear empty state.Verification
./gradlew :app:connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=ir.composenews.ui.MainActivityTestNotes
gradle/gradle-daemon-jvm.propertiesis untracked local Gradle state and should not be included in the PR.