@@ -79,18 +79,50 @@ CustomProfileField mkCustomProfileField(
79
79
void main () {
80
80
TestZulipBinding .ensureInitialized ();
81
81
82
- group ('ProfilePage' , () {
83
- testWidgets ('page builds; profile page renders' , (tester) async {
84
- final user = eg.user (userId: 1 , fullName: 'test user' ,
85
- deliveryEmail
: '[email protected] ' );
82
+ testWidgets ('page builds; profile page renders' , (tester) async {
83
+ final user = eg.user (userId: 1 , fullName: 'test user' ,
84
+ deliveryEmail
: '[email protected] ' );
86
85
87
- await setupPage (tester, users: [user], pageUserId: user.userId);
86
+ await setupPage (tester, users: [user], pageUserId: user.userId);
88
87
89
- check (because: 'find user avatar' , find.byType (Avatar ).evaluate ()).length.equals (1 );
90
- check (because: 'find user name' , find.text ('test user' ).evaluate ()).isNotEmpty ();
91
- check (because
: 'find user delivery email' , find.
text (
'[email protected] ' ).
evaluate ()).
isNotEmpty ();
92
- });
88
+ check (because: 'find user avatar' , find.byType (Avatar ).evaluate ()).length.equals (1 );
89
+ check (because: 'find user name' , find.text ('test user' ).evaluate ()).isNotEmpty ();
90
+ check (because
: 'find user delivery email' , find.
text (
'[email protected] ' ).
evaluate ()).
isNotEmpty ();
91
+ });
92
+
93
+ testWidgets ('page builds; error page shows up if data is missing' , (tester) async {
94
+ await setupPage (tester, pageUserId: eg.selfUser.userId + 1989 );
95
+ check (because: 'find no user avatar' , find.byType (Avatar ).evaluate ()).isEmpty ();
96
+ check (because: 'find error icon' , find.byIcon (Icons .error).evaluate ()).isNotEmpty ();
97
+ });
98
+
99
+ testWidgets ('page builds; dm links to correct narrow' , (tester) async {
100
+ final pushedRoutes = < Route <dynamic >> [];
101
+ final testNavObserver = TestNavigatorObserver ()
102
+ ..onPushed = (route, prevRoute) => pushedRoutes.add (route);
103
+
104
+ await setupPage (tester,
105
+ users: [eg.user (userId: 1 )],
106
+ pageUserId: 1 ,
107
+ navigatorObserver: testNavObserver,
108
+ );
109
+
110
+ final targetWidget = find.byIcon (Icons .email);
111
+ await tester.ensureVisible (targetWidget);
112
+ await tester.tap (targetWidget);
113
+ check (pushedRoutes).last.isA <WidgetRoute >().page
114
+ .isA <MessageListPage >()
115
+ .initNarrow.equals (DmNarrow .withUser (1 , selfUserId: eg.selfUser.userId));
116
+ });
93
117
118
+ testWidgets ('page builds; ensure long name does not overflow' , (tester) async {
119
+ final longString = 'X' * 400 ;
120
+ final user = eg.user (userId: 1 , fullName: longString);
121
+ await setupPage (tester, users: [user], pageUserId: user.userId);
122
+ check (find.text (longString).evaluate ()).isNotEmpty ();
123
+ });
124
+
125
+ group ('custom profile fields' , () {
94
126
testWidgets ('page builds; profile page renders with profileData' , (tester) async {
95
127
await setupPage (tester,
96
128
users: [
@@ -153,12 +185,6 @@ void main() {
153
185
.deepEquals ([1 , 2 ]);
154
186
});
155
187
156
- testWidgets ('page builds; error page shows up if data is missing' , (tester) async {
157
- await setupPage (tester, pageUserId: eg.selfUser.userId + 1989 );
158
- check (because: 'find no user avatar' , find.byType (Avatar ).evaluate ()).isEmpty ();
159
- check (because: 'find error icon' , find.byIcon (Icons .error).evaluate ()).isNotEmpty ();
160
- });
161
-
162
188
testWidgets ('page builds; link type will navigate' , (tester) async {
163
189
const testUrl = 'http://example/url' ;
164
190
final user = eg.user (userId: 1 , profileData: {
@@ -284,25 +310,6 @@ void main() {
284
310
debugNetworkImageHttpClientProvider = null ;
285
311
});
286
312
287
- testWidgets ('page builds; dm links to correct narrow' , (tester) async {
288
- final pushedRoutes = < Route <dynamic >> [];
289
- final testNavObserver = TestNavigatorObserver ()
290
- ..onPushed = (route, prevRoute) => pushedRoutes.add (route);
291
-
292
- await setupPage (tester,
293
- users: [eg.user (userId: 1 )],
294
- pageUserId: 1 ,
295
- navigatorObserver: testNavObserver,
296
- );
297
-
298
- final targetWidget = find.byIcon (Icons .email);
299
- await tester.ensureVisible (targetWidget);
300
- await tester.tap (targetWidget);
301
- check (pushedRoutes).last.isA <WidgetRoute >().page
302
- .isA <MessageListPage >()
303
- .initNarrow.equals (DmNarrow .withUser (1 , selfUserId: eg.selfUser.userId));
304
- });
305
-
306
313
testWidgets ('page builds; user links render multiple avatars' , (tester) async {
307
314
final users = [
308
315
eg.user (userId: 1 , profileData: {
@@ -323,13 +330,6 @@ void main() {
323
330
.deepEquals ([1 , 2 , 3 ]);
324
331
});
325
332
326
- testWidgets ('page builds; ensure long name does not overflow' , (tester) async {
327
- final longString = 'X' * 400 ;
328
- final user = eg.user (userId: 1 , fullName: longString);
329
- await setupPage (tester, users: [user], pageUserId: user.userId);
330
- check (find.text (longString).evaluate ()).isNotEmpty ();
331
- });
332
-
333
333
testWidgets ('page builds; ensure long customProfileFields do not overflow' , (tester) async {
334
334
final longString = 'X' * 400 ;
335
335
final user = eg.user (userId: 1 , fullName: 'fullName' , profileData: {
0 commit comments