Skip to content

Commit bf27e23

Browse files
gnpricechrisbobbe
authored andcommitted
test [nfc]: Make message IDs and stream/channel IDs positive
Zulip message IDs and stream/channel IDs, like user IDs, are positive integers. So avoiding zero for them helps keep the test data realistic.
1 parent 86b8c57 commit bf27e23

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

test/example_data.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ ZulipStream stream({
180180
int? canRemoveSubscribersGroup,
181181
int? streamWeeklyTraffic,
182182
}) {
183+
_checkPositive(streamId, 'stream ID');
184+
_checkPositive(firstMessageId, 'message ID');
183185
return ZulipStream(
184186
streamId: streamId ?? _nextStreamId(),
185187
name: name ?? 'A stream', // TODO generate example names
@@ -334,6 +336,7 @@ StreamMessage streamMessage({
334336
int? timestamp,
335337
List<MessageFlag>? flags,
336338
}) {
339+
_checkPositive(id, 'message ID');
337340
final effectiveStream = stream ?? _stream(streamId: defaultStreamMessageStreamId);
338341
// The use of JSON here is convenient in order to delegate parts of the data
339342
// to helper functions. The main downside is that it loses static typing
@@ -376,6 +379,7 @@ DmMessage dmMessage({
376379
int? timestamp,
377380
List<MessageFlag>? flags,
378381
}) {
382+
_checkPositive(id, 'message ID');
379383
assert(!to.any((user) => user.userId == from.userId));
380384
return DmMessage.fromJson(deepToJson({
381385
..._messagePropertiesBase,
@@ -446,6 +450,7 @@ UpdateMessageEvent updateMessageEditEvent(
446450
String? renderedContent,
447451
bool isMeMessage = false,
448452
}) {
453+
_checkPositive(messageId, 'message ID');
449454
messageId ??= origMessage.id;
450455
return UpdateMessageEvent(
451456
id: 0,
@@ -479,6 +484,8 @@ UpdateMessageEvent _updateMessageMoveEvent(
479484
required List<MessageFlag> flags,
480485
PropagateMode propagateMode = PropagateMode.changeOne,
481486
}) {
487+
_checkPositive(origStreamId, 'stream ID');
488+
_checkPositive(newStreamId, 'stream ID');
482489
assert(newTopic != origTopic
483490
|| (newStreamId != null && newStreamId != origStreamId));
484491
assert(messageIds.isNotEmpty);
@@ -511,6 +518,7 @@ UpdateMessageEvent updateMessageEventMoveFrom({
511518
String? newContent,
512519
PropagateMode propagateMode = PropagateMode.changeOne,
513520
}) {
521+
_checkPositive(newStreamId, 'stream ID');
514522
assert(origMessages.isNotEmpty);
515523
final origMessage = origMessages.first;
516524
// Only present on content change.
@@ -535,6 +543,7 @@ UpdateMessageEvent updateMessageEventMoveTo({
535543
String? origContent,
536544
PropagateMode propagateMode = PropagateMode.changeOne,
537545
}) {
546+
_checkPositive(origStreamId, 'stream ID');
538547
assert(newMessages.isNotEmpty);
539548
final newMessage = newMessages.first;
540549
// Only present on topic move.

0 commit comments

Comments
 (0)