Skip to content

알림에 BigTextStyle 적용#730

Merged
ikseong00 merged 1 commit into
developfrom
feature/notification-big-text-style
May 19, 2026
Merged

알림에 BigTextStyle 적용#730
ikseong00 merged 1 commit into
developfrom
feature/notification-big-text-style

Conversation

@ikseong00

@ikseong00 ikseong00 commented May 19, 2026

Copy link
Copy Markdown
Contributor

작업 내용

  • 알림 본문을 BigTextStyle에도 설정해 확장 알림에서 긴 텍스트와 줄바꿈이 표시되도록 했습니다.
  • Notification extras의 EXTRA_BIG_TEXT를 확인하는 단위 테스트를 추가했습니다.

테스트

  • ./gradlew :core:util:testDebugUnitTest

Summary by CodeRabbit

릴리스 노트

  • New Features

    • 알림 본문이 큰 텍스트 스타일로 표시됩니다.
  • Tests

    • 알림 본문 표시 기능에 대한 테스트 케이스 추가

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

개요

알림 빌더에 BigTextStyle을 적용하여 알림 본문을 확장된 텍스트로 표시하도록 개선하고, 이 기능을 검증하는 단위 테스트를 추가합니다.

변경 사항

알림 스타일링 개선

계층 / 파일(들) 설명
BigTextStyle 적용
core/util/src/main/java/com/ku_stacks/ku_ring/util/KuringNotificationManager.kt
NotificationCompat.BuilderBigTextStyle().bigText(body)를 추가하여 알림 본문을 확장된 텍스트 스타일로 표시합니다.
알림 본문 스타일링 테스트
core/util/src/test/java/com/ku_stacks/ku_ring/util/KuringNotificationManagerTest.kt
Robolectric 환경에서 showCustomNotification 호출 후 생성된 알림의 EXTRA_BIG_TEXT가 입력된 body와 일치함을 검증합니다.

