pdf_signature/test/features/step/a_signature_asset_is_create...

40 lines
1.2 KiB
Dart

import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/data/model/model.dart';
import '_world.dart';
/// Usage: a signature asset is created
Future<void> aSignatureAssetIsCreated(WidgetTester tester) async {
final container = TestWorld.container ?? ProviderContainer();
TestWorld.container = container;
// Ensure PDF is open
if (!container.read(pdfProvider).loaded) {
container
.read(pdfProvider.notifier)
.openPicked(path: 'mock.pdf', pageCount: 5);
}
// Create a dummy signature asset
final asset = SignatureAsset(
id: 'test_asset',
bytes: Uint8List(100),
name: 'Test Asset',
);
container.read(signatureLibraryProvider.notifier).state = [asset];
// Place it on the current page
final pdf = container.read(pdfProvider);
container
.read(pdfProvider.notifier)
.addPlacement(
page: pdf.currentPage,
rect: Rect.fromLTWH(50, 50, 100, 50),
asset: asset,
);
}