@@ -58,18 +58,63 @@ class GroupTest {
58
58
}
59
59
60
60
@Test
61
- fun testCanCreateAGroup () {
62
- val group = boClient.conversations.newGroup(listOf (alix.walletAddress))
63
- assert (group.id.isNotEmpty())
61
+ fun testCanCreateAGroupWithDefaultPermissions () {
62
+ val boGroup = boClient.conversations.newGroup(listOf (alix.walletAddress))
63
+ runBlocking { alixClient.conversations.syncGroups() }
64
+ val alixGroup = alixClient.conversations.listGroups().first()
65
+ assert (boGroup.id.isNotEmpty())
66
+ assert (alixGroup.id.isNotEmpty())
67
+
68
+ alixGroup.addMembers(listOf (caro.walletAddress))
69
+ runBlocking { boGroup.sync() }
70
+ assertEquals(alixGroup.memberAddresses().size, 3 )
71
+ assertEquals(boGroup.memberAddresses().size, 3 )
72
+
73
+ alixGroup.removeMembers(listOf (caro.walletAddress))
74
+ runBlocking { boGroup.sync() }
75
+ assertEquals(alixGroup.memberAddresses().size, 2 )
76
+ assertEquals(boGroup.memberAddresses().size, 2 )
77
+
78
+ boGroup.addMembers(listOf (caro.walletAddress))
79
+ runBlocking { alixGroup.sync() }
80
+ assertEquals(alixGroup.memberAddresses().size, 3 )
81
+ assertEquals(boGroup.memberAddresses().size, 3 )
64
82
}
65
83
66
84
@Test
67
85
fun testCanCreateAGroupWithAdminPermissions () {
68
- val group = boClient.conversations.newGroup(
86
+ val boGroup = boClient.conversations.newGroup(
69
87
listOf (alix.walletAddress),
70
88
permissions = GroupPermissions .GROUP_CREATOR_IS_ADMIN
71
89
)
72
- assert (group.id.isNotEmpty())
90
+ runBlocking { alixClient.conversations.syncGroups() }
91
+ val alixGroup = alixClient.conversations.listGroups().first()
92
+ assert (boGroup.id.isNotEmpty())
93
+ assert (alixGroup.id.isNotEmpty())
94
+
95
+ boGroup.addMembers(listOf (caro.walletAddress))
96
+ runBlocking { alixGroup.sync() }
97
+ assertEquals(alixGroup.memberAddresses().size, 3 )
98
+ assertEquals(boGroup.memberAddresses().size, 3 )
99
+
100
+ assertThrows(XMTPException ::class .java) {
101
+ alixGroup.removeMembers(listOf (caro.walletAddress))
102
+ }
103
+ runBlocking { boGroup.sync() }
104
+ assertEquals(alixGroup.memberAddresses().size, 3 )
105
+ assertEquals(boGroup.memberAddresses().size, 3 )
106
+
107
+ boGroup.removeMembers(listOf (caro.walletAddress))
108
+ runBlocking { alixGroup.sync() }
109
+ assertEquals(alixGroup.memberAddresses().size, 2 )
110
+ assertEquals(boGroup.memberAddresses().size, 2 )
111
+
112
+ assertThrows(XMTPException ::class .java) {
113
+ alixGroup.addMembers(listOf (caro.walletAddress))
114
+ }
115
+ runBlocking { boGroup.sync() }
116
+ assertEquals(alixGroup.memberAddresses().size, 2 )
117
+ assertEquals(boGroup.memberAddresses().size, 2 )
73
118
}
74
119
75
120
@Test
0 commit comments