알림 본문이 커졌네, 🐰
큰 글씨로 반짝이는 메시지
사용자 눈에 쏙 들어올 텐데,
테스트도 함께 완벽하게 ✨
BigTextStyle의 마법이 펼쳐진다!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목이 변경 사항의 핵심을 명확하게 요약하고 있습니다. BigTextStyle 적용이 이 PR의 주요 목적이며, 알림 본문 표시 개선을 정확히 반영합니다.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/notification-big-text-style

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@core/util/src/test/java/com/ku_stacks/ku_ring/util/KuringNotificationManagerTest.kt`:
- Around line 10-16: KuringNotificationManagerTest uses JUnit4; migrate it to
JUnit5 by replacing the import org.junit.Test with org.junit.jupiter.api.Test,
swap the class-level `@RunWith`(RobolectricTestRunner::class) for
`@ExtendWith`(RobolectricExtension::class) and add the import
org.robolectric.junit5.RobolectricExtension, and keep using shadowOf(...) as
needed; also ensure the android-junit5 plugin is enabled and the JUnit5 (6.0.3)
test dependency bundle is configured so the test class
(KuringNotificationManagerTest) compiles and runs under JUnit5.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e14f114c-1b0a-4b66-a009-3c62fe04ee40

📥 Commits

Reviewing files that changed from the base of the PR and between 807cdd6 and f8f3eed.

📒 Files selected for processing (2)
  • core/util/src/main/java/com/ku_stacks/ku_ring/util/KuringNotificationManager.kt
  • core/util/src/test/java/com/ku_stacks/ku_ring/util/KuringNotificationManagerTest.kt

Comment on lines +10 to +16
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.Shadows.shadowOf

@RunWith(RobolectricTestRunner::class)
class KuringNotificationManagerTest {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# JUnit4/JUnit5 사용 현황 및 설정 점검 (읽기 전용)
set -euo pipefail

echo "== 테스트 코드에서 JUnit4/JUnit5 및 Robolectric 사용 패턴 확인 =="
rg -n --type=kt 'import org\.junit\.Test|import org\.junit\.runner\.RunWith|`@RunWith`\(|import org\.junit\.jupiter\.api\.Test|RobolectricTestRunner|RobolectricExtension'

echo
echo "== Gradle 설정에서 JUnit/Jupiter/Robolectric 의존성 확인 =="
fd -i 'build.gradle*' | xargs rg -n 'junit|jupiter|robolectric'

Repository: ku-ring/KU-Ring-Android

Length of output: 164


🏁 Script executed:

#!/bin/bash
# Check the actual content of the test file in question
echo "== Content of KuringNotificationManagerTest.kt =="
cat -n core/util/src/test/java/com/ku_stacks/ku_ring/util/KuringNotificationManagerTest.kt

echo
echo "== JUnit4/JUnit5 imports across test files =="
rg -n 'import org\.junit\.' core/util/src/test/java --max-count=20

echo
echo "== Check for `@RunWith` and RobolectricTestRunner usage =="
rg -n '`@RunWith`|RobolectricTestRunner|RobolectricExtension' core/util/src/test/java --max-count=20

echo
echo "== Look for JUnit5 imports (jupiter) =="
rg -n 'import org\.junit\.jupiter' core/util/src/test/java

Repository: ku-ring/KU-Ring-Android

Length of output: 2776


🏁 Script executed:

#!/bin/bash
# Check build configuration for testing framework dependencies
echo "== Gradle build files in core/util =="
find core/util -name 'build.gradle*' -type f

echo
echo "== JUnit and testing framework dependencies in build.gradle files =="
find . -name 'build.gradle*' -type f -exec grep -l "junit\|jupiter\|robolectric" {} \;

echo
echo "== Root build.gradle content (testing dependencies) =="
cat build.gradle.kts 2>/dev/null | grep -A 50 "dependencies\|testImplementation" | head -100 || cat build.gradle 2>/dev/null | grep -A 50 "dependencies\|testImplementation" | head -100 || echo "No build.gradle found or readable"

Repository: ku-ring/KU-Ring-Android

Length of output: 1499


🏁 Script executed:

#!/bin/bash
# Check core/util build configuration
echo "== core/util/build.gradle.kts content =="
cat core/util/build.gradle.kts

echo
echo "== Gradle version catalog (libs.versions.toml) =="
find . -name 'libs.versions.toml' -o -name 'versions.gradle.kts' | xargs cat 2>/dev/null | grep -A 5 -B 5 'junit\|robolectric' || echo "Not found or pattern not matched"

Repository: ku-ring/KU-Ring-Android

Length of output: 4091


🏁 Script executed:

#!/bin/bash
# Check for gradle/libs.versions.toml
echo "== Looking for version catalog files =="
find . -type f \( -name '*.versions.toml' -o -name 'versions.gradle*' \) 2>/dev/null

echo
echo "== Check gradle directory structure =="
ls -la gradle/ 2>/dev/null || ls -la gradle.properties 2>/dev/null || echo "gradle directory not accessible"

Repository: ku-ring/KU-Ring-Android

Length of output: 635


JUnit4 API 대신 JUnit5로 마이그레이션하세요.

현재 코드는 JUnit4의 org.junit.Test, @RunWith 등을 사용하고 있으나, 코딩 규약 **/*Test.kt에 따라 JUnit5 기반으로 통일해야 합니다.

프로젝트의 gradle/libs.versions.toml에 JUnit5(6.0.3)와 android-junit5 플러그인이 정의되어 있으므로, 다음과 같이 마이그레이션합니다:

  • import org.junit.Testimport org.junit.jupiter.api.Test
  • @RunWith(RobolectricTestRunner::class)@ExtendWith(RobolectricExtension::class) 또는 플러그인 활성화 후 직접 사용

참고: 현재 프로젝트의 모든 테스트 파일이 JUnit4를 사용 중이므로, 이 파일의 수정은 프로젝트 전반적인 JUnit5 마이그레이션의 일부입니다. 빌드 설정의 android-junit5 플러그인 활성화와 unit-test 의존성 번들 수정도 함께 검토하세요.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@core/util/src/test/java/com/ku_stacks/ku_ring/util/KuringNotificationManagerTest.kt`
around lines 10 - 16, KuringNotificationManagerTest uses JUnit4; migrate it to
JUnit5 by replacing the import org.junit.Test with org.junit.jupiter.api.Test,
swap the class-level `@RunWith`(RobolectricTestRunner::class) for
`@ExtendWith`(RobolectricExtension::class) and add the import
org.robolectric.junit5.RobolectricExtension, and keep using shadowOf(...) as
needed; also ensure the android-junit5 plugin is enabled and the JUnit5 (6.0.3)
test dependency bundle is configured so the test class
(KuringNotificationManagerTest) compiles and runs under JUnit5.

@mwy3055 mwy3055 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks Fast To Me 👍

@ikseong00 ikseong00 merged commit cc6de19 into develop May 19, 2026
3 checks passed
@ikseong00 ikseong00 deleted the feature/notification-big-text-style branch May 19, 2026 06:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants