Skip to content

Commit 67d1f70

Browse files
committed
Add waiting for the final result + make tests resilient to concurrent tests execution
1 parent d17394a commit 67d1f70

1 file changed

Lines changed: 12 additions & 11 deletions

File tree

Assets/Plugins/StreamChat/Tests/StatefulClient/ChannelsQueryFiltersTests.cs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ private async Task When_query_channel_with_member_name_autocomplete_filter_expec
160160
await channel1.AddMembersAsync(hideHistory: default, optionalMessage: default, userAnna);
161161
await channel2.AddMembersAsync(hideHistory: default, optionalMessage: default, userDaniel);
162162
await channel3.AddMembersAsync(hideHistory: default, optionalMessage: default, userJonathan);
163-
163+
164164
// The search filter for MemberUserName relies on the `read-channel-members` permissions being enabled.
165165
// For channel type `Messaging` you can only view other members if you're a member yourself
166166
await channel2.AddMembersAsync(hideHistory: default, optionalMessage: default, Client.LocalUserData.User);
@@ -173,7 +173,7 @@ private async Task When_query_channel_with_member_name_autocomplete_filter_expec
173173
var channels2 = (await Client.QueryChannelsAsync(filters2, _sortByCreatedAtAscending)).ToArray();
174174
Assert.Contains(channel2, channels2);
175175
}
176-
176+
177177
[UnityTest]
178178
public IEnumerator When_query_channel_with_members_count_filter_expect_valid_results()
179179
=> ConnectAndExecute(When_query_channel_with_members_count_filter_expect_valid_results_Async);
@@ -183,7 +183,7 @@ private async Task When_query_channel_with_members_count_filter_expect_valid_res
183183
var channel1 = await CreateUniqueTempChannelAsync();
184184
var channel2 = await CreateUniqueTempChannelAsync();
185185
var channel3 = await CreateUniqueTempChannelAsync();
186-
186+
187187
var userAnna = await CreateUniqueTempUserAsync("Anna");
188188
var userDaniel = await CreateUniqueTempUserAsync("Daniel");
189189
var userJonathan = await CreateUniqueTempUserAsync("Jonathan");
@@ -197,14 +197,15 @@ private async Task When_query_channel_with_members_count_filter_expect_valid_res
197197
ChannelFilter.MembersCount.EqualsTo(3),
198198
};
199199

200-
var channels = (await Client.QueryChannelsAsync(filters, _sortByCreatedAtAscending)).ToArray();
200+
var channels = (await TryAsync(() => Client.QueryChannelsAsync(filters, _sortByCreatedAtAscending),
201+
channels => channels.All(c => c.MemberCount == 3))).ToArray();
201202
Assert.IsNull(channels.FirstOrDefault(c => c == channel1));
202203
Assert.Contains(channel2, channels);
203204
Assert.IsNull(channels.FirstOrDefault(c => c == channel3));
204-
205+
205206
Assert.IsTrue(channels.All(c => c.MemberCount == 3));
206207
}
207-
208+
208209
[UnityTest]
209210
public IEnumerator When_query_channel_by_created_at_filter_expect_valid_results()
210211
=> ConnectAndExecute(When_query_channel_by_created_at_filter_expect_valid_results_Async);
@@ -214,16 +215,16 @@ private async Task When_query_channel_by_created_at_filter_expect_valid_results_
214215
var channel1 = await CreateUniqueTempChannelAsync();
215216
var channel2 = await CreateUniqueTempChannelAsync();
216217
var channel3 = await CreateUniqueTempChannelAsync();
218+
var allChannels = new [] { channel1, channel2, channel3 };
217219

218220
var filters = new IFieldFilterRule[]
219221
{
220-
ChannelFilter.CreatedAt.GreaterThanOrEquals(DateTime.Now.AddMinutes(-5)),
222+
ChannelFilter.CreatedAt.GreaterThanOrEquals(DateTime.UtcNow.AddMinutes(-5)),
221223
};
222224

223-
var channels = (await Client.QueryChannelsAsync(filters, _sortByCreatedAtAscending)).ToArray();
224-
Assert.Contains(channel1, channels);
225-
Assert.Contains(channel2, channels);
226-
Assert.Contains(channel3, channels);
225+
var channels = await TryAsync(() => Client.QueryChannelsAsync(filters, _sortByCreatedAtAscending),
226+
channels => allChannels.All(channels.Contains));
227+
Assert.IsTrue(allChannels.All(channels.Contains));
227228
}
228229

229230
private readonly ChannelSortObject _sortByCreatedAtAscending

0 commit comments

Comments
 (0)