summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-03-18 13:25:00 +0900
committerSho Sakuma <me@m1sk9.dev>2026-03-18 13:25:00 +0900
commitbed6a970165d6aa70473df842606d5f8ed1897e7 (patch)
tree9ae22abdb1da1b95e5e3654306a91f78c17e847c
parent7e127883203ef0670ebb3f97b847878408da98b8 (diff)
downloadLunaticChat-bed6a970165d6aa70473df842606d5f8ed1897e7.tar.gz
LunaticChat-bed6a970165d6aa70473df842606d5f8ed1897e7.tar.bz2
LunaticChat-bed6a970165d6aa70473df842606d5f8ed1897e7.zip
test: Add Restore Channel Manager test-case
-rw-r--r--platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/chat/channel/ChannelManagerTest.kt44
1 files changed, 44 insertions, 0 deletions
diff --git a/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/chat/channel/ChannelManagerTest.kt b/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/chat/channel/ChannelManagerTest.kt
index 349903a..8174a33 100644
--- a/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/chat/channel/ChannelManagerTest.kt
+++ b/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/chat/channel/ChannelManagerTest.kt
@@ -503,6 +503,50 @@ class ChannelManagerTest {
}
@Test
+ fun `restorePlayerChannel should restore from membership when no active channel`() {
+ val (manager, _, _) = createManager()
+ manager.initialize()
+
+ val ownerId = createTestUUID(1)
+ val memberId = createTestUUID(2)
+ manager.createChannel(createTestChannel(id = "restore-ch", name = "Restore Channel", ownerId = ownerId))
+ manager.addMember("restore-ch", memberId, ChannelRole.MEMBER)
+
+ // Clear active channel (simulates quit)
+ manager.setPlayerChannel(memberId, null)
+ assertNull(manager.getPlayerChannel(memberId))
+
+ // Restore should find membership and set active channel
+ val context = manager.restorePlayerChannel(memberId)
+ assertNotNull(context)
+ assertEquals("restore-ch", context.channelId)
+ assertEquals("Restore Channel", context.channel.name)
+ assertEquals("restore-ch", manager.getPlayerChannel(memberId))
+ }
+
+ @Test
+ fun `restorePlayerChannel should return existing context if already active`() {
+ val (manager, _, _) = createManager()
+ manager.initialize()
+
+ val ownerId = createTestUUID(1)
+ manager.createChannel(createTestChannel(id = "active-ch", name = "Active Channel", ownerId = ownerId))
+
+ // Owner already has active channel from createChannel
+ val context = manager.restorePlayerChannel(ownerId)
+ assertNotNull(context)
+ assertEquals("active-ch", context.channelId)
+ }
+
+ @Test
+ fun `restorePlayerChannel should return null for non-member`() {
+ val (manager, _, _) = createManager()
+ manager.initialize()
+
+ assertNull(manager.restorePlayerChannel(createTestUUID(99)))
+ }
+
+ @Test
fun `saveToDisk should call storage saveToDisk`() {
val (manager, storage, _) = createManager()
manager.initialize()