@@ -38,11 +38,14 @@ late FakeApiConnection connection;
3838Future <void > setupToMessageActionSheet (WidgetTester tester, {
3939 required Message message,
4040 required Narrow narrow,
41+ Account ? account,
4142}) async {
4243 addTearDown (testBinding.reset);
4344
44- await testBinding.globalStore.add (eg.selfAccount, eg.initialSnapshot ());
45- final store = await testBinding.globalStore.perAccount (eg.selfAccount.id);
45+ account ?? = eg.selfAccount;
46+ final initialSnapshot = eg.initialSnapshot (zulipFeatureLevel: account.zulipFeatureLevel);
47+ await testBinding.globalStore.add (account, initialSnapshot);
48+ final store = await testBinding.globalStore.perAccount (account.id);
4649 await store.addUser (eg.user (userId: message.senderId));
4750 if (message is StreamMessage ) {
4851 final stream = eg.stream (streamId: message.streamId);
@@ -60,8 +63,8 @@ Future<void> setupToMessageActionSheet(WidgetTester tester, {
6063 historyLimited: false ,
6164 messages: [message],
6265 ).toJson ());
63-
64- await tester.pumpWidget (TestZulipApp (accountId: eg.selfAccount .id,
66+ await tester. pumpAndSettle ();
67+ await tester.pumpWidget (TestZulipApp (accountId: account .id,
6568 child: MessageListPage (initNarrow: narrow)));
6669
6770 // global store, per-account store, and message list get loaded
@@ -551,6 +554,23 @@ void main() {
551554 final expectedLink = narrowLink (store, narrow, nearMessageId: message.id).toString ();
552555 check (await Clipboard .getData ('text/plain' )).isNotNull ().text.equals (expectedLink);
553556 });
557+
558+ testWidgets ('Full Url Testing' , (tester) async {
559+ final message = eg.streamMessage ();
560+ final narrow = TopicNarrow .ofMessage (message);
561+
562+ final customAccount = eg.selfAccount.copyWith (
563+ id: 2 , realmUrl: Uri .parse ('https://chat.example' ));
564+ await setupToMessageActionSheet (
565+ tester, message: message, narrow: narrow, account: customAccount);
566+ final customAccountStore = await testBinding.globalStore.perAccount (customAccount.id);
567+
568+ await tapCopyMessageLinkButton (tester);
569+ await tester.pump (Duration .zero);
570+ final expectedLink = narrowLink (
571+ customAccountStore, narrow, nearMessageId: message.id).toString ();
572+ check (await Clipboard .getData ('text/plain' )).isNotNull ().text.equals (expectedLink);
573+ });
554574 });
555575
556576 group ('ShareButton' , () {
@@ -616,4 +636,4 @@ void main() {
616636 check (mockSharePlus.sharedString).isNull ();
617637 });
618638 });
619- }
639+ }
0 commit comments