|  | 
| 1 | 1 | import 'package:checks/checks.dart'; | 
|  | 2 | +import 'package:collection/collection.dart'; | 
| 2 | 3 | import 'package:test/scaffolding.dart'; | 
| 3 | 4 | import 'package:zulip/api/model/events.dart'; | 
| 4 | 5 | import 'package:zulip/api/model/initial_snapshot.dart'; | 
| @@ -91,6 +92,21 @@ void main() { | 
| 91 | 92 |     }); | 
| 92 | 93 |   }); | 
| 93 | 94 | 
 | 
|  | 95 | +  group('channelFolderComparator', () { | 
|  | 96 | +    final folder1 = eg.channelFolder(id: 1, order: null, name: 'M'); | 
|  | 97 | +    final folder2 = eg.channelFolder(id: 2, order: null, name: 'n'); | 
|  | 98 | +    final folder3 = eg.channelFolder(id: 3, order: 2, name: 'a'); | 
|  | 99 | +    final folder4 = eg.channelFolder(id: 4, order: 0, name: 'b'); | 
|  | 100 | +    final folder5 = eg.channelFolder(id: 5, order: 1, name: 'c'); | 
|  | 101 | + | 
|  | 102 | +    final store = eg.store(initialSnapshot: eg.initialSnapshot( | 
|  | 103 | +      channelFolders: [folder1, folder2, folder3, folder4, folder5])); | 
|  | 104 | + | 
|  | 105 | +    final sorted = store.channelFolders.values.toList() | 
|  | 106 | +      .sorted(ChannelStore.compareChannelFolders); | 
|  | 107 | +    check(sorted).deepEquals([folder1, folder2, folder4, folder5, folder3]); | 
|  | 108 | +  }); | 
|  | 109 | + | 
| 94 | 110 |   group('SubscriptionEvent', () { | 
| 95 | 111 |     final stream = eg.stream(); | 
| 96 | 112 | 
 | 
|  | 
0 commit comments