From 8eb1ca4dee1a875fdcca67e1661abbe85095ab45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=BC=ED=98=81?= Date: Thu, 1 Oct 2026 21:00:39 +0900 Subject: [PATCH 1/3] fix(setting): show profile avatar from home state (#2225) --- feature/setting/presentation/build.gradle.kts | 1 + .../presentation/home/SettingContract.kt | 2 + .../presentation/home/SettingScreen.kt | 1 + .../presentation/home/SettingViewModel.kt | 4 +- .../home/component/SettingProfile.kt | 29 +++- .../home/SettingProfileAvatarTest.kt | 161 ++++++++++++++++++ .../home/SettingProfileImageTest.kt | 87 ++++++++++ 7 files changed, 278 insertions(+), 7 deletions(-) create mode 100644 feature/setting/presentation/src/test/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileAvatarTest.kt create mode 100644 feature/setting/presentation/src/test/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileImageTest.kt diff --git a/feature/setting/presentation/build.gradle.kts b/feature/setting/presentation/build.gradle.kts index 4eb2c8004..9dc0847f8 100644 --- a/feature/setting/presentation/build.gradle.kts +++ b/feature/setting/presentation/build.gradle.kts @@ -33,6 +33,7 @@ dependencies { implementation(projects.core.ui) implementation(libs.androidx.hilt.navigation.compose) implementation(libs.androidx.compose.runtime) + implementation(libs.coil.compose) implementation(libs.kakao.sdk.auth) implementation(libs.kakao.sdk.user) implementation(libs.androidx.biometric) diff --git a/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingContract.kt b/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingContract.kt index 99198174b..013ea3672 100644 --- a/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingContract.kt +++ b/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingContract.kt @@ -16,6 +16,7 @@ internal sealed interface SettingProfileState { data class Success( val name: String, val email: String, + val profileImageUrl: String? = null, ) : SettingProfileState /** 문구는 화면이 `setting_profile_load_error` 리소스로 그린다. 프로필 수정 화면과 같은 문장이다. */ @@ -50,6 +51,7 @@ internal sealed interface SettingReducerEvent : ReducerEvent { data class ProfileLoaded( val name: String, val email: String, + val profileImageUrl: String?, ) : SettingReducerEvent data object ProfileFailed : SettingReducerEvent diff --git a/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingScreen.kt b/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingScreen.kt index 9178b05da..aece551f9 100644 --- a/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingScreen.kt +++ b/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingScreen.kt @@ -166,6 +166,7 @@ private fun SettingScreenContent( SettingProfile( name = state.name, email = state.email, + profileImageUrl = state.profileImageUrl, onInquiryClick = onUnavailableClick, onNoticeClick = onNoticeClick, onRecipientListClick = onRecipientListClick, diff --git a/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingViewModel.kt b/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingViewModel.kt index 6e5f405d8..234663954 100644 --- a/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingViewModel.kt +++ b/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/SettingViewModel.kt @@ -46,7 +46,7 @@ internal class SettingViewModel } is SettingReducerEvent.ProfileLoaded -> { - state.copy(profile = SettingProfileState.Success(event.name, event.email)) + state.copy(profile = SettingProfileState.Success(event.name, event.email, event.profileImageUrl)) } SettingReducerEvent.ProfileFailed -> { @@ -90,7 +90,7 @@ internal class SettingViewModel viewModelScope.launch { dispatch(SettingReducerEvent.ProfileLoading) runCatchingCancellable { myProfileRepository.getMyProfile() } - .onSuccess { dispatch(SettingReducerEvent.ProfileLoaded(it.name, it.email)) } + .onSuccess { dispatch(SettingReducerEvent.ProfileLoaded(it.name, it.email, it.profileImageUrl)) } .onFailure { dispatch(SettingReducerEvent.ProfileFailed) } } } diff --git a/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/component/SettingProfile.kt b/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/component/SettingProfile.kt index 1dc7c1428..bd17a9293 100644 --- a/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/component/SettingProfile.kt +++ b/feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/home/component/SettingProfile.kt @@ -10,20 +10,26 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import coil3.compose.AsyncImage import com.afternote.core.ui.theme.AfternoteDesign import com.afternote.feature.setting.presentation.R +import com.afternote.core.ui.R as CoreUiR @Composable internal fun SettingProfile( name: String, email: String, + profileImageUrl: String?, onInquiryClick: () -> Unit, onNoticeClick: () -> Unit, onRecipientListClick: () -> Unit, @@ -43,11 +49,24 @@ internal fun SettingProfile( .padding(horizontal = 20.dp), verticalAlignment = Alignment.CenterVertically, ) { - Image( - painterResource(R.drawable.setting_ic_default_profile), - contentDescription = "기본 이미지", - modifier = Modifier.size(60.dp), - ) + val defaultProfile = painterResource(R.drawable.setting_ic_default_profile) + val profileDescription = stringResource(CoreUiR.string.core_ui_content_description_profile_image) + if (profileImageUrl.isNullOrBlank()) { + Image( + painter = defaultProfile, + contentDescription = profileDescription, + modifier = Modifier.size(60.dp).clip(CircleShape), + ) + } else { + AsyncImage( + model = profileImageUrl, + contentDescription = profileDescription, + modifier = Modifier.size(60.dp).clip(CircleShape), + placeholder = defaultProfile, + error = defaultProfile, + contentScale = ContentScale.Crop, + ) + } Spacer(modifier = Modifier.padding(12.dp)) Column { Text( diff --git a/feature/setting/presentation/src/test/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileAvatarTest.kt b/feature/setting/presentation/src/test/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileAvatarTest.kt new file mode 100644 index 000000000..128c9f628 --- /dev/null +++ b/feature/setting/presentation/src/test/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileAvatarTest.kt @@ -0,0 +1,161 @@ +package com.afternote.feature.setting.presentation.home + +import android.app.Application +import android.content.Context +import android.graphics.Bitmap +import android.graphics.Canvas +import android.graphics.Color +import android.view.View +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue +import androidx.compose.ui.platform.LocalView +import androidx.compose.ui.test.junit4.v2.createComposeRule +import androidx.compose.ui.test.onNodeWithContentDescription +import androidx.test.core.app.ApplicationProvider +import coil3.ImageLoader +import coil3.SingletonImageLoader +import coil3.annotation.DelicateCoilApi +import coil3.asImage +import coil3.intercept.Interceptor +import coil3.request.ErrorResult +import coil3.request.SuccessResult +import com.afternote.core.ui.theme.AfternoteTheme +import com.afternote.feature.setting.presentation.home.component.SettingProfile +import org.junit.After +import org.junit.Assert.assertArrayEquals +import org.junit.Assert.assertEquals +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.RobolectricTestRunner +import org.robolectric.annotation.Config +import org.robolectric.annotation.GraphicsMode +import java.io.IOException +import java.util.Collections +import kotlin.math.sqrt +import com.afternote.core.ui.R as CoreUiR + +@OptIn(DelicateCoilApi::class) +@RunWith(RobolectricTestRunner::class) +@GraphicsMode(GraphicsMode.Mode.NATIVE) +@Config(sdk = [35], application = Application::class) +class SettingProfileAvatarTest { + @get:Rule + val composeRule = createComposeRule() + + private lateinit var imageLoader: ImageLoader + private lateinit var hostView: View + private var imageUrl by mutableStateOf(null) + private val requests = Collections.synchronizedList(mutableListOf()) + private val context get() = ApplicationProvider.getApplicationContext() + + @Before + fun setUp() { + imageLoader = + ImageLoader + .Builder(context) + .components { + add( + Interceptor { chain -> + requests += chain.request.data + if (chain.request.data == BROKEN) { + ErrorResult(null, chain.request, IOException("missing image")) + } else { + val bitmap = Bitmap.createBitmap(60, 60, Bitmap.Config.ARGB_8888) + bitmap.eraseColor(if (chain.request.data == FIRST) Color.RED else Color.GREEN) + SuccessResult(bitmap.asImage(), chain.request) + } + }, + ) + }.build() + SingletonImageLoader.setUnsafe(imageLoader) + composeRule.setContent { + hostView = LocalView.current + AfternoteTheme { + SettingProfile( + name = "name", + email = "user@example.com", + profileImageUrl = imageUrl, + onInquiryClick = {}, + onNoticeClick = {}, + onRecipientListClick = {}, + ) + } + } + } + + @After + fun tearDown() { + SingletonImageLoader.reset() + imageLoader.shutdown() + } + + @Test + fun `등록 사진을 그리고 다른 URL로 바뀌면 새 사진을 그린다`() { + show(FIRST) + waitForColor(Color.RED) + show(SECOND) + waitForColor(Color.GREEN) + assertEquals(listOf(FIRST, SECOND), requests) + } + + @Test + fun `사진 삭제와 빈 URL은 기본 이미지로 돌아가고 새 이미지 요청을 하지 않는다`() { + val defaultPixels = avatarPixels() + show(FIRST) + waitForColor(Color.RED) + + show(null) + assertArrayEquals(defaultPixels, avatarPixels()) + show(" ") + assertArrayEquals(defaultPixels, avatarPixels()) + assertEquals(listOf(FIRST), requests) + } + + @Test + fun `새 사진 로드 실패는 이전 사진 대신 기본 이미지를 그린다`() { + val defaultPixels = avatarPixels() + show(FIRST) + waitForColor(Color.RED) + + show(BROKEN) + composeRule.waitUntil(5_000) { requests.contains(BROKEN) } + composeRule.waitUntil(5_000) { avatarPixels().contentEquals(defaultPixels) } + assertArrayEquals(defaultPixels, avatarPixels()) + } + + private fun show(url: String?) { + composeRule.runOnIdle { imageUrl = url } + composeRule.waitForIdle() + } + + private fun waitForColor(color: Int) { + composeRule.waitUntil(5_000) { + val pixels = avatarPixels() + val width = sqrt(pixels.size.toDouble()).toInt() + pixels[pixels.size / 2 + width / 2] == color + } + } + + private fun avatarPixels(): IntArray { + val description = context.getString(CoreUiR.string.core_ui_content_description_profile_image) + val bounds = composeRule.onNodeWithContentDescription(description).fetchSemanticsNode().boundsInRoot + return composeRule.runOnIdle { + val bitmap = Bitmap.createBitmap(hostView.width, hostView.height, Bitmap.Config.ARGB_8888) + hostView.draw(Canvas(bitmap)) + val width = bounds.width.toInt() + val height = bounds.height.toInt() + IntArray(width * height).also { + bitmap.getPixels(it, 0, width, bounds.left.toInt(), bounds.top.toInt(), width, height) + } + } + } + + private companion object { + const val FIRST = "https://images.example/first.jpg" + const val SECOND = "https://images.example/second.jpg" + const val BROKEN = "https://images.example/missing.jpg" + } +} diff --git a/feature/setting/presentation/src/test/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileImageTest.kt b/feature/setting/presentation/src/test/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileImageTest.kt new file mode 100644 index 000000000..ec886de0f --- /dev/null +++ b/feature/setting/presentation/src/test/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileImageTest.kt @@ -0,0 +1,87 @@ +package com.afternote.feature.setting.presentation.home + +import com.afternote.core.domain.testing.FakeAuthRepository +import com.afternote.core.domain.testing.FakeMyProfileRepository +import com.afternote.core.model.user.User +import com.afternote.feature.setting.domain.testing.FakeSettingAccountRepository +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.test.StandardTestDispatcher +import kotlinx.coroutines.test.resetMain +import kotlinx.coroutines.test.runCurrent +import kotlinx.coroutines.test.runTest +import kotlinx.coroutines.test.setMain +import org.junit.After +import org.junit.Assert.assertEquals +import org.junit.Assert.assertNull +import org.junit.Before +import org.junit.Test +import java.io.IOException + +@OptIn(ExperimentalCoroutinesApi::class) +class SettingProfileImageTest { + private val dispatcher = StandardTestDispatcher() + private val repository = FakeMyProfileRepository.strict() + + @Before + fun setUp() { + Dispatchers.setMain(dispatcher) + } + + @After + fun tearDown() { + Dispatchers.resetMain() + } + + @Test + fun `프로필 조회와 갱신 결과의 사진 URL을 홈 상태에 전달한다`() = + runTest(dispatcher) { + var imageUrl = "https://images.example/first.jpg" + repository.onGetMyProfile = { User("name", "user@example.com", null, imageUrl) } + val viewModel = viewModel() + runCurrent() + assertEquals(imageUrl, viewModel.profile().profileImageUrl) + + imageUrl = "https://images.example/second.jpg" + viewModel.onIntent(SettingIntent.Refresh) + runCurrent() + assertEquals(imageUrl, viewModel.profile().profileImageUrl) + } + + @Test + fun `갱신 결과에 사진이 없으면 이전 URL을 남기지 않는다`() = + runTest(dispatcher) { + var imageUrl: String? = "https://images.example/first.jpg" + repository.onGetMyProfile = { User("name", "user@example.com", null, imageUrl) } + val viewModel = viewModel() + runCurrent() + assertEquals(imageUrl, viewModel.profile().profileImageUrl) + + imageUrl = null + viewModel.onIntent(SettingIntent.Refresh) + runCurrent() + assertNull(viewModel.profile().profileImageUrl) + } + + @Test + fun `프로필 갱신 실패 뒤에는 이전 사진을 담은 성공 상태가 남지 않는다`() = + runTest(dispatcher) { + repository.onGetMyProfile = { User("name", "user@example.com", null, "https://images.example/first.jpg") } + val viewModel = viewModel() + runCurrent() + + repository.onGetMyProfile = { throw IOException("offline") } + viewModel.onIntent(SettingIntent.Refresh) + runCurrent() + assertEquals(SettingProfileState.Error, viewModel.uiState.value.profile) + } + + private fun viewModel() = + SettingViewModel( + authRepository = FakeAuthRepository.strict(), + myProfileRepository = repository, + accountRepository = FakeSettingAccountRepository.strict(), + ) + + private fun SettingViewModel.profile() = uiState.value.profile as SettingProfileState.Success +} From 4410eed6b15b5e3f6b3eac721c4e7c6357531d0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=BC=ED=98=81?= Date: Thu, 1 Oct 2026 21:09:02 +0900 Subject: [PATCH 2/3] =?UTF-8?q?test:=20=EC=84=A4=EC=A0=95=20=ED=94=84?= =?UTF-8?q?=EB=A1=9C=ED=95=84=20=EC=95=84=EB=B0=94=ED=83=80=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=20=EC=8A=A4=ED=81=AC=EB=A6=B0=EC=83=B7=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20(#2225)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/SettingProfileScreenshotTest.kt | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 feature/setting/presentation/src/screenshotTest/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileScreenshotTest.kt diff --git a/feature/setting/presentation/src/screenshotTest/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileScreenshotTest.kt b/feature/setting/presentation/src/screenshotTest/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileScreenshotTest.kt new file mode 100644 index 000000000..ea8aa9fc2 --- /dev/null +++ b/feature/setting/presentation/src/screenshotTest/kotlin/com/afternote/feature/setting/presentation/home/SettingProfileScreenshotTest.kt @@ -0,0 +1,66 @@ +package com.afternote.feature.setting.presentation.home + +import android.graphics.Bitmap +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.ui.tooling.preview.Preview +import coil3.annotation.ExperimentalCoilApi +import coil3.asImage +import coil3.compose.AsyncImagePainter +import coil3.compose.AsyncImagePreviewHandler +import coil3.compose.LocalAsyncImagePreviewHandler +import coil3.request.ErrorResult +import com.afternote.core.ui.theme.AfternoteTheme +import com.afternote.feature.setting.presentation.home.component.SettingProfile +import com.android.tools.screenshot.PreviewTest +import java.io.IOException + +@PreviewTest +@Preview(showBackground = true, widthDp = 360) +@Composable +internal fun settingProfileDefaultScreenshot() { + SettingProfileScreenshotContent(profileImageUrl = null) +} + +@OptIn(ExperimentalCoilApi::class) +@PreviewTest +@Preview(showBackground = true, widthDp = 360) +@Composable +internal fun settingProfilePhotoScreenshot() { + val photo = + Bitmap + .createBitmap(160, 120, Bitmap.Config.ARGB_8888) + .apply { eraseColor(0xFF5B7DB1.toInt()) } + .asImage() + CompositionLocalProvider(LocalAsyncImagePreviewHandler provides AsyncImagePreviewHandler { photo }) { + SettingProfileScreenshotContent(profileImageUrl = "content://preview/profile-photo") + } +} + +@OptIn(ExperimentalCoilApi::class) +@PreviewTest +@Preview(showBackground = true, widthDp = 360) +@Composable +internal fun settingProfilePhotoFailureScreenshot() { + val failedRequest = + AsyncImagePreviewHandler { _, request -> + AsyncImagePainter.State.Error(null, ErrorResult(null, request, IOException("missing image"))) + } + CompositionLocalProvider(LocalAsyncImagePreviewHandler provides failedRequest) { + SettingProfileScreenshotContent(profileImageUrl = "content://preview/missing-photo") + } +} + +@Composable +private fun SettingProfileScreenshotContent(profileImageUrl: String?) { + AfternoteTheme { + SettingProfile( + name = "홍길동", + email = "user@example.com", + profileImageUrl = profileImageUrl, + onInquiryClick = {}, + onNoticeClick = {}, + onRecipientListClick = {}, + ) + } +} From c35314f959fbb50705db60fceac61f213e32a4b9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2026 12:20:41 +0000 Subject: [PATCH 3/3] test: update screenshot baselines in CI --- ...ttingProfileDefaultScreenshot_74131fac_0.png | Bin 0 -> 20464 bytes ...ProfilePhotoFailureScreenshot_74131fac_0.png | Bin 0 -> 20464 bytes ...settingProfilePhotoScreenshot_74131fac_0.png | Bin 0 -> 19023 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 feature/setting/presentation/src/screenshotTestDebug/reference/com/afternote/feature/setting/presentation/home/SettingProfileScreenshotTestKt/settingProfileDefaultScreenshot_74131fac_0.png create mode 100644 feature/setting/presentation/src/screenshotTestDebug/reference/com/afternote/feature/setting/presentation/home/SettingProfileScreenshotTestKt/settingProfilePhotoFailureScreenshot_74131fac_0.png create mode 100644 feature/setting/presentation/src/screenshotTestDebug/reference/com/afternote/feature/setting/presentation/home/SettingProfileScreenshotTestKt/settingProfilePhotoScreenshot_74131fac_0.png diff --git a/feature/setting/presentation/src/screenshotTestDebug/reference/com/afternote/feature/setting/presentation/home/SettingProfileScreenshotTestKt/settingProfileDefaultScreenshot_74131fac_0.png b/feature/setting/presentation/src/screenshotTestDebug/reference/com/afternote/feature/setting/presentation/home/SettingProfileScreenshotTestKt/settingProfileDefaultScreenshot_74131fac_0.png new file mode 100644 index 0000000000000000000000000000000000000000..a0942fdfd14be83aa44fb5a53e84afbd3d3cd286 GIT binary patch literal 20464 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 RJ!J^whMuu*rM6S_{{Ty#D$M`@ literal 0 HcmV?d00001