Skip to content

Commit 30a3796

Browse files
committed
Added screenshot test for SearchScreenUI
1 parent b0e4e50 commit 30a3796

File tree

7 files changed

+37
-4
lines changed

7 files changed

+37
-4
lines changed

.idea/misc.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle.kts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ plugins {
99
alias(libs.plugins.com.google.firebase)
1010
alias(libs.plugins.compose.compiler)
1111
alias(libs.plugins.serialization)
12+
alias(libs.plugins.screenshot)
1213
}
1314

1415
android {
@@ -45,7 +46,7 @@ android {
4546
sourceCompatibility = JavaVersion.VERSION_1_8
4647
targetCompatibility = JavaVersion.VERSION_1_8
4748
}
48-
49+
experimentalProperties["android.experimental.enableScreenshotTest"] = true
4950
kotlinOptions {
5051
jvmTarget = "1.8"
5152
// To mark experimental features api
@@ -139,6 +140,8 @@ dependencies {
139140
androidTestImplementation(libs.androidx.compose.ui.ui.test.junit4)
140141

141142
debugImplementation(libs.androidx.compose.ui.ui.test.manifest)
143+
144+
screenshotTestImplementation(libs.androidx.compose.ui.tooling)
142145
}
143146

144147
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class).configureEach {

app/src/main/java/com/developersbreach/composeactors/core/network/TmdbApiKey.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ package com.developersbreach.composeactors.core.network
66
* You can get your own Api Key from here [https://www.themoviedb.org/settings/api]
77
*/
88
object TmdbApiKey {
9-
const val TMDB_API_KEY = ""
9+
const val TMDB_API_KEY =""
1010
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import androidx.compose.runtime.Composable
2+
import androidx.compose.ui.res.stringResource
3+
import androidx.compose.ui.tooling.preview.Preview
4+
import com.developersbreach.composeactors.R
5+
import com.developersbreach.composeactors.data.datasource.fake.fakePersonsList
6+
import com.developersbreach.composeactors.ui.screens.search.ActorSearch
7+
import com.developersbreach.composeactors.ui.screens.search.SearchScreenUI
8+
import com.developersbreach.composeactors.ui.theme.ComposeActorsTheme
9+
10+
class SearchScreenScreenshotTest {
11+
@Preview(showBackground = true)
12+
@Composable
13+
private fun SearchScreenUILightPreview() {
14+
ComposeActorsTheme(darkTheme = false) {
15+
SearchScreenUI(
16+
navigateUp = {},
17+
navigateToSearchBySearchType = {},
18+
searchHint = stringResource(R.string.hint_search_query_actors),
19+
onSearchQueryChange = {},
20+
data = ActorSearch(
21+
personList = fakePersonsList(),
22+
isSearchingResults = false
23+
)
24+
)
25+
}
26+
}
27+
}

gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@ android.nonTransitiveRClass=true
2323
kotlin.code.style=official
2424
# This gives detailed warning on deprecated usages in gradle
2525
org.gradle.warning.mode=all
26-
org.gradle.configuration-cache=true
26+
org.gradle.configuration-cache=true
27+
android.experimental.enableScreenshotTest=true

gradle/libs.versions.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ kotlin = "2.0.21"
1616
kotlinx-coroutines-core = "1.9.0"
1717
ktor-bom = "3.0.1"
1818
jetbrains-kotlin-jvm = "2.0.21"
19+
screenshot = "0.0.1-alpha07"
1920

2021
[libraries]
2122
androidx-activity-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity" }
@@ -61,6 +62,7 @@ ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negoti
6162
ktor-client-logging = { module = "io.ktor:ktor-client-logging" }
6263
ktor-client-serialization = { module = "io.ktor:ktor-client-serialization" }
6364
ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json" }
65+
androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling"}
6466

6567
[plugins]
6668
com-android-application = "com.android.application:8.7.3"
@@ -74,3 +76,4 @@ com-google-ksp = "com.google.devtools.ksp:2.0.21-1.0.27"
7476
com-google-gms = { id = "com.google.gms.google-services", version.ref = "com-google-gms" }
7577
com-google-firebase = { id = "com.google.firebase.crashlytics", version.ref = "com-google-firebase" }
7678
jetbrains-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "jetbrains-kotlin-jvm" }
79+
screenshot = { id = "com.android.compose.screenshot", version.ref = "screenshot"}

0 commit comments

Comments
 (0)