Skip to content

main - develop merge - #93

Merged
lemon0333 merged 62 commits into
mainfrom
develop
Jan 18, 2026
Merged

lemon0333 merged 62 commits into
mainfrom
develop

Conversation

@lemon0333

Copy link
Copy Markdown
Contributor

main - develop merge

lemon0333 and others added 30 commits December 9, 2025 23:26
chore: sync feature/BC-27-chat with develop
- Migrate from Kotest to JUnit5
- MemberServiceTest: 23 tests passing
- MemberControllerTest: Exclude Spring Security and integrate GlobalExceptionHandler
- MemberRepositoryTest: Complete unit tests with MockK configuration
- Add TEST_STATUS.md documentation
Convert MemberTest.kt from Kotest DescribeSpec to JUnit5 to maintain consistency with other member domain tests (MemberServiceTest, MemberControllerTest, MemberRepositoryTest).
All member domain tests now use JUnit5 framework.
- Add BCryptPasswordEncoder bean in SecurityConfig
- Hash passwords during user registration in MemberService
- Update Member.verifyPassword to use BCrypt password matching
- Update test cases to use BCrypt for password verification
- Add PlantUML sequence diagram for BCrypt implementation
- Add configurable BCrypt strength in application.yml
- Inject strength value from configuration in SecurityConfig
- Default value remains 10 (recommended for production)
- Allows adjusting security vs performance trade-off
- Added unit tests for ChatMessageService and ChatRoomService
- Created integration tests for all repositories (ChatRoom, ChatMessage, MemberChatRoom)
- Enhanced controller tests with edge cases (invalid inputs, unauthorized access)
- Integrated Jacoco with 70% line, 60% branch coverage thresholds

Coverage: Controller 100%, Service 94%, Repository 91%
Total: 31+ test cases passing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
[BC-27] [Feature] chat 및 subscription 도메인 테스트 코드 개선(+Jacoco)
lemon0333 and others added 25 commits January 18, 2026 23:36
- Add accessToken and refreshToken to SignupResponse
- Create SignupResult data class for signup result
- Implement auto-login after signup by generating JWT tokens
- Fix 403 error when calling artist profile API after signup
- Update test cases to reflect new signup response structure

# Conflicts:
#	src/main/kotlin/com/bandchu/api/domain/member/dto/SignupResponse.kt
#	src/test/kotlin/com/bandchu/api/domain/member/controller/MemberControllerTest.kt
- Add GET /api/chatrooms/{roomId} endpoint
- Create ChatRoomDetailResponse DTO with member details
- Add getChatRoomDetail service method
- Add findMembersWithRoleByRoomId repository method
- Return room info with members including role information
- Add pluginManagement block with mavenCentral() and gradlePluginPortal()
- Fixes Gradle plugin resolution issue for Kotlin plugins
- Fix missing FROM-clause error by using SubscriptionTable.artiProfile
- Remove unused AlbumTable import
- Fixes 500 error when fetching posts
- Fix artist post filtering to use member ID instead of profile ID
- Add null check for ArtiProfileTable.member
- Fixes issue where artist posts were not shown in artist board
- Add artist permission validation when updating ARTIST type posts
- Check if user has ArtiProfile before allowing update
- Matches the validation logic used in post creation
- Add try-catch for safer role validation
- Handle exceptions more gracefully
- May help with 403 errors when accessing artist profile page after signup
Added deployment step to server via SSH in GitHub Actions workflow.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This is a comprehensive merge from the develop branch to main, introducing significant improvements in testing infrastructure, security, API documentation, and code organization.

Changes:

  • Added comprehensive test infrastructure with H2 in-memory database configuration and test fixtures for all major domains
  • Implemented BCrypt password hashing for improved security
  • Added extensive Swagger/OpenAPI documentation annotations across all API endpoints
  • Introduced Flyway database migrations and improved application configuration

Reviewed changes

Copilot reviewed 117 out of 120 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/test/resources/application-test.yml Configured H2 in-memory database for testing with PostgreSQL compatibility
src/test/kotlin/com/bandchu/api/fixture/*.kt Added test fixtures for Subscription, Post, Comment, and Chat domains
src/test/kotlin/com/bandchu/api/domain/*/controller/*ApiTest.kt Added E2E API tests for Subscription, Posts, Chat, Album, Artist, and Concert domains
src/test/kotlin/com/bandchu/api/domain/member/service/MemberServiceTest.kt Added unit tests for MemberService with BCrypt password validation
src/test/kotlin/com/bandchu/api/domain/chat/service/*.kt Added unit tests for Chat services with MockK
src/main/kotlin/com/bandchu/api/domain/member/model/Member.kt Added factory methods and password verification with BCrypt
src/main/kotlin/com/bandchu/api/domain/member/service/MemberService.kt Integrated BCrypt password hashing for signup and login
src/main/kotlin/com/bandchu/api/global/config/SecurityConfig.kt Added BCryptPasswordEncoder bean configuration
src/main/kotlin/com/bandchu/api/domain//dto/.kt Added Swagger @Schema annotations for API documentation
src/main/kotlin/com/bandchu/api/domain//controller/.kt Added @operation and @tag annotations for Swagger documentation
src/main/resources/application.yml Added Flyway, JPA, BCrypt, and JWT configuration
build.gradle.kts Added JaCoCo for code coverage and updated test configuration
.github/workflows/test.yml Added CI workflow for automated testing
docs/*.md Added test guides and BCrypt sequence diagrams

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@lemon0333
lemon0333 merged commit a4ea16f into main Jan 18, 2026
2 checks passed
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.

5 participants