Skip to content

Commit e313bce

Browse files
committed
Fix tests
1 parent d2fbd37 commit e313bce

File tree

3 files changed

+30
-7
lines changed

3 files changed

+30
-7
lines changed

src/main/java/io/getstream/chat/java/models/User.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,10 @@ public static class FutureChannelBan {
222222
@JsonProperty("user")
223223
private User user;
224224

225+
@Nullable
226+
@JsonProperty("banned_by")
227+
private User bannedBy;
228+
225229
@Nullable
226230
@JsonProperty("expires")
227231
private Date expires;
@@ -828,6 +832,10 @@ public static class UserBanRequestData {
828832
@JsonProperty("ban_from_future_channels")
829833
private Boolean banFromFutureChannels;
830834

835+
@Nullable
836+
@JsonProperty("channel_cid")
837+
private String channelCid;
838+
831839
public static class UserBanRequest extends StreamRequest<StreamResponseObject> {
832840
@Override
833841
protected Call<StreamResponseObject> generateCall(Client client) {
@@ -1109,6 +1117,8 @@ public static class UserUnbanRequest extends StreamRequest<StreamResponseObject>
11091117

11101118
@Nullable private Boolean removeFutureChannelsBan;
11111119

1120+
@Nullable private String createdBy;
1121+
11121122
@NotNull
11131123
public UserUnbanRequest type(@NotNull String type) {
11141124
this.type = type;
@@ -1133,11 +1143,17 @@ public UserUnbanRequest removeFutureChannelsBan(@NotNull Boolean removeFutureCha
11331143
return this;
11341144
}
11351145

1146+
@NotNull
1147+
public UserUnbanRequest createdBy(@NotNull String createdBy) {
1148+
this.createdBy = createdBy;
1149+
return this;
1150+
}
1151+
11361152
@Override
11371153
protected Call<StreamResponseObject> generateCall(Client client) {
11381154
return client
11391155
.create(UserService.class)
1140-
.unban(targetUserId, type, id, shadow, removeFutureChannelsBan);
1156+
.unban(targetUserId, type, id, shadow, removeFutureChannelsBan, createdBy);
11411157
}
11421158
}
11431159

src/main/java/io/getstream/chat/java/services/UserService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ Call<StreamResponseObject> unban(
6666
@Nullable @Query("type") String channelType,
6767
@Nullable @Query("id") String channelId,
6868
@Nullable @Query("shadow") Boolean shadow,
69-
@Nullable @Query("remove_future_channels_ban") Boolean removeFutureChannelsBan);
69+
@Nullable @Query("remove_future_channels_ban") Boolean removeFutureChannelsBan,
70+
@Nullable @Query("created_by") String createdBy);
7071

7172
@GET("query_future_channel_bans")
7273
Call<UserQueryFutureChannelBansResponse> queryFutureChannelBans(

src/test/java/io/getstream/chat/java/UserTest.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -521,12 +521,16 @@ void whenQueryingFutureChannelBansWithTargetUserId_thenFiltersCorrectly() {
521521
usersUpsertRequest.user(UserRequestObject.builder().id(targetId2).name("Target 2").build());
522522
Assertions.assertDoesNotThrow(() -> usersUpsertRequest.request());
523523

524+
// Use the test channel's CID for banning from future channels
525+
String channelCid = testChannel.getType() + ":" + testChannel.getId();
526+
524527
// Ban both targets from future channels created by creator
525528
Assertions.assertDoesNotThrow(
526529
() ->
527530
User.ban()
528531
.userId(creatorId)
529532
.targetUserId(targetId1)
533+
.channelCid(channelCid)
530534
.banFromFutureChannels(true)
531535
.reason("test ban 1")
532536
.request());
@@ -536,6 +540,7 @@ void whenQueryingFutureChannelBansWithTargetUserId_thenFiltersCorrectly() {
536540
User.ban()
537541
.userId(creatorId)
538542
.targetUserId(targetId2)
543+
.channelCid(channelCid)
539544
.banFromFutureChannels(true)
540545
.reason("test ban 2")
541546
.request());
@@ -546,26 +551,27 @@ void whenQueryingFutureChannelBansWithTargetUserId_thenFiltersCorrectly() {
546551
() ->
547552
User.queryFutureChannelBans().userId(creatorId).targetUserId(targetId1).request());
548553
Assertions.assertEquals(1, response.getBans().size());
549-
Assertions.assertEquals(targetId1, response.getBans().get(0).getUser().getId());
554+
// For future channel bans, banned_by contains the creator (userId)
555+
Assertions.assertEquals(creatorId, response.getBans().get(0).getBannedBy().getId());
550556

551557
// Query for the other target
552558
response =
553559
Assertions.assertDoesNotThrow(
554560
() ->
555561
User.queryFutureChannelBans().userId(creatorId).targetUserId(targetId2).request());
556562
Assertions.assertEquals(1, response.getBans().size());
557-
Assertions.assertEquals(targetId2, response.getBans().get(0).getUser().getId());
563+
Assertions.assertEquals(creatorId, response.getBans().get(0).getBannedBy().getId());
558564

559565
// Query all future channel bans by creator (without target filter)
560566
response =
561567
Assertions.assertDoesNotThrow(
562568
() -> User.queryFutureChannelBans().userId(creatorId).request());
563569
Assertions.assertTrue(response.getBans().size() >= 2);
564570

565-
// Cleanup - unban both users
571+
// Cleanup - unban both users (createdBy is required when removing future channel bans)
566572
Assertions.assertDoesNotThrow(
567-
() -> User.unban(targetId1).removeFutureChannelsBan(true).request());
573+
() -> User.unban(targetId1).removeFutureChannelsBan(true).createdBy(creatorId).request());
568574
Assertions.assertDoesNotThrow(
569-
() -> User.unban(targetId2).removeFutureChannelsBan(true).request());
575+
() -> User.unban(targetId2).removeFutureChannelsBan(true).createdBy(creatorId).request());
570576
}
571577
}

0 commit comments

Comments
 (0)