Skip to content

Commit 1261b5a

Browse files
Khader-1gnprice
authored andcommitted
autocomplete test [nfc]: Use test group to handle testUser cases
'testUser' is a filter function that is expected to get complicated as we add features. For example it will be responsible for filtering users based on email, name, stream activity, etc. More on this: #236 so it is useful to have the test cases for 'testUser' grouped.
1 parent fed431b commit 1261b5a

File tree

1 file changed

+31
-29
lines changed

1 file changed

+31
-29
lines changed

test/model/autocomplete_test.dart

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -305,40 +305,42 @@ void main() {
305305
}
306306
});
307307

308-
test('MentionAutocompleteQuery.testUser', () {
308+
group('MentionAutocompleteQuery.testUser', () {
309309
doCheck(String rawQuery, User user, bool expected) {
310310
final result = MentionAutocompleteQuery(rawQuery)
311311
.testUser(user, AutocompleteDataCache());
312312
expected ? check(result).isTrue() : check(result).isFalse();
313313
}
314314

315-
doCheck('', eg.user(fullName: 'Full Name'), true);
316-
doCheck('', eg.user(fullName: ''), true); // Unlikely case, but should not crash
317-
doCheck('Full Name', eg.user(fullName: 'Full Name'), true);
318-
doCheck('full name', eg.user(fullName: 'Full Name'), true);
319-
doCheck('Full Name', eg.user(fullName: 'full name'), true);
320-
doCheck('Full', eg.user(fullName: 'Full Name'), true);
321-
doCheck('Name', eg.user(fullName: 'Full Name'), true);
322-
doCheck('Full Name', eg.user(fullName: 'Fully Named'), true);
323-
doCheck('Full Four', eg.user(fullName: 'Full Name Four Words'), true);
324-
doCheck('Name Words', eg.user(fullName: 'Full Name Four Words'), true);
325-
doCheck('Full F', eg.user(fullName: 'Full Name Four Words'), true);
326-
doCheck('F Four', eg.user(fullName: 'Full Name Four Words'), true);
327-
doCheck('full full', eg.user(fullName: 'Full Full Name'), true);
328-
doCheck('full full', eg.user(fullName: 'Full Name Full'), true);
329-
330-
doCheck('F', eg.user(fullName: ''), false); // Unlikely case, but should not crash
331-
doCheck('Fully Named', eg.user(fullName: 'Full Name'), false);
332-
doCheck('Full Name', eg.user(fullName: 'Full'), false);
333-
doCheck('Full Name', eg.user(fullName: 'Name'), false);
334-
doCheck('ull ame', eg.user(fullName: 'Full Name'), false);
335-
doCheck('ull Name', eg.user(fullName: 'Full Name'), false);
336-
doCheck('Full ame', eg.user(fullName: 'Full Name'), false);
337-
doCheck('Full Full', eg.user(fullName: 'Full Name'), false);
338-
doCheck('Name Name', eg.user(fullName: 'Full Name'), false);
339-
doCheck('Name Full', eg.user(fullName: 'Full Name'), false);
340-
doCheck('Name Four Full Words', eg.user(fullName: 'Full Name Four Words'), false);
341-
doCheck('F Full', eg.user(fullName: 'Full Name Four Words'), false);
342-
doCheck('Four F', eg.user(fullName: 'Full Name Four Words'), false);
315+
test('user is included if fullname words match the query', () {
316+
doCheck('', eg.user(fullName: 'Full Name'), true);
317+
doCheck('', eg.user(fullName: ''), true); // Unlikely case, but should not crash
318+
doCheck('Full Name', eg.user(fullName: 'Full Name'), true);
319+
doCheck('full name', eg.user(fullName: 'Full Name'), true);
320+
doCheck('Full Name', eg.user(fullName: 'full name'), true);
321+
doCheck('Full', eg.user(fullName: 'Full Name'), true);
322+
doCheck('Name', eg.user(fullName: 'Full Name'), true);
323+
doCheck('Full Name', eg.user(fullName: 'Fully Named'), true);
324+
doCheck('Full Four', eg.user(fullName: 'Full Name Four Words'), true);
325+
doCheck('Name Words', eg.user(fullName: 'Full Name Four Words'), true);
326+
doCheck('Full F', eg.user(fullName: 'Full Name Four Words'), true);
327+
doCheck('F Four', eg.user(fullName: 'Full Name Four Words'), true);
328+
doCheck('full full', eg.user(fullName: 'Full Full Name'), true);
329+
doCheck('full full', eg.user(fullName: 'Full Name Full'), true);
330+
331+
doCheck('F', eg.user(fullName: ''), false); // Unlikely case, but should not crash
332+
doCheck('Fully Named', eg.user(fullName: 'Full Name'), false);
333+
doCheck('Full Name', eg.user(fullName: 'Full'), false);
334+
doCheck('Full Name', eg.user(fullName: 'Name'), false);
335+
doCheck('ull ame', eg.user(fullName: 'Full Name'), false);
336+
doCheck('ull Name', eg.user(fullName: 'Full Name'), false);
337+
doCheck('Full ame', eg.user(fullName: 'Full Name'), false);
338+
doCheck('Full Full', eg.user(fullName: 'Full Name'), false);
339+
doCheck('Name Name', eg.user(fullName: 'Full Name'), false);
340+
doCheck('Name Full', eg.user(fullName: 'Full Name'), false);
341+
doCheck('Name Four Full Words', eg.user(fullName: 'Full Name Four Words'), false);
342+
doCheck('F Full', eg.user(fullName: 'Full Name Four Words'), false);
343+
doCheck('Four F', eg.user(fullName: 'Full Name Four Words'), false);
344+
});
343345
});
344346
}

0 commit comments

Comments
 (0)