diff options
| author | Sho Sakuma <me@m1sk9.dev> | 2026-03-18 13:25:00 +0900 |
|---|---|---|
| committer | Sho Sakuma <me@m1sk9.dev> | 2026-03-18 13:25:00 +0900 |
| commit | bed6a970165d6aa70473df842606d5f8ed1897e7 (patch) | |
| tree | 9ae22abdb1da1b95e5e3654306a91f78c17e847c | |
| parent | 7e127883203ef0670ebb3f97b847878408da98b8 (diff) | |
| download | LunaticChat-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.kt | 44 |
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() |
