Skip to content

Commit f9f476f

Browse files
committed
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 a88222a commit f9f476f

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)