videoAttachmentDraft method

Future videoAttachmentDraft({
  1. String? filepath,
})

Implementation

Future<AttachmentDraft> videoAttachmentDraft({String? filepath}) async {
  // ensure attachments exists and permissible to post
  final attachmentsFinder =
      find.byKey(AttachmentSectionWidget.attachmentsKey);
  await attachmentsFinder.should(findsOneWidget);
  final attachmentWidget = attachmentsFinder.evaluate().first.widget
      as FoundAttachmentSectionWidget;
  final attachmentsManager = attachmentWidget.attachmentManager;
  final addAttachmentFinder =
      find.byKey(AttachmentSectionWidget.addAttachmentBtnKey);
  await addAttachmentFinder.should(findsOneWidget);
  //
  final videoFile = await convertAssetImageToXFile(
    filepath ?? 'assets/videos/video.mp4',
  );
  final context = tester.element(addAttachmentFinder);
  final ref = ProviderScope.containerOf(context);
  final client = ref.read(alwaysClientProvider);

  Uint8List bytes = await videoFile.readAsBytes();
  final videoDraft =
      client.videoDraft(videoFile.path, 'video/').size(bytes.length);
  final attachmentDraft = await attachmentsManager.contentDraft(videoDraft);
  return attachmentDraft;
